diff options
Diffstat (limited to 'src/test/java/com/android/xsdc/cpp/TestCppCodeGenerator.java')
-rw-r--r-- | src/test/java/com/android/xsdc/cpp/TestCppCodeGenerator.java | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/src/test/java/com/android/xsdc/cpp/TestCppCodeGenerator.java b/src/test/java/com/android/xsdc/cpp/TestCppCodeGenerator.java index 20dca83..6106696 100644 --- a/src/test/java/com/android/xsdc/cpp/TestCppCodeGenerator.java +++ b/src/test/java/com/android/xsdc/cpp/TestCppCodeGenerator.java @@ -17,6 +17,7 @@ package com.android.xsdc.cpp; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import com.android.xsdc.FileSystem; @@ -60,7 +61,8 @@ public class TestCppCodeGenerator { /*writer=*/ true, CppCodeGenerator.GENERATE_PARSER, false, - false); + false, + null); FileSystem fs = new FileSystem(files); gen.print(fs); @@ -78,7 +80,8 @@ public class TestCppCodeGenerator { false, CppCodeGenerator.GENERATE_PARSER, false, - false); + false, + null); FileSystem fs = new FileSystem(files); gen.print(fs); @@ -97,7 +100,8 @@ public class TestCppCodeGenerator { false, CppCodeGenerator.GENERATE_PARSER | CppCodeGenerator.GENERATE_ENUMS, false, - false); + false, + null); FileSystem fs = new FileSystem(files); gen.print(fs); @@ -120,4 +124,27 @@ public class TestCppCodeGenerator { parser.parse(new ByteArrayInputStream(bytes), xsdHandler); return xsdHandler.getSchema(); } + + @Test + public void generateParsersForSpecifiedRoot() throws Exception { + Map<String, StringBuffer> files = new TreeMap<>(); + String schema = "<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n" + + " <xs:element name=\"root1\" type=\"xs:string\" />\n" + + " <xs:element name=\"root2\" type=\"xs:string\" />\n" + + "</xs:schema>"; + CppCodeGenerator gen = + new CppCodeGenerator( + parseSchema(schema), + "com.abc", + false, + CppCodeGenerator.GENERATE_PARSER | CppCodeGenerator.GENERATE_ENUMS, + false, + false, + new String[]{"root1"}); + + FileSystem fs = new FileSystem(files); + gen.print(fs); + assertTrue(files.get("com_abc.cpp").toString().contains("readRoot1")); + assertFalse(files.get("com_abc.cpp").toString().contains("readRoot2")); + } } |