1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage tests.org.w3c.dom;
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargets;
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestLevel;
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetNew;
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport dalvik.annotation.TestTargetClass;
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.DocumentType;
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.Document;
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport org.w3c.dom.DOMImplementation;
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport javax.xml.parsers.DocumentBuilder;
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/**
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The method getInternalSubset() returns the internal subset as a string.
16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Create a new DocumentType node with null values for publicId and systemId.
18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Verify that its internal subset is null.
19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *
20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author IBM
21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @author Neil Delima
22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#ID-Core-DocType-internalSubset">http://www.w3.org/TR/DOM-Level-2-Core/core#ID-Core-DocType-internalSubset</a>
24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @see <a
25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project *      href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=259">http://www.w3.org/Bugs/Public/show_bug.cgi?id=259</a>
26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */
27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project@TestTargetClass(DocumentType.class)
28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class DocumentTypeInternalSubset extends DOMTestCase {
29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DOMDocumentBuilderFactory factory;
31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    DocumentBuilder builder;
33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void setUp() throws Exception {
35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.setUp();
36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        try {
37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project                    .getConfiguration1());
39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            builder = factory.getBuilder();
40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        } catch (Exception e) {
41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            fail("Unexpected exception" + e.getMessage());
42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        }
43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    protected void tearDown() throws Exception {
46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        factory = null;
47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        builder = null;
48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        super.tearDown();
49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    /**
52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * Runs the test case.
53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *
54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     * @throws Throwable
55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     *             Any uncaught exception causes test to fail
56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project     */
57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    @TestTargetNew(
58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        level = TestLevel.PARTIAL,
59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        notes = "Doesn't check positive case.",
60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        method = "getInternalSubset",
61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        args = {}
62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    )
63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    public void testGetInternalSubset() throws Throwable {
64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        Document doc;
65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DocumentType docType;
66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        DOMImplementation domImpl;
67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String internal;
68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        String nullNS = null;
69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        doc = (Document) load("staffNS", builder);
71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        domImpl = doc.getImplementation();
72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        docType = domImpl.createDocumentType("l2:root", nullNS, nullNS);
73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        internal = docType.getInternalSubset();
74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        assertNull("internalSubsetNull", internal);
75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}
77