Nette tester – jak zjisiti textvový obsah odkazu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
motorcb
Člen | 552
+
0
-

Zdravím,

Mám následující html:

<div id="storno">
   <a type="button" href="/storno/1">STORNO</a>
</div>
Assert::true( $dom->has( "div#storno a[type='button']" ) );

Jak napíšu test pro zjištění zda „div#storno a[type=‚button‘]“ obsahuje text STORNO?

iguana007
Člen | 970
+
0
-

Tester neznám, ale dle API by to mělo umět zpracovat i XPath, tak zkus:

Assert::true( $dom->has( "//div[contains(@id,'storno')]/a[text()='STORNO']" ) );
Milo
Nette Core | 1283
+
+3
-

Třída Tester\DomQuery dědí z SimpleXMLElement a přidává mu vychytávky, jako hledání CSS třídou a pod. Obsah elementu můžeš testovat třeba takto:

$el = $dom->find("div#storno a[type='button']");
Assert::count(1, $el);
Assert::same('STORNO', (string) $el[0]);

Editoval Milo (27. 8. 2014 15:42)