Index: mojo/public/tools/bindings/pylib/mojom_tests/parse/translate_unittest.py |
diff --git a/mojo/public/tools/bindings/pylib/mojom_tests/parse/translate_unittest.py b/mojo/public/tools/bindings/pylib/mojom_tests/parse/translate_unittest.py |
index 2b08bb7282cec3327e164fd1db625c95747d5084..9f2d985d1fa3767a34b5a613809b62e7a1966cdc 100644 |
--- a/mojo/public/tools/bindings/pylib/mojom_tests/parse/translate_unittest.py |
+++ b/mojo/public/tools/bindings/pylib/mojom_tests/parse/translate_unittest.py |
@@ -21,7 +21,8 @@ try: |
imp.find_module("mojom") |
except ImportError: |
sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib")) |
-import mojom.parse.translate as translate |
+from mojom.parse import ast |
+from mojom.parse import translate |
class TranslateTest(unittest.TestCase): |
@@ -43,5 +44,22 @@ class TranslateTest(unittest.TestCase): |
# pylint: disable=W0212 |
self.assertEquals(translate._MapKind("uint8[]{string}"), "m[s][a:u8]") |
+ def testTranslateSimpleUnions(self): |
+ """Makes sure that a simple union is translated correctly.""" |
+ tree = ast.Mojom( |
+ None, |
+ ast.ImportList(), |
+ [ast.Union("SomeUnion", ast.UnionBody( |
+ [ast.UnionField("a", None, "int32"), |
+ ast.UnionField("b", None, "string")]))]) |
+ expected = [{ |
+ "name": "SomeUnion", |
+ "fields": [ |
+ {"kind": "i32", "name": "a", "ordinal": None}, |
+ {"kind": "s", "name": "b", "ordinal": None}]}] |
+ actual = translate.Translate(tree, "mojom_tree") |
+ self.assertEquals(actual["union"], expected) |
+ |
+ |
if __name__ == "__main__": |
unittest.main() |