[HtmlUnit] SVN: [14354] trunk/htmlunit/src

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[HtmlUnit] SVN: [14354] trunk/htmlunit/src

asashour-2
Revision: 14354
          http://sourceforge.net/p/htmlunit/code/14354
Author:   asashour
Date:     2017-05-04 12:11:43 +0000 (Thu, 04 May 2017)
Log Message:
-----------
JavaScript: 'hidden' property

Modified Paths:
--------------
    trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java
    trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/Document.java
    trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java
    trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java

Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2017-05-04 12:00:25 UTC (rev 14353)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2017-05-04 12:11:43 UTC (rev 14354)
@@ -268,7 +268,6 @@
      */
     @JsxFunction
     public void alert(final Object message) {
-// System.out.println(message);
         // use Object as parameter and perform String conversion by ourself
         // this allows to place breakpoint here and "see" the message object and its properties
         final String stringMessage = Context.toString(message);

Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/Document.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/Document.java 2017-05-04 12:00:25 UTC (rev 14353)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/Document.java 2017-05-04 12:11:43 UTC (rev 14354)
@@ -1725,4 +1725,13 @@
         setEventHandler("oninput", onchange);
     }
 
+    /**
+     * Returns the {@code hidden} property.
+     * @return the {@code hidden} property
+     */
+    @JsxGetter
+    public boolean getHidden() {
+        return false;
+    }
+
 }

Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java
===================================================================
--- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2017-05-04 12:00:25 UTC (rev 14353)
+++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2017-05-04 12:11:43 UTC (rev 14354)
@@ -2517,4 +2517,27 @@
     public boolean contains(final Object element) {
         return super.contains(element);
     }
+
+    /**
+     * Returns the {@code hidden} property.
+     * @return the {@code hidden} property
+     */
+    @JsxGetter
+    public boolean isHidden() {
+        return getDomNodeOrDie().hasAttribute("hidden");
+    }
+
+    /**
+     * Sets the {@code hidden} property.
+     * @param hidden the {@code hidden} value
+     */
+    @JsxGetter
+    public void setHidden(final boolean hidden) {
+        if (hidden) {
+            getDomNodeOrDie().setAttribute("hidden", "hidden");
+        }
+        else {
+            getDomNodeOrDie().removeAttribute("hidden");
+        }
+    }
 }

Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java
===================================================================
--- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2017-05-04 12:00:25 UTC (rev 14353)
+++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2017-05-04 12:11:43 UTC (rev 14354)
@@ -197,13 +197,11 @@
                 + "<title>test</title>\n"
                 + "<script>\n"
                 + "function doTest() {\n"
-                + "  try {\n"
-                + "    var myNode = document.getElementById('myNode');\n"
-                + "    alert(myNode.getAttributeNS('myNamespaceURI', 'my:foo'));\n"
-                + "    myNode.setAttributeNS('myNamespaceURI', 'my:foo', 'bla');\n"
-                + "    alert(myNode.getAttributeNS('myNamespaceURI', 'foo'));\n"
-                + "    alert(myNode.getAttributeNodeNS('myNamespaceURI', 'foo').specified);\n"
-                + "  } catch (e) { alert('exception'); }\n"
+                + "  var myNode = document.getElementById('myNode');\n"
+                + "  alert(myNode.getAttributeNS('myNamespaceURI', 'my:foo'));\n"
+                + "  myNode.setAttributeNS('myNamespaceURI', 'my:foo', 'bla');\n"
+                + "  alert(myNode.getAttributeNS('myNamespaceURI', 'foo'));\n"
+                + "  alert(myNode.getAttributeNodeNS('myNamespaceURI', 'foo').specified);\n"
                 + "}\n"
                 + "</script>\n"
                 + "</head>\n"
@@ -1134,9 +1132,7 @@
                 + "  <script>\n"
                 + "  function doTest() {\n"
                 + "    var myNode = document.getElementById('myNode');\n"
-                + "    try {\n"
-                + "      alert('Outer = ' + myNode.outerHTML);\n"
-                + "    } catch(e) {alert('exception'); }\n"
+                + "    alert('Outer = ' + myNode.outerHTML);\n"
                 + "  }\n"
                 + "  </script>\n"
                 + "</head>\n"
@@ -1420,11 +1416,9 @@
             + "    var myNode = document.getElementById('myNode');\n"
             + "    var innerNode = document.getElementById('innerNode');\n"
             + "    alert('Old = ' + myNode.innerHTML);\n"
-            + "    try {\n"
-            + "      innerNode.outerHTML = " + newVal + ";\n"
-            + "      alert('New = ' + myNode.innerHTML);\n"
-            + "      alert('Children: ' + myNode.childNodes.length);\n"
-            + "    } catch(e) {alert('exception'); }\n"
+            + "    innerNode.outerHTML = " + newVal + ";\n"
+            + "    alert('New = ' + myNode.innerHTML);\n"
+            + "    alert('Children: ' + myNode.childNodes.length);\n"
             + "  }\n"
             + "  </script>\n"
             + "</head>\n"
@@ -1452,11 +1446,9 @@
                 + "    var myNode = document.getElementById('myNode');\n"
                 + "    document.body.removeChild(myNode);\n"
                 + "    alert('Old = ' + myNode.innerHTML);\n"
-                + "    try {\n"
-                + "      myNode.outerHTML = null;\n"
-                + "      alert('New = ' + myNode.innerHTML);\n"
-                + "      alert('Children: ' + myNode.childNodes.length);\n"
-                + "    } catch(e) {alert('exception'); }\n"
+                + "    myNode.outerHTML = null;\n"
+                + "    alert('New = ' + myNode.innerHTML);\n"
+                + "    alert('Children: ' + myNode.childNodes.length);\n"
                 + "  }\n"
                 + "  </script>\n"
                 + "</head>\n"
@@ -1485,11 +1477,9 @@
                 + "    var myNode = document.getElementById('myNode');\n"
                 + "    document.body.removeChild(myNode);\n"
                 + "    alert('Old = ' + myNode.innerHTML);\n"
-                + "    try {\n"
-                + "      myNode.outerHTML = undefined;\n"
-                + "      alert('New = ' + myNode.innerHTML);\n"
-                + "      alert('Children: ' + myNode.childNodes.length);\n"
-                + "    } catch(e) {alert('exception'); }\n"
+                + "    myNode.outerHTML = undefined;\n"
+                + "    alert('New = ' + myNode.innerHTML);\n"
+                + "    alert('Children: ' + myNode.childNodes.length);\n"
                 + "  }\n"
                 + "  </script>\n"
                 + "</head>\n"
@@ -1518,11 +1508,9 @@
                 + "    var myNode = document.getElementById('myNode');\n"
                 + "    document.body.removeChild(myNode);\n"
                 + "    alert('Old = ' + myNode.innerHTML);\n"
-                + "    try {\n"
-                + "      myNode.outerHTML = '';\n"
-                + "      alert('New = ' + myNode.innerHTML);\n"
-                + "      alert('Children: ' + myNode.childNodes.length);\n"
-                + "    } catch(e) {alert('exception'); }\n"
+                + "    myNode.outerHTML = '';\n"
+                + "    alert('New = ' + myNode.innerHTML);\n"
+                + "    alert('Children: ' + myNode.childNodes.length);\n"
                 + "  }\n"
                 + "  </script>\n"
                 + "</head>\n"
@@ -1551,11 +1539,9 @@
                 + "    var myNode = document.getElementById('myNode');\n"
                 + "    document.body.removeChild(myNode);\n"
                 + "    alert('Old = ' + myNode.innerHTML);\n"
-                + "    try {\n"
-                + "      myNode.outerHTML = '';\n"
-                + "      alert('New = ' + myNode.innerHTML);\n"
-                + "      alert('Children: ' + myNode.childNodes.length);\n"
-                + "    } catch(e) {alert('exception'); }\n"
+                + "    myNode.outerHTML = '';\n"
+                + "    alert('New = ' + myNode.innerHTML);\n"
+                + "    alert('Children: ' + myNode.childNodes.length);\n"
                 + "  }\n"
                 + "  </script>\n"
                 + "</head>\n"
@@ -1584,11 +1570,9 @@
                 + "    var myNode = document.getElementById('myNode');\n"
                 + "    document.body.removeChild(myNode);\n"
                 + "    alert('Old = ' + myNode.innerHTML);\n"
-                + "    try {\n"
-                + "      myNode.outerHTML = '<p>test</p>';\n"
-                + "      alert('New = ' + myNode.innerHTML);\n"
-                + "      alert('Children: ' + myNode.childNodes.length);\n"
-                + "    } catch(e) {alert('exception'); }\n"
+                + "    myNode.outerHTML = '<p>test</p>';\n"
+                + "    alert('New = ' + myNode.innerHTML);\n"
+                + "    alert('Children: ' + myNode.childNodes.length);\n"
                 + "  }\n"
                 + "  </script>\n"
                 + "</head>\n"
@@ -1722,7 +1706,6 @@
         final String html = "<html><body>\n"
             + "<div id='myDiv'><br/><div><span>test</span></div></div>\n"
             + "<script>\n"
-            + "try {\n"
             + "  var oDiv = document.getElementById('myDiv');\n"
             + "  for (var i = 0; i < oDiv.children.length; i++) {\n"
             + "    alert(oDiv.children[i].tagName);\n"
@@ -1731,7 +1714,6 @@
             + "  alert(oCol.length);\n"
             + "  oDiv.insertAdjacentHTML('beforeEnd', '<br>');\n"
             + "  alert(oCol.length);\n"
-            + "} catch(e) { alert('exception'); }\n"
             + "</script></body></html>";
         loadPageWithAlerts2(html);
     }
@@ -2117,13 +2099,11 @@
     public void offsetParent_newElement() throws Exception {
         final String html = "<html><body>\n"
             + "<script>\n"
-            + "try {\n"
             + "  var oNew = document.createElement('span');\n"
             + "  alert(oNew.offsetParent);\n"
-            + "} catch(e) { alert('exception') }\n"
-            + "var fragment = document.createDocumentFragment();\n"
-            + "fragment.appendChild(oNew);\n"
-            + "alert(oNew.offsetParent);\n"
+            + "  var fragment = document.createDocumentFragment();\n"
+            + "  fragment.appendChild(oNew);\n"
+            + "  alert(oNew.offsetParent);\n"
             + "</script>\n"
             + "</body></html>";
         loadPageWithAlerts2(html);
@@ -2226,21 +2206,19 @@
         final String html = "<html><head><title>Prototype test</title>\n"
             + "<script>\n"
             + "function test() {\n"
-            + "  try {\n"
-            + "    var d = document.getElementById('foo');\n"
-            + "    alert(d.foo);\n"
-            + "    alert(d.myFunction);\n"
-            + "    var link = document.getElementById('testLink');\n"
-            + "    alert(link.foo);\n"
-            + "    alert(link.myFunction);\n"
-            + "    HTMLElement.prototype.foo = 123;\n"
-            + "    alert(HTMLElement.foo);\n"
-            + "    HTMLElement.prototype.myFunction = function() { return 'from myFunction'; };\n"
-            + "    alert(d.foo);\n"
-            + "    alert(d.myFunction());\n"
-            + "    alert(link.foo);\n"
-            + "    alert(link.myFunction());\n"
-            + "  } catch (e) { alert('exception'); }\n"
+            + "  var d = document.getElementById('foo');\n"
+            + "  alert(d.foo);\n"
+            + "  alert(d.myFunction);\n"
+            + "  var link = document.getElementById('testLink');\n"
+            + "  alert(link.foo);\n"
+            + "  alert(link.myFunction);\n"
+            + "  HTMLElement.prototype.foo = 123;\n"
+            + "  alert(HTMLElement.foo);\n"
+            + "  HTMLElement.prototype.myFunction = function() { return 'from myFunction'; };\n"
+            + "  alert(d.foo);\n"
+            + "  alert(d.myFunction());\n"
+            + "  alert(link.foo);\n"
+            + "  alert(link.myFunction());\n"
             + "}\n"
             + "</script></head><body onload='test()''>\n"
             + "<div id='foo'>bla</div>\n"
@@ -2259,12 +2237,10 @@
     public void prototype_Element() throws Exception {
         final String html = "<html><head><title>foo</title><script>\n"
             + "function test() {\n"
-            + "  try {\n"
-            + "    Element.prototype.selectNodes = function(sExpr){\n"
-            + "      alert('in selectNodes');\n"
-            + "    }\n"
-            + "    document.getElementById('myDiv').selectNodes();\n"
-            + "  } catch (e) { alert('exception'); }\n"
+            + "  Element.prototype.selectNodes = function(sExpr){\n"
+            + "    alert('in selectNodes');\n"
+            + "  }\n"
+            + "  document.getElementById('myDiv').selectNodes();\n"
             + "}\n"
             + "</script></head><body onload='test()'>\n"
             + "  <div id='myDiv'></div>\n"
@@ -2281,12 +2257,10 @@
         final String html = "<html><head><title>instanceof test</title>\n"
             + "<script>\n"
             + "function test() {\n"
-            + "  try {\n"
-            + "    var d = document.getElementById('foo');\n"
-            + "    alert(d instanceof HTMLDivElement);\n"
-            + "    var link = document.getElementById('testLink');\n"
-            + "    alert(link instanceof HTMLAnchorElement);\n"
-            + "  } catch (e) { alert('exception'); }\n"
+            + "  var d = document.getElementById('foo');\n"
+            + "  alert(d instanceof HTMLDivElement);\n"
+            + "  var link = document.getElementById('testLink');\n"
+            + "  alert(link instanceof HTMLAnchorElement);\n"
             + "}\n"
             + "</script></head><body onload='test()''>\n"
             + "<div id='foo'>bla</div>\n"
@@ -2415,11 +2389,9 @@
     public void getBoundingClientRect() throws Exception {
         final String html = "<html><body>\n"
             + "<div id='div1'>hello</div><script>\n"
-            + "try {\n"
             + "  var d1 = document.getElementById('div1');\n"
             + "  var pos = d1.getBoundingClientRect();\n"
             + "  alert(pos);\n"
-            + "} catch (e) { alert('exception');}\n"
             + "</script></body></html>";
         loadPageWithAlerts2(html);
     }
@@ -2432,12 +2404,10 @@
     public void getBoundingClientRect2() throws Exception {
         final String html = "<html><head><title>foo</title><script>\n"
             + "  function test() {\n"
-            + "    try {\n"
             + "    var d1 = document.getElementById('div1');\n"
             + "    var pos = d1.getBoundingClientRect();\n"
             + "    alert(pos.left);\n"
             + "    alert(pos.top);\n"
-            + "    } catch (e) { alert('exception');}\n"
             + "  }\n"
             + "</script></head><body onload='test()'>\n"
             + "<div id='outer' style='position: absolute; left: 400px; top: 100px; width: 50px; height: 80px;'>"
@@ -2454,7 +2424,6 @@
     public void getBoundingClientRect_Scroll() throws Exception {
         final String html = "<html><head><title>foo</title><script>\n"
             + "  function test() {\n"
-            + "    try {\n"
             + "      var d1 = document.getElementById('outer');\n"
             + "      d1.scrollTop=150;\n"
             + "      var pos = d1.getBoundingClientRect();\n"
@@ -2465,7 +2434,6 @@
             + "      pos = d1.getBoundingClientRect();\n"
             + "      alert(pos.left);\n"
             + "      alert(pos.top);\n"
-            + "    } catch (e) { alert('exception');}\n"
             + "  }\n"
             + "</script></head>\n"
             + "<body onload='test()'>\n"
@@ -2540,13 +2508,8 @@
             "<html><head><title>foo</title><script>\n"
             + "  function test() {\n"
             + "    var d1 = document.createElement('div');\n"
-            + "    try {\n"
-            + "      alert(d1.getClientRects());\n"
-            + "    } catch(e) { alert('exception'); }\n"
-
-            + "    try {\n"
-            + "      alert(d1.getClientRects().length);\n"
-            + "    } catch(e) { alert('exception'); }\n"
+            + "    alert(d1.getClientRects());\n"
+            + "    alert(d1.getClientRects().length);\n"
             + "  }\n"
             + "</script></head>\n"
             + "<body onload='test()'>\n"
@@ -2571,13 +2534,8 @@
             + "  }\n"
             + "\n"
             + "  function display(elem) {\n"
-            + "    try {\n"
-            + "      alert(elem.getClientRects());\n"
-            + "    } catch(e) { alert('exception'); }\n"
-
-            + "    try {\n"
-            + "      alert(elem.getClientRects().length);\n"
-            + "    } catch(e) { alert('exception'); }\n"
+            + "    alert(elem.getClientRects());\n"
+            + "    alert(elem.getClientRects().length);\n"
             + "  }\n"
             + "</script></head>\n"
             + "<body onload='test()'>\n"
@@ -2736,12 +2694,10 @@
             "<html><head>\n"
             + "<script>\n"
             + "function foo() {\n"
-            + "  try {\n"
-            + "    var e = document.createEvent('MouseEvents');\n"
-            + "    e.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n"
-            + "    var d = document.getElementById('d');\n"
-            + "    var canceled = !d.dispatchEvent(e);\n"
-            + "  } catch(e) { alert('exception'); }\n"
+            + "  var e = document.createEvent('MouseEvents');\n"
+            + "  e.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n"
+            + "  var d = document.getElementById('d');\n"
+            + "  var canceled = !d.dispatchEvent(e);\n"
             + "}\n"
             + "</script></head>\n"
             + "<body onload='foo()'><div id='d' onclick='alert(\"clicked\")'>foo</div></body>\n"
@@ -2763,11 +2719,9 @@
             + "  <span id='foo'/>\n"
             + "</form>\n"
             + "<script>\n"
-            + "  try {\n"
-            + "    var e = document.createEvent('HTMLEvents');\n"
-            + "    e.initEvent('submit', true, false);\n"
-            + "    document.getElementById('theForm').dispatchEvent(e);\n"
-            + "  } catch(e) { alert('exception'); }\n"
+            + "  var e = document.createEvent('HTMLEvents');\n"
+            + "  e.initEvent('submit', true, false);\n"
+            + "  document.getElementById('theForm').dispatchEvent(e);\n"
             + "</script>\n"
             + "</body></html>";
 
@@ -2808,12 +2762,10 @@
             + "<head>\n"
             + "<script>\n"
             + "  function test() {\n"
-            + "    try {\n"
-            + "      var elt = document.body;\n"
-            + "      alert(elt.hasAttribute('onload'));\n"
-            + "      alert(elt.hasAttribute('onLoad'));\n"
-            + "      alert(elt.hasAttribute('foo'));\n"
-            + "    } catch(e) { alert('exception'); }\n"
+            + "    var elt = document.body;\n"
+            + "    alert(elt.hasAttribute('onload'));\n"
+            + "    alert(elt.hasAttribute('onLoad'));\n"
+            + "    alert(elt.hasAttribute('foo'));\n"
             + "  }\n"
             + "</script>\n"
             + "</head>\n"
@@ -2834,10 +2786,8 @@
             + "<head>\n"
             + "<script>\n"
             + "  function test() {\n"
-            + "    try {\n"
-            + "      var elt = document.body;\n"
-            + "      alert(typeof elt.hasAttribute);\n"
-            + "    } catch(e) { alert('exception'); }\n"
+            + "    var elt = document.body;\n"
+            + "    alert(typeof elt.hasAttribute);\n"
             + "  }\n"
             + "</script>\n"
             + "</head>\n"
@@ -2857,13 +2807,11 @@
             + "<head>\n"
             + "<script>\n"
             + "  function test() {\n"
-            + "    try {\n"
-            + "      var elt = document.body;\n"
-            + "      alert(typeof elt.hasAttribute);\n"
-            + "      alert(elt.hasAttribute('onload'));\n"
-            + "      alert(elt.hasAttribute('onLoad'));\n"
-            + "      alert(elt.hasAttribute('foo'));\n"
-            + "    } catch(e) { alert('exception'); }\n"
+            + "    var elt = document.body;\n"
+            + "    alert(typeof elt.hasAttribute);\n"
+            + "    alert(elt.hasAttribute('onload'));\n"
+            + "    alert(elt.hasAttribute('onLoad'));\n"
+            + "    alert(elt.hasAttribute('foo'));\n"
             + "  }\n"
             + "</script>\n"
             + "</head>\n"
@@ -3241,15 +3189,12 @@
             + "  var b = document.body;\n"
             + "  var div1 = document.getElementById('div1');\n"
             + "  alert(typeof document.body.getElementsByClassName);\n"
-            + "  try {\n"
-            + "    test('*');\n"
-            + "    test('foo');\n"
-            + "    test('foo red');\n"
-            + "    test('red foo');\n"
-            + "    test('blue foo');\n"
-            + "    test(null);\n"
-            + "  }\n"
-            + "  catch (e) { alert('exception') }\n"
+            + "  test('*');\n"
+            + "  test('foo');\n"
+            + "  test('foo red');\n"
+            + "  test('red foo');\n"
+            + "  test('blue foo');\n"
+            + "  test(null);\n"
             + "}\n"
             + "</script></head><body onload='doTest()'>\n"
             + "<div class='foo' id='div1'>\n"
@@ -3785,12 +3730,10 @@
             + "      var parser=new DOMParser();\n"
             + "      var doc=parser.parseFromString(text,'text/xml');\n"
             + "    }\n"
-            + "    try {\n"
-            + "      var elem = doc.documentElement.getElementsByTagName('html').item(0);\n"
-            + "      alert(elem.getAttribute('hi'));\n"
-            + "      elem.setAttribute('hi', 'ho');\n"
-            + "      alert(elem.getAttribute('hi'));\n"
-            + "    } catch (e) { alert('exception'); }\n"
+            + "    var elem = doc.documentElement.getElementsByTagName('html').item(0);\n"
+            + "    alert(elem.getAttribute('hi'));\n"
+            + "    elem.setAttribute('hi', 'ho');\n"
+            + "    alert(elem.getAttribute('hi'));\n"
             + "  }\n"
             + "</script></head><body onload='test()'>\n"
             + "</body></html>";
@@ -3805,12 +3748,10 @@
     @Alerts({"[object Text]", "[object Text]"})
     public void textContentShouldNotDetachNestedNode() throws Exception {
         final String html = "<html><body><div><div id='it'>foo</div></div><script>\n"
-            + "try {\n"
             + "  var elt = document.getElementById('it');\n"
             + "  alert(elt.firstChild);\n"
             + "  elt.parentNode.textContent = '';\n"
             + "  alert(elt.firstChild);\n"
-            + "} catch (e) { alert('exception'); }\n"
             + "</script></body></html>";
 
         loadPageWithAlerts2(html);
@@ -3901,20 +3842,15 @@
      */
     @Test
     @Alerts("declared")
-    // IE8 does not support appendChild for script elements
     public void appendChildDeclareJavaScript() throws Exception {
         final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
             + "<html><head><title>foo</title><script>\n"
             + "  function test() {\n"
             + "    var newnode = document.createElement('script');\n"
-            + "    try {\n"
-            + "      newnode.appendChild(document.createTextNode('function tester() { alerter(); }'));\n"
-            + "      var outernode = document.getElementById('myNode');\n"
-            + "      outernode.appendChild(newnode);\n"
-            + "      try {\n"
-            + "        tester();\n"
-            + "      } catch(e) { alert('exception'); }\n"
-            + "    } catch(e) { alert('exception-append'); }\n"
+            + "    newnode.appendChild(document.createTextNode('function tester() { alerter(); }'));\n"
+            + "    var outernode = document.getElementById('myNode');\n"
+            + "    outernode.appendChild(newnode);\n"
+            + "    tester();\n"
             + "  }\n"
             + "  function alerter() {\n"
             + "    alert('declared');\n"
@@ -3984,20 +3920,15 @@
      */
     @Test
     @Alerts("declared")
-    // IE8 does not support appendChild for script elements
     public void insertBeforeDeclareJavaScript() throws Exception {
         final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
             + "<html><head><title>foo</title><script>\n"
             + "  function test() {\n"
             + "    var newnode = document.createElement('script');\n"
-            + "    try {\n"
-            + "      newnode.appendChild(document.createTextNode('function tester() { alerter(); }'));\n"
-            + "      var outernode = document.getElementById('myNode');\n"
-            + "      outernode.insertBefore(newnode, null);\n"
-            + "      try {\n"
-            + "        tester();\n"
-            + "      } catch(e) { alert('exception'); }\n"
-            + "    } catch(e) { alert('exception-append'); }\n"
+            + "    newnode.appendChild(document.createTextNode('function tester() { alerter(); }'));\n"
+            + "    var outernode = document.getElementById('myNode');\n"
+            + "    outernode.insertBefore(newnode, null);\n"
+            + "    tester();\n"
             + "  }\n"
             + "  function alerter() {\n"
             + "    alert('declared');\n"
@@ -4067,20 +3998,15 @@
      */
     @Test
     @Alerts("declared")
-    // IE8 does not support appendChild for script elements
     public void replaceChildDeclareJavaScript() throws Exception {
         final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_
             + "<html><head><title>foo</title><script>\n"
             + "  function test() {\n"
             + "    var newnode = document.createElement('script');\n"
-            + "    try {\n"
-            + "      newnode.appendChild(document.createTextNode('function tester() { alerter(); }'));\n"
-            + "      var outernode = document.getElementById('myNode');\n"
-            + "      outernode.replaceChild(newnode, document.getElementById('inner'));\n"
-            + "      try {\n"
-            + "        tester();\n"
-            + "      } catch(e) { alert('exception'); }\n"
-            + "    } catch(e) { alert('exception-append'); }\n"
+            + "    newnode.appendChild(document.createTextNode('function tester() { alerter(); }'));\n"
+            + "    var outernode = document.getElementById('myNode');\n"
+            + "    outernode.replaceChild(newnode, document.getElementById('inner'));\n"
+            + "    tester();\n"
             + "  }\n"
             + "  function alerter() {\n"
             + "    alert('declared');\n"
@@ -4333,15 +4259,11 @@
             + "<html><head><title>foo</title><script>\n"
             + "  function test() {\n"
             + "    var newnode = document.createElement('script');\n"
-            + "    try {\n"
-            + "      newnode.appendChild(document.createTextNode('function tester() { alerter(); }'));\n"
-            + "      var outernode = document.getElementById('myNode');\n"
-            + "      if (!outernode.insertAdjacentElement) { alert('insertAdjacentElement not available'); return }\n"
-            + "      outernode.insertAdjacentElement('afterend', newnode);\n"
-            + "      try {\n"
-            + "        tester();\n"
-            + "      } catch(e) { alert('exception'); }\n"
-            + "    } catch(e) { alert('exception-append'); }\n"
+            + "    newnode.appendChild(document.createTextNode('function tester() { alerter(); }'));\n"
+            + "    var outernode = document.getElementById('myNode');\n"
+            + "    if (!outernode.insertAdjacentElement) { alert('insertAdjacentElement not available'); return }\n"
+            + "    outernode.insertAdjacentElement('afterend', newnode);\n"
+            + "    tester();\n"
             + "  }\n"
             + "  function alerter() {\n"
             + "    alert('declared');\n"
@@ -4722,4 +4644,28 @@
         loadPageWithAlerts2(html);
     }
 
+    /**
+     * @throws Exception if the test fails
+     */
+    @Test
+    @Alerts({"false", "false"})
+    public void hidden() throws Exception {
+        final String html =
+            "<html><head><script>\n"
+            + "  function test() {\n"
+            + "    var d1 = document.getElementById('div1');\n"
+            + "    alert(d1.hidden);\n"
+            + "    var d2 = document.getElementById('div2');\n"
+            + "    alert(d2.hidden);\n"
+            + "  }\n"
+            + "</script></head>\n"
+            + "<body onload='test()'>\n"
+            + "  <div id='div1' style='display: none'>\n"
+            + "  </div>\n"
+            + "  <div id='div2' />\n"
+            + "</body></html>";
+
+        loadPageWithAlerts2(html);
+    }
+
 }


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
HtmlUnit-develop mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/htmlunit-develop