| Index: user/test/com/google/gwt/user/client/ui/DOMTest.java |
| diff --git a/user/test/com/google/gwt/user/client/ui/DOMTest.java b/user/test/com/google/gwt/user/client/ui/DOMTest.java |
| index 17e09b99f239569c2d59b8588208ca34990141c9..cb5f5c66e21001f4ad94dad1149506cc0be641d2 100644 |
| --- a/user/test/com/google/gwt/user/client/ui/DOMTest.java |
| +++ b/user/test/com/google/gwt/user/client/ui/DOMTest.java |
| @@ -20,6 +20,7 @@ import com.google.gwt.core.client.GWT.UncaughtExceptionHandler; |
| import com.google.gwt.dom.client.BodyElement; |
| import com.google.gwt.dom.client.Document; |
| import com.google.gwt.dom.client.NativeEvent; |
| +import com.google.gwt.dom.client.Text; |
| import com.google.gwt.event.dom.client.ClickEvent; |
| import com.google.gwt.event.dom.client.ClickHandler; |
| import com.google.gwt.junit.DoNotRunWith; |
| @@ -269,20 +270,45 @@ public class DOMTest extends GWTTestCase { |
| * across browsers. |
| */ |
| public void testIsOrHasChild() { |
| + Document doc = Document.get(); |
| Element div = DOM.createDiv(); |
| Element childDiv = DOM.createDiv(); |
| - |
| - assertFalse(DOM.isOrHasChild(div, childDiv)); |
| - assertTrue(DOM.isOrHasChild(div, div)); |
| - |
| - DOM.appendChild(div, childDiv); |
| - assertTrue(DOM.isOrHasChild(div, childDiv)); |
| - assertFalse(DOM.isOrHasChild(childDiv, div)); |
| - |
| + Text text = Document.get().createTextNode("text"); |
| + |
| + // unattached, not related |
| + assertFalse(div.isOrHasChild(childDiv)); |
| + assertFalse(div.isOrHasChild(text)); |
| + assertTrue(div.isOrHasChild(div)); |
| + assertTrue(text.isOrHasChild(text)); |
| + assertFalse(doc.isOrHasChild(div)); |
| + assertFalse(doc.isOrHasChild(text)); |
| + assertFalse(div.isOrHasChild(doc)); |
| + assertFalse(text.isOrHasChild(doc)); |
| + |
| + // unattached, related |
| + div.appendChild(childDiv); |
| + childDiv.appendChild(text); |
| + assertTrue(div.isOrHasChild(childDiv)); |
| + assertTrue(childDiv.isOrHasChild(text)); |
| + assertFalse(childDiv.isOrHasChild(div)); |
| + assertFalse(text.isOrHasChild(childDiv)); |
| + assertFalse(doc.isOrHasChild(div)); |
| + assertFalse(doc.isOrHasChild(text)); |
| + assertFalse(div.isOrHasChild(doc)); |
| + assertFalse(text.isOrHasChild(doc)); |
| + |
| + // attached, related |
| DOM.appendChild(RootPanel.getBodyElement(), div); |
| - assertTrue(DOM.isOrHasChild(div, childDiv)); |
| - assertTrue(DOM.isOrHasChild(div, div)); |
| - assertFalse(DOM.isOrHasChild(childDiv, div)); |
| + assertTrue(div.isOrHasChild(childDiv)); |
| + assertTrue(childDiv.isOrHasChild(text)); |
| + assertTrue(div.isOrHasChild(div)); |
| + assertTrue(text.isOrHasChild(text)); |
| + assertFalse(childDiv.isOrHasChild(div)); |
| + assertFalse(text.isOrHasChild(childDiv)); |
| + assertTrue(doc.isOrHasChild(div)); |
| + assertTrue(doc.isOrHasChild(text)); |
| + assertFalse(div.isOrHasChild(Document.get())); |
| + assertFalse(text.isOrHasChild(Document.get())); |
| } |
| /** |