diff options
author | Jooyung Han <jooyung@google.com> | 2022-11-30 22:05:11 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-11-30 22:05:11 +0000 |
commit | d5ffe0db1e01bf49781a376ad4297add05955156 (patch) | |
tree | 73cecaaaebd9d0e2a7d0a2d5ac731aa7b74eb0e1 | |
parent | dd1481b82a0c92d1c48313ff8946c3e6ddbae7d9 (diff) | |
parent | 212e17dff82902cdb544afd22370df0ab70f8c1d (diff) | |
download | xsdc-d5ffe0db1e01bf49781a376ad4297add05955156.tar.gz |
Setup unittest am: aecb36f209 am: 212e17dff8
Original change: https://android-review.googlesource.com/c/platform/system/tools/xsdc/+/2321063
Change-Id: I91b4a3510ba75dac95390bf54aae003ed21d032d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | Android.bp | 18 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/CodeWriter.java (renamed from src/com/android/xsdc/CodeWriter.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/FileSystem.java (renamed from src/com/android/xsdc/FileSystem.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/Main.java (renamed from src/com/android/xsdc/Main.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/XmlSchema.java (renamed from src/com/android/xsdc/XmlSchema.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/XsdConstants.java (renamed from src/com/android/xsdc/XsdConstants.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/XsdHandler.java (renamed from src/com/android/xsdc/XsdHandler.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/XsdParserException.java (renamed from src/com/android/xsdc/XsdParserException.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/cpp/CppCodeGenerator.java (renamed from src/com/android/xsdc/cpp/CppCodeGenerator.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/cpp/CppCodeGeneratorException.java (renamed from src/com/android/xsdc/cpp/CppCodeGeneratorException.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/cpp/CppComplexType.java (renamed from src/com/android/xsdc/cpp/CppComplexType.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/cpp/CppSimpleType.java (renamed from src/com/android/xsdc/cpp/CppSimpleType.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/cpp/CppType.java (renamed from src/com/android/xsdc/cpp/CppType.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/cpp/Utils.java (renamed from src/com/android/xsdc/cpp/Utils.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/java/JavaCodeGenerator.java (renamed from src/com/android/xsdc/java/JavaCodeGenerator.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/java/JavaCodeGeneratorException.java (renamed from src/com/android/xsdc/java/JavaCodeGeneratorException.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/java/JavaComplexType.java (renamed from src/com/android/xsdc/java/JavaComplexType.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/java/JavaSimpleType.java (renamed from src/com/android/xsdc/java/JavaSimpleType.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/java/JavaType.java (renamed from src/com/android/xsdc/java/JavaType.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/java/Utils.java (renamed from src/com/android/xsdc/java/Utils.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/Nullability.java (renamed from src/com/android/xsdc/tag/Nullability.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdAll.java (renamed from src/com/android/xsdc/tag/XsdAll.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdAttribute.java (renamed from src/com/android/xsdc/tag/XsdAttribute.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdAttributeGroup.java (renamed from src/com/android/xsdc/tag/XsdAttributeGroup.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdChoice.java (renamed from src/com/android/xsdc/tag/XsdChoice.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdComplexContent.java (renamed from src/com/android/xsdc/tag/XsdComplexContent.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdComplexType.java (renamed from src/com/android/xsdc/tag/XsdComplexType.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdElement.java (renamed from src/com/android/xsdc/tag/XsdElement.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdEnumRestriction.java (renamed from src/com/android/xsdc/tag/XsdEnumRestriction.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdEnumeration.java (renamed from src/com/android/xsdc/tag/XsdEnumeration.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdGeneralExtension.java (renamed from src/com/android/xsdc/tag/XsdGeneralExtension.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdGeneralRestriction.java (renamed from src/com/android/xsdc/tag/XsdGeneralRestriction.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdGroup.java (renamed from src/com/android/xsdc/tag/XsdGroup.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdList.java (renamed from src/com/android/xsdc/tag/XsdList.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdRestriction.java (renamed from src/com/android/xsdc/tag/XsdRestriction.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdSimpleContent.java (renamed from src/com/android/xsdc/tag/XsdSimpleContent.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdSimpleType.java (renamed from src/com/android/xsdc/tag/XsdSimpleType.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdTag.java (renamed from src/com/android/xsdc/tag/XsdTag.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdType.java (renamed from src/com/android/xsdc/tag/XsdType.java) | 0 | ||||
-rw-r--r-- | src/main/java/com/android/xsdc/tag/XsdUnion.java (renamed from src/com/android/xsdc/tag/XsdUnion.java) | 0 | ||||
-rw-r--r-- | src/test/kotlin/TestCppCodeGenerator.kt | 94 |
41 files changed, 111 insertions, 1 deletions
@@ -4,9 +4,25 @@ package { java_binary_host { name: "xsdc", - srcs: ["src/**/*.java"], + srcs: [ + "src/main/java/**/*.java", + ], static_libs: [ "commons-cli-1.2", ], manifest: "MANIFEST.MF" } + +java_test_host { + name: "xsdc-unittest", + srcs: [ + "src/test/java/**/*.java", + "src/test/kotlin/**/*.kt", + ], + static_libs: [ + "commons-cli-1.2", + "kotlin-test", + "junit", + "xsdc", + ], +} diff --git a/src/com/android/xsdc/CodeWriter.java b/src/main/java/com/android/xsdc/CodeWriter.java index 489ccdc..489ccdc 100644 --- a/src/com/android/xsdc/CodeWriter.java +++ b/src/main/java/com/android/xsdc/CodeWriter.java diff --git a/src/com/android/xsdc/FileSystem.java b/src/main/java/com/android/xsdc/FileSystem.java index 2d746f3..2d746f3 100644 --- a/src/com/android/xsdc/FileSystem.java +++ b/src/main/java/com/android/xsdc/FileSystem.java diff --git a/src/com/android/xsdc/Main.java b/src/main/java/com/android/xsdc/Main.java index c85cdc1..c85cdc1 100644 --- a/src/com/android/xsdc/Main.java +++ b/src/main/java/com/android/xsdc/Main.java diff --git a/src/com/android/xsdc/XmlSchema.java b/src/main/java/com/android/xsdc/XmlSchema.java index 4bfa3fd..4bfa3fd 100644 --- a/src/com/android/xsdc/XmlSchema.java +++ b/src/main/java/com/android/xsdc/XmlSchema.java diff --git a/src/com/android/xsdc/XsdConstants.java b/src/main/java/com/android/xsdc/XsdConstants.java index 6c79b9b..6c79b9b 100644 --- a/src/com/android/xsdc/XsdConstants.java +++ b/src/main/java/com/android/xsdc/XsdConstants.java diff --git a/src/com/android/xsdc/XsdHandler.java b/src/main/java/com/android/xsdc/XsdHandler.java index f6a9492..f6a9492 100644 --- a/src/com/android/xsdc/XsdHandler.java +++ b/src/main/java/com/android/xsdc/XsdHandler.java diff --git a/src/com/android/xsdc/XsdParserException.java b/src/main/java/com/android/xsdc/XsdParserException.java index aa755d5..aa755d5 100644 --- a/src/com/android/xsdc/XsdParserException.java +++ b/src/main/java/com/android/xsdc/XsdParserException.java diff --git a/src/com/android/xsdc/cpp/CppCodeGenerator.java b/src/main/java/com/android/xsdc/cpp/CppCodeGenerator.java index 6c91355..6c91355 100644 --- a/src/com/android/xsdc/cpp/CppCodeGenerator.java +++ b/src/main/java/com/android/xsdc/cpp/CppCodeGenerator.java diff --git a/src/com/android/xsdc/cpp/CppCodeGeneratorException.java b/src/main/java/com/android/xsdc/cpp/CppCodeGeneratorException.java index a6ccf2a..a6ccf2a 100644 --- a/src/com/android/xsdc/cpp/CppCodeGeneratorException.java +++ b/src/main/java/com/android/xsdc/cpp/CppCodeGeneratorException.java diff --git a/src/com/android/xsdc/cpp/CppComplexType.java b/src/main/java/com/android/xsdc/cpp/CppComplexType.java index 4a87afa..4a87afa 100644 --- a/src/com/android/xsdc/cpp/CppComplexType.java +++ b/src/main/java/com/android/xsdc/cpp/CppComplexType.java diff --git a/src/com/android/xsdc/cpp/CppSimpleType.java b/src/main/java/com/android/xsdc/cpp/CppSimpleType.java index 5168329..5168329 100644 --- a/src/com/android/xsdc/cpp/CppSimpleType.java +++ b/src/main/java/com/android/xsdc/cpp/CppSimpleType.java diff --git a/src/com/android/xsdc/cpp/CppType.java b/src/main/java/com/android/xsdc/cpp/CppType.java index 05d4da9..05d4da9 100644 --- a/src/com/android/xsdc/cpp/CppType.java +++ b/src/main/java/com/android/xsdc/cpp/CppType.java diff --git a/src/com/android/xsdc/cpp/Utils.java b/src/main/java/com/android/xsdc/cpp/Utils.java index d54a9aa..d54a9aa 100644 --- a/src/com/android/xsdc/cpp/Utils.java +++ b/src/main/java/com/android/xsdc/cpp/Utils.java diff --git a/src/com/android/xsdc/java/JavaCodeGenerator.java b/src/main/java/com/android/xsdc/java/JavaCodeGenerator.java index f0a1495..f0a1495 100644 --- a/src/com/android/xsdc/java/JavaCodeGenerator.java +++ b/src/main/java/com/android/xsdc/java/JavaCodeGenerator.java diff --git a/src/com/android/xsdc/java/JavaCodeGeneratorException.java b/src/main/java/com/android/xsdc/java/JavaCodeGeneratorException.java index b37a284..b37a284 100644 --- a/src/com/android/xsdc/java/JavaCodeGeneratorException.java +++ b/src/main/java/com/android/xsdc/java/JavaCodeGeneratorException.java diff --git a/src/com/android/xsdc/java/JavaComplexType.java b/src/main/java/com/android/xsdc/java/JavaComplexType.java index e25acd7..e25acd7 100644 --- a/src/com/android/xsdc/java/JavaComplexType.java +++ b/src/main/java/com/android/xsdc/java/JavaComplexType.java diff --git a/src/com/android/xsdc/java/JavaSimpleType.java b/src/main/java/com/android/xsdc/java/JavaSimpleType.java index 5ad905f..5ad905f 100644 --- a/src/com/android/xsdc/java/JavaSimpleType.java +++ b/src/main/java/com/android/xsdc/java/JavaSimpleType.java diff --git a/src/com/android/xsdc/java/JavaType.java b/src/main/java/com/android/xsdc/java/JavaType.java index 8605f5d..8605f5d 100644 --- a/src/com/android/xsdc/java/JavaType.java +++ b/src/main/java/com/android/xsdc/java/JavaType.java diff --git a/src/com/android/xsdc/java/Utils.java b/src/main/java/com/android/xsdc/java/Utils.java index 5a7a92a..5a7a92a 100644 --- a/src/com/android/xsdc/java/Utils.java +++ b/src/main/java/com/android/xsdc/java/Utils.java diff --git a/src/com/android/xsdc/tag/Nullability.java b/src/main/java/com/android/xsdc/tag/Nullability.java index 9e81635..9e81635 100644 --- a/src/com/android/xsdc/tag/Nullability.java +++ b/src/main/java/com/android/xsdc/tag/Nullability.java diff --git a/src/com/android/xsdc/tag/XsdAll.java b/src/main/java/com/android/xsdc/tag/XsdAll.java index 39c2562..39c2562 100644 --- a/src/com/android/xsdc/tag/XsdAll.java +++ b/src/main/java/com/android/xsdc/tag/XsdAll.java diff --git a/src/com/android/xsdc/tag/XsdAttribute.java b/src/main/java/com/android/xsdc/tag/XsdAttribute.java index 0c46eb0..0c46eb0 100644 --- a/src/com/android/xsdc/tag/XsdAttribute.java +++ b/src/main/java/com/android/xsdc/tag/XsdAttribute.java diff --git a/src/com/android/xsdc/tag/XsdAttributeGroup.java b/src/main/java/com/android/xsdc/tag/XsdAttributeGroup.java index 6c8f853..6c8f853 100644 --- a/src/com/android/xsdc/tag/XsdAttributeGroup.java +++ b/src/main/java/com/android/xsdc/tag/XsdAttributeGroup.java diff --git a/src/com/android/xsdc/tag/XsdChoice.java b/src/main/java/com/android/xsdc/tag/XsdChoice.java index 223bb44..223bb44 100644 --- a/src/com/android/xsdc/tag/XsdChoice.java +++ b/src/main/java/com/android/xsdc/tag/XsdChoice.java diff --git a/src/com/android/xsdc/tag/XsdComplexContent.java b/src/main/java/com/android/xsdc/tag/XsdComplexContent.java index aa9de87..aa9de87 100644 --- a/src/com/android/xsdc/tag/XsdComplexContent.java +++ b/src/main/java/com/android/xsdc/tag/XsdComplexContent.java diff --git a/src/com/android/xsdc/tag/XsdComplexType.java b/src/main/java/com/android/xsdc/tag/XsdComplexType.java index a7e0311..a7e0311 100644 --- a/src/com/android/xsdc/tag/XsdComplexType.java +++ b/src/main/java/com/android/xsdc/tag/XsdComplexType.java diff --git a/src/com/android/xsdc/tag/XsdElement.java b/src/main/java/com/android/xsdc/tag/XsdElement.java index 40a6695..40a6695 100644 --- a/src/com/android/xsdc/tag/XsdElement.java +++ b/src/main/java/com/android/xsdc/tag/XsdElement.java diff --git a/src/com/android/xsdc/tag/XsdEnumRestriction.java b/src/main/java/com/android/xsdc/tag/XsdEnumRestriction.java index 3ae7ae0..3ae7ae0 100644 --- a/src/com/android/xsdc/tag/XsdEnumRestriction.java +++ b/src/main/java/com/android/xsdc/tag/XsdEnumRestriction.java diff --git a/src/com/android/xsdc/tag/XsdEnumeration.java b/src/main/java/com/android/xsdc/tag/XsdEnumeration.java index 2f9fdc0..2f9fdc0 100644 --- a/src/com/android/xsdc/tag/XsdEnumeration.java +++ b/src/main/java/com/android/xsdc/tag/XsdEnumeration.java diff --git a/src/com/android/xsdc/tag/XsdGeneralExtension.java b/src/main/java/com/android/xsdc/tag/XsdGeneralExtension.java index 24043e4..24043e4 100644 --- a/src/com/android/xsdc/tag/XsdGeneralExtension.java +++ b/src/main/java/com/android/xsdc/tag/XsdGeneralExtension.java diff --git a/src/com/android/xsdc/tag/XsdGeneralRestriction.java b/src/main/java/com/android/xsdc/tag/XsdGeneralRestriction.java index 6583622..6583622 100644 --- a/src/com/android/xsdc/tag/XsdGeneralRestriction.java +++ b/src/main/java/com/android/xsdc/tag/XsdGeneralRestriction.java diff --git a/src/com/android/xsdc/tag/XsdGroup.java b/src/main/java/com/android/xsdc/tag/XsdGroup.java index dd8f008..dd8f008 100644 --- a/src/com/android/xsdc/tag/XsdGroup.java +++ b/src/main/java/com/android/xsdc/tag/XsdGroup.java diff --git a/src/com/android/xsdc/tag/XsdList.java b/src/main/java/com/android/xsdc/tag/XsdList.java index 70023c8..70023c8 100644 --- a/src/com/android/xsdc/tag/XsdList.java +++ b/src/main/java/com/android/xsdc/tag/XsdList.java diff --git a/src/com/android/xsdc/tag/XsdRestriction.java b/src/main/java/com/android/xsdc/tag/XsdRestriction.java index 17dfdd5..17dfdd5 100644 --- a/src/com/android/xsdc/tag/XsdRestriction.java +++ b/src/main/java/com/android/xsdc/tag/XsdRestriction.java diff --git a/src/com/android/xsdc/tag/XsdSimpleContent.java b/src/main/java/com/android/xsdc/tag/XsdSimpleContent.java index cefa60e..cefa60e 100644 --- a/src/com/android/xsdc/tag/XsdSimpleContent.java +++ b/src/main/java/com/android/xsdc/tag/XsdSimpleContent.java diff --git a/src/com/android/xsdc/tag/XsdSimpleType.java b/src/main/java/com/android/xsdc/tag/XsdSimpleType.java index c7d7e37..c7d7e37 100644 --- a/src/com/android/xsdc/tag/XsdSimpleType.java +++ b/src/main/java/com/android/xsdc/tag/XsdSimpleType.java diff --git a/src/com/android/xsdc/tag/XsdTag.java b/src/main/java/com/android/xsdc/tag/XsdTag.java index 3397267..3397267 100644 --- a/src/com/android/xsdc/tag/XsdTag.java +++ b/src/main/java/com/android/xsdc/tag/XsdTag.java diff --git a/src/com/android/xsdc/tag/XsdType.java b/src/main/java/com/android/xsdc/tag/XsdType.java index a7e41a0..a7e41a0 100644 --- a/src/com/android/xsdc/tag/XsdType.java +++ b/src/main/java/com/android/xsdc/tag/XsdType.java diff --git a/src/com/android/xsdc/tag/XsdUnion.java b/src/main/java/com/android/xsdc/tag/XsdUnion.java index f738330..f738330 100644 --- a/src/com/android/xsdc/tag/XsdUnion.java +++ b/src/main/java/com/android/xsdc/tag/XsdUnion.java diff --git a/src/test/kotlin/TestCppCodeGenerator.kt b/src/test/kotlin/TestCppCodeGenerator.kt new file mode 100644 index 0000000..fb52b4b --- /dev/null +++ b/src/test/kotlin/TestCppCodeGenerator.kt @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2022, The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.xsdc + +import com.android.xsdc.cpp.CppCodeGenerator +import java.io.ByteArrayInputStream +import java.util.TreeMap +import javax.xml.parsers.SAXParserFactory +import kotlin.test.assertEquals +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 + +@RunWith(JUnit4::class) +class TestCppCodeGenerator { + + val classSchema = + schema( + """ + <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> + <xs:element name="class" type="xs:string" /> + </xs:schema> + """ + ) + + @Test + fun parseSchema() { + assertEquals(classSchema.elementMap.keys, setOf("class")) + } + + @Test + fun printWithoutEnumOutput() { + val files = TreeMap<String, StringBuffer>() + val fs = FileSystem(files) + val gen = + CppCodeGenerator( + classSchema, + "com.abc", + /*writer=*/ true, + CppCodeGenerator.GENERATE_PARSER, + /*booleanGetter=*/ true, + /*useTinyXml=*/ false + ) + gen.print(fs) + + assertEquals(files.keys, setOf("com_abc.cpp", "include/com_abc.h")) + } + + @Test + fun printWithEnumOutput() { + val files = TreeMap<String, StringBuffer>() + val fs = FileSystem(files) + val gen = + CppCodeGenerator( + classSchema, + "com.abc", + /*writer=*/ true, + CppCodeGenerator.GENERATE_PARSER or CppCodeGenerator.GENERATE_ENUMS, + /*booleanGetter=*/ true, + /*useTinyXml=*/ false + ) + gen.print(fs) + + assertEquals( + files.keys, + setOf("com_abc.cpp", "include/com_abc.h", "com_abc_enums.cpp", "include/com_abc_enums.h") + ) + } + + fun schema(contents: String): XmlSchema { + val charset = Charsets.UTF_8 + val bytes = contents.toByteArray(charset) + val factory = SAXParserFactory.newInstance() + factory.setNamespaceAware(true) + val parser = factory.newSAXParser() + val xsdHandler = XsdHandler() + parser.parse(ByteArrayInputStream(bytes), xsdHandler) + return xsdHandler.getSchema() + } +} |