Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(452)

Unified Diff: mojo/public/tools/bindings/pylib/mojom_tests/parse/parser_unittest.py

Issue 291173010: Mojo: Mojom: Remove support for octal. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/public/tools/bindings/pylib/mojom_tests/parse/lexer_unittest.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/tools/bindings/pylib/mojom_tests/parse/parser_unittest.py
diff --git a/mojo/public/tools/bindings/pylib/mojom_tests/parse/parser_unittest.py b/mojo/public/tools/bindings/pylib/mojom_tests/parse/parser_unittest.py
index 2ee83cdd14eba49589d8e7a032f1b5a9d76e43d1..ee4d9bdf2abad84a7c9978cef9ceaff107bdf61e 100644
--- a/mojo/public/tools/bindings/pylib/mojom_tests/parse/parser_unittest.py
+++ b/mojo/public/tools/bindings/pylib/mojom_tests/parse/parser_unittest.py
@@ -433,6 +433,75 @@ struct MyStruct {
r" handle<wtf_is_this> foo;$"):
parser.Parse(source, "my_file.mojom")
+ def testValidDefaultValues(self):
+ """Tests default values that are valid (to the parser)."""
+ source = """\
+struct MyStruct {
+ int16 a0 = 0;
+ uint16 a1 = 0x0;
+ uint16 a2 = 0x00;
+ uint16 a3 = 0x01;
+ uint16 a4 = 0xcd;
+ int32 a5 = 12345;
+ int64 a6 = -12345;
+ int64 a7 = +12345;
+ uint32 a8 = 0x12cd3;
+ uint32 a9 = -0x12cD3;
+ uint32 a10 = +0x12CD3;
+ bool a11 = true;
+ bool a12 = false;
+ float a13 = 1.2345;
+ float a14 = -1.2345;
+ float a15 = +1.2345;
+ float a16 = 123.;
+ float a17 = .123;
+ double a18 = 1.23E10;
+ double a19 = 1.E-10;
+ double a20 = .5E+10;
+ double a21 = -1.23E10;
+ double a22 = +.123E10;
+};
+"""
+ expected = \
+[('MODULE',
+ '',
+ None,
+ [('STRUCT',
+ 'MyStruct',
+ None,
+ [('FIELD', 'int16', 'a0', ast.Ordinal(None), ('EXPRESSION', ['0'])),
+ ('FIELD', 'uint16', 'a1', ast.Ordinal(None), ('EXPRESSION', ['0x0'])),
+ ('FIELD', 'uint16', 'a2', ast.Ordinal(None), ('EXPRESSION', ['0x00'])),
+ ('FIELD', 'uint16', 'a3', ast.Ordinal(None), ('EXPRESSION', ['0x01'])),
+ ('FIELD', 'uint16', 'a4', ast.Ordinal(None), ('EXPRESSION', ['0xcd'])),
+ ('FIELD', 'int32', 'a5', ast.Ordinal(None), ('EXPRESSION', ['12345'])),
+ ('FIELD', 'int64', 'a6', ast.Ordinal(None),
+ ('EXPRESSION', ['-', ('EXPRESSION', ['12345'])])),
+ ('FIELD', 'int64', 'a7', ast.Ordinal(None),
+ ('EXPRESSION', ['+', ('EXPRESSION', ['12345'])])),
+ ('FIELD', 'uint32', 'a8', ast.Ordinal(None), ('EXPRESSION', ['0x12cd3'])),
+ ('FIELD', 'uint32', 'a9', ast.Ordinal(None),
+ ('EXPRESSION', ['-', ('EXPRESSION', ['0x12cD3'])])),
+ ('FIELD', 'uint32', 'a10', ast.Ordinal(None),
+ ('EXPRESSION', ['+', ('EXPRESSION', ['0x12CD3'])])),
+ ('FIELD', 'bool', 'a11', ast.Ordinal(None), ('EXPRESSION', ['true'])),
+ ('FIELD', 'bool', 'a12', ast.Ordinal(None), ('EXPRESSION', ['false'])),
+ ('FIELD', 'float', 'a13', ast.Ordinal(None), ('EXPRESSION', ['1.2345'])),
+ ('FIELD', 'float', 'a14', ast.Ordinal(None),
+ ('EXPRESSION', ['-', ('EXPRESSION', ['1.2345'])])),
+ ('FIELD', 'float', 'a15', ast.Ordinal(None),
+ ('EXPRESSION', ['+', ('EXPRESSION', ['1.2345'])])),
+ ('FIELD', 'float', 'a16', ast.Ordinal(None), ('EXPRESSION', ['123.'])),
+ ('FIELD', 'float', 'a17', ast.Ordinal(None), ('EXPRESSION', ['.123'])),
+ ('FIELD', 'double', 'a18', ast.Ordinal(None), ('EXPRESSION', ['1.23E10'])),
+ ('FIELD', 'double', 'a19', ast.Ordinal(None), ('EXPRESSION', ['1.E-10'])),
+ ('FIELD', 'double', 'a20', ast.Ordinal(None), ('EXPRESSION', ['.5E+10'])),
+ ('FIELD', 'double', 'a21', ast.Ordinal(None),
+ ('EXPRESSION', ['-', ('EXPRESSION', ['1.23E10'])])),
+ ('FIELD', 'double', 'a22', ast.Ordinal(None),
+ ('EXPRESSION', ['+', ('EXPRESSION', ['.123E10'])]))])])]
+ self.assertEquals(parser.Parse(source, "my_file.mojom"), expected)
+
if __name__ == "__main__":
unittest.main()
« no previous file with comments | « mojo/public/tools/bindings/pylib/mojom_tests/parse/lexer_unittest.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698