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

Unified Diff: mojo/public/tools/bindings/pylib/mojom_tests/generate/data_unittest.py

Issue 814543006: Move //mojo/{public, edk} underneath //third_party (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 11 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
Index: mojo/public/tools/bindings/pylib/mojom_tests/generate/data_unittest.py
diff --git a/mojo/public/tools/bindings/pylib/mojom_tests/generate/data_unittest.py b/mojo/public/tools/bindings/pylib/mojom_tests/generate/data_unittest.py
deleted file mode 100644
index 9ad63c1332150fad56029b61d26ab1f7f89f3f27..0000000000000000000000000000000000000000
--- a/mojo/public/tools/bindings/pylib/mojom_tests/generate/data_unittest.py
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import imp
-import os.path
-import sys
-import unittest
-
-def _GetDirAbove(dirname):
- """Returns the directory "above" this file containing |dirname| (which must
- also be "above" this file)."""
- path = os.path.abspath(__file__)
- while True:
- path, tail = os.path.split(path)
- assert tail
- if tail == dirname:
- return path
-
-try:
- imp.find_module("mojom")
-except ImportError:
- sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib"))
-from mojom.generate import data
-from mojom.generate import module as mojom
-
-
-class DataTest(unittest.TestCase):
-
- def testStructDataConversion(self):
- """Tests that a struct can be converted from data."""
- module = mojom.Module('test_module', 'test_namespace')
- struct_data = {
- 'name': 'SomeStruct',
- 'attributes': [],
- 'enums': [],
- 'constants': [],
- 'fields': [
- {'name': 'field1', 'kind': 'i32'},
- {'name': 'field2', 'kind': 'i32', 'ordinal': 10},
- {'name': 'field3', 'kind': 'i32', 'default': 15}]}
-
- struct = data.StructFromData(module, struct_data)
- del struct_data['attributes']
- del struct_data['enums']
- del struct_data['constants']
- struct.fields = map(lambda field:
- data.FieldFromData(module, field, struct), struct.fields_data)
- self.assertEquals(struct_data, data.StructToData(struct))
-
- def testUnionDataConversion(self):
- """Tests that a union can be converted from data."""
- module = mojom.Module('test_module', 'test_namespace')
- union_data = {
- 'name': 'SomeUnion',
- 'fields': [
- {'name': 'field1', 'kind': 'i32'},
- {'name': 'field2', 'kind': 'i32', 'ordinal': 10}]}
-
- union = data.UnionFromData(module, union_data)
- union.fields = map(lambda field:
- data.FieldFromData(module, field, union), union.fields_data)
- self.assertEquals(union_data, data.UnionToData(union))
-
- def testImportFromDataNoMissingImports(self):
- """Tests that unions, structs, interfaces and enums are imported."""
- module = mojom.Module('test_module', 'test_namespace')
- imported_module = mojom.Module('import_module', 'import_namespace')
- #TODO(azani): Init values in module.py.
- #TODO(azani): Test that values are imported.
- imported_module.values = {}
- imported_data = {'module' : imported_module}
-
-
- struct = mojom.Struct('TestStruct', module=module)
- imported_module.kinds[struct.spec] = struct
-
- union = mojom.Union('TestUnion', module=module)
- imported_module.kinds[union.spec] = union
-
- interface = mojom.Interface('TestInterface', module=module)
- imported_module.kinds[interface.spec] = interface
-
- enum = mojom.Enum('TestEnum', module=module)
- imported_module.kinds[enum.spec] = enum
-
- data.ImportFromData(module, imported_data)
-
- # Test that the kind was imported.
- self.assertIn(struct.spec, module.kinds)
- self.assertEquals(struct.name, module.kinds[struct.spec].name)
-
- self.assertIn(union.spec, module.kinds)
- self.assertEquals(union.name, module.kinds[union.spec].name)
-
- self.assertIn(interface.spec, module.kinds)
- self.assertEquals(interface.name, module.kinds[interface.spec].name)
-
- self.assertIn(enum.spec, module.kinds)
- self.assertEquals(enum.name, module.kinds[enum.spec].name)
-
- # Test that the imported kind is a copy and not the original.
- self.assertIsNot(struct, module.kinds[struct.spec])
- self.assertIsNot(union, module.kinds[union.spec])
- self.assertIsNot(interface, module.kinds[interface.spec])
- self.assertIsNot(enum, module.kinds[enum.spec])
-
- def testImportFromDataNoExtraneousImports(self):
- """Tests that arrays, maps and interface requests are not imported."""
- module = mojom.Module('test_module', 'test_namespace')
- imported_module = mojom.Module('import_module', 'import_namespace')
- #TODO(azani): Init values in module.py.
- imported_module.values = {}
- imported_data = {'module' : imported_module}
-
- array = mojom.Array(mojom.INT16, length=20)
- imported_module.kinds[array.spec] = array
-
- map_kind = mojom.Map(mojom.INT16, mojom.INT16)
- imported_module.kinds[map_kind.spec] = map_kind
-
- interface = mojom.Interface('TestInterface', module=module)
- imported_module.kinds[interface.spec] = interface
-
- interface_req = mojom.InterfaceRequest(interface)
- imported_module.kinds[interface_req.spec] = interface_req
-
- data.ImportFromData(module, imported_data)
-
- self.assertNotIn(array.spec, module.kinds)
- self.assertNotIn(map_kind.spec, module.kinds)
- self.assertNotIn(interface_req.spec, module.kinds)
-
- def testNonInterfaceAsInterfaceRequest(self):
- """Tests that a non-interface cannot be used for interface requests."""
- module = mojom.Module('test_module', 'test_namespace')
- interface = mojom.Interface('TestInterface', module=module)
- method_dict = {
- 'name': 'Foo',
- 'parameters': [{'name': 'foo', 'kind': 'r:i32'}],
- }
- with self.assertRaises(Exception) as e:
- data.MethodFromData(module, method_dict, interface)
- self.assertEquals(e.exception.__str__(),
- 'Interface request requires \'i32\' to be an interface.')

Powered by Google App Engine
This is Rietveld 408576698