Version 1
[yaffs-website] / vendor / jcalderonzumba / gastonjs / tests / unit / BrowserPageContentTest.php
1 <?php
2
3 namespace Zumba\GastonJS\Tests;
4
5 use Zumba\GastonJS\Exception\ObsoleteNode;
6
7 /**
8  * Class BrowserPageContentTest
9  * @package Zumba\GastonJS\Tests
10  */
11 class BrowserPageContentTest extends BrowserCommandsTestCase {
12
13   public function testAllText() {
14     try {
15       $this->browser->allText(1, 0);
16     } catch (ObsoleteNode $e) {
17     }
18
19     $this->visitUrl($this->getTestPageBaseUrl() . "/static/basic.html");
20     $this->browser->find("xpath", '//*[@id="break"]');
21     $this->assertEquals("Foo Bar", trim($this->browser->allText(1, 0)));
22     $this->browser->find("xpath", '//*[@id="nav"]');
23     $this->assertEquals("Home", trim($this->browser->allText(1, 1)));
24     $this->browser->find("xpath", '/html/body');
25     $text = trim($this->browser->allText(1, 2));
26     //This could be done better, but for the moment is just like this..
27     $this->assertContains("Home", $text);
28     $this->assertContains("Link", $text);
29     $this->assertContains("Foo Bar", $text);
30     $this->assertContains("THIS SHOULD NOT BE SEEN", $text);
31   }
32
33   public function testVisibleText() {
34     $this->testAllText();
35     $this->assertEquals("Foo Bar", trim($this->browser->visibleText(1, 0)));
36     $this->assertEquals("Home", trim($this->browser->visibleText(1, 1)));
37     $text = trim($this->browser->visibleText(1, 2));
38     $this->assertContains("Home", $text);
39     $this->assertContains("Link", $text);
40     $this->assertContains("Foo Bar", $text);
41     $this->assertNotContains("THIS SHOULD NOT BE SEEN", $text);
42   }
43
44   public function testAllHtml() {
45     try {
46       $this->browser->allHtml(1, 0);
47     } catch (ObsoleteNode $e) {
48     }
49
50     $this->visitUrl($this->getTestPageBaseUrl() . "/static/basic.html");
51     $this->browser->find("xpath", '/html/body/ul');
52     $innerHtml = trim($this->browser->allHtml(1, 0, "inner"));
53     $outerHtml = trim($this->browser->allHtml(1, 0, "outer"));
54     $html= '<li><a id="nav" href="/">Home</a></li>';
55     $this->assertXmlStringEqualsXmlString($html, $innerHtml);
56     $this->assertXmlStringEqualsXmlString("<ul>$html</ul>", $outerHtml);
57     $this->assertEmpty($this->browser->allHtml(1, 0, "not_valid"));
58   }
59 }