| 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.')
|
|
|