Version 1
[yaffs-website] / vendor / jcalderonzumba / gastonjs / tests / unit / BrowserPageContentTest.php
diff --git a/vendor/jcalderonzumba/gastonjs/tests/unit/BrowserPageContentTest.php b/vendor/jcalderonzumba/gastonjs/tests/unit/BrowserPageContentTest.php
new file mode 100644 (file)
index 0000000..4c669e3
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+
+namespace Zumba\GastonJS\Tests;
+
+use Zumba\GastonJS\Exception\ObsoleteNode;
+
+/**
+ * Class BrowserPageContentTest
+ * @package Zumba\GastonJS\Tests
+ */
+class BrowserPageContentTest extends BrowserCommandsTestCase {
+
+  public function testAllText() {
+    try {
+      $this->browser->allText(1, 0);
+    } catch (ObsoleteNode $e) {
+    }
+
+    $this->visitUrl($this->getTestPageBaseUrl() . "/static/basic.html");
+    $this->browser->find("xpath", '//*[@id="break"]');
+    $this->assertEquals("Foo Bar", trim($this->browser->allText(1, 0)));
+    $this->browser->find("xpath", '//*[@id="nav"]');
+    $this->assertEquals("Home", trim($this->browser->allText(1, 1)));
+    $this->browser->find("xpath", '/html/body');
+    $text = trim($this->browser->allText(1, 2));
+    //This could be done better, but for the moment is just like this..
+    $this->assertContains("Home", $text);
+    $this->assertContains("Link", $text);
+    $this->assertContains("Foo Bar", $text);
+    $this->assertContains("THIS SHOULD NOT BE SEEN", $text);
+  }
+
+  public function testVisibleText() {
+    $this->testAllText();
+    $this->assertEquals("Foo Bar", trim($this->browser->visibleText(1, 0)));
+    $this->assertEquals("Home", trim($this->browser->visibleText(1, 1)));
+    $text = trim($this->browser->visibleText(1, 2));
+    $this->assertContains("Home", $text);
+    $this->assertContains("Link", $text);
+    $this->assertContains("Foo Bar", $text);
+    $this->assertNotContains("THIS SHOULD NOT BE SEEN", $text);
+  }
+
+  public function testAllHtml() {
+    try {
+      $this->browser->allHtml(1, 0);
+    } catch (ObsoleteNode $e) {
+    }
+
+    $this->visitUrl($this->getTestPageBaseUrl() . "/static/basic.html");
+    $this->browser->find("xpath", '/html/body/ul');
+    $innerHtml = trim($this->browser->allHtml(1, 0, "inner"));
+    $outerHtml = trim($this->browser->allHtml(1, 0, "outer"));
+    $html= '<li><a id="nav" href="/">Home</a></li>';
+    $this->assertXmlStringEqualsXmlString($html, $innerHtml);
+    $this->assertXmlStringEqualsXmlString("<ul>$html</ul>", $outerHtml);
+    $this->assertEmpty($this->browser->allHtml(1, 0, "not_valid"));
+  }
+}