| Index: build/android/gyp/java_cpp_enum_tests.py
|
| diff --git a/build/android/gyp/java_cpp_enum_tests.py b/build/android/gyp/java_cpp_enum_tests.py
|
| index bb8150d79d6d3eb806d222e57c5ede29019bf217..3aa386e5a87590dc74633e3d95cacadd6f48abb8 100755
|
| --- a/build/android/gyp/java_cpp_enum_tests.py
|
| +++ b/build/android/gyp/java_cpp_enum_tests.py
|
| @@ -14,7 +14,8 @@ import os
|
| import sys
|
| import unittest
|
|
|
| -from java_cpp_enum import EnumDefinition, GenerateOutput, HeaderParser
|
| +from java_cpp_enum import EnumDefinition, GenerateOutput, GetScriptName
|
| +from java_cpp_enum import HeaderParser
|
|
|
| sys.path.append(os.path.join(os.path.dirname(__file__), "gyp"))
|
| from util import build_utils
|
| @@ -31,7 +32,7 @@ class TestPreprocess(unittest.TestCase):
|
| // found in the LICENSE file.
|
|
|
| // This file is autogenerated by
|
| -// build/android/gyp/java_cpp_enum_tests.py
|
| +// %s
|
| // From
|
| // path/to/file
|
|
|
| @@ -42,7 +43,7 @@ public class ClassName {
|
| public static final int E2 = 2 << 2;
|
| }
|
| """
|
| - self.assertEqual(expected, output)
|
| + self.assertEqual(expected % GetScriptName(), output)
|
|
|
| def testParseSimpleEnum(self):
|
| test_data = """
|
| @@ -150,6 +151,78 @@ public class ClassName {
|
| with self.assertRaises(Exception):
|
| HeaderParser(test_data).ParseDefinitions()
|
|
|
| + def testParseEnumClass(self):
|
| + test_data = """
|
| + // GENERATED_JAVA_ENUM_PACKAGE: test.namespace
|
| + enum class Foo {
|
| + FOO_A,
|
| + };
|
| + """.split('\n')
|
| + definitions = HeaderParser(test_data).ParseDefinitions()
|
| + self.assertEqual(1, len(definitions))
|
| + definition = definitions[0]
|
| + self.assertEqual('Foo', definition.class_name)
|
| + self.assertEqual('test.namespace', definition.enum_package)
|
| + self.assertEqual(collections.OrderedDict([('A', 0)]),
|
| + definition.entries)
|
| +
|
| + def testParseEnumStruct(self):
|
| + test_data = """
|
| + // GENERATED_JAVA_ENUM_PACKAGE: test.namespace
|
| + enum struct Foo {
|
| + FOO_A,
|
| + };
|
| + """.split('\n')
|
| + definitions = HeaderParser(test_data).ParseDefinitions()
|
| + self.assertEqual(1, len(definitions))
|
| + definition = definitions[0]
|
| + self.assertEqual('Foo', definition.class_name)
|
| + self.assertEqual('test.namespace', definition.enum_package)
|
| + self.assertEqual(collections.OrderedDict([('A', 0)]),
|
| + definition.entries)
|
| +
|
| + def testParseFixedTypeEnum(self):
|
| + test_data = """
|
| + // GENERATED_JAVA_ENUM_PACKAGE: test.namespace
|
| + enum Foo : int {
|
| + FOO_A,
|
| + };
|
| + """.split('\n')
|
| + definitions = HeaderParser(test_data).ParseDefinitions()
|
| + self.assertEqual(1, len(definitions))
|
| + definition = definitions[0]
|
| + self.assertEqual('Foo', definition.class_name)
|
| + self.assertEqual('test.namespace', definition.enum_package)
|
| + self.assertEqual('int', definition.fixed_type)
|
| + self.assertEqual(collections.OrderedDict([('A', 0)]),
|
| + definition.entries)
|
| +
|
| + def testParseFixedTypeEnumClass(self):
|
| + test_data = """
|
| + // GENERATED_JAVA_ENUM_PACKAGE: test.namespace
|
| + enum class Foo: unsigned short {
|
| + FOO_A,
|
| + };
|
| + """.split('\n')
|
| + definitions = HeaderParser(test_data).ParseDefinitions()
|
| + self.assertEqual(1, len(definitions))
|
| + definition = definitions[0]
|
| + self.assertEqual('Foo', definition.class_name)
|
| + self.assertEqual('test.namespace', definition.enum_package)
|
| + self.assertEqual('unsigned short', definition.fixed_type)
|
| + self.assertEqual(collections.OrderedDict([('A', 0)]),
|
| + definition.entries)
|
| +
|
| + def testParseUnknownFixedTypeRaises(self):
|
| + test_data = """
|
| + // GENERATED_JAVA_ENUM_PACKAGE: test.namespace
|
| + enum class Foo: foo_type {
|
| + FOO_A,
|
| + };
|
| + """.split('\n')
|
| + with self.assertRaises(Exception):
|
| + HeaderParser(test_data).ParseDefinitions()
|
| +
|
| def testEnumValueAssignmentNoneDefined(self):
|
| definition = EnumDefinition(original_enum_name='c', enum_package='p')
|
| definition.AppendEntry('A', None)
|
|
|