Index: mojo/python/tests/bindings_structs_unittest.py |
diff --git a/mojo/python/tests/bindings_structs_unittest.py b/mojo/python/tests/bindings_structs_unittest.py |
deleted file mode 100644 |
index 5a4c064a27008418f2052faf690a7b0399664fb8..0000000000000000000000000000000000000000 |
--- a/mojo/python/tests/bindings_structs_unittest.py |
+++ /dev/null |
@@ -1,217 +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 math |
-import unittest |
- |
-# pylint: disable=E0611,F0401 |
-import mojo.system |
- |
-# Generated files |
-# pylint: disable=F0401 |
-import regression_tests_mojom |
-import sample_import_mojom |
-import sample_import2_mojom |
-import sample_service_mojom |
- |
- |
-class StructBindingsTest(unittest.TestCase): |
- |
- def testModule(self): |
- self.assertEquals(sample_service_mojom.DefaultsTest.__module__, |
- 'sample_service_mojom') |
- |
- def testDefaultsTest(self): |
- defaults_test = sample_service_mojom.DefaultsTest() |
- self.assertEquals(defaults_test.a0, -12) |
- self.assertEquals(defaults_test.a1, 12) |
- self.assertEquals(defaults_test.a2, 1234) |
- self.assertEquals(defaults_test.a3, 34567) |
- self.assertEquals(defaults_test.a4, 123456) |
- self.assertEquals(defaults_test.a5, 3456789012) |
- self.assertEquals(defaults_test.a6, -111111111111) |
- self.assertEquals(defaults_test.a7, 9999999999999999999) |
- self.assertEquals(defaults_test.a8, 0x12345) |
- self.assertEquals(defaults_test.a9, -0x12345) |
- self.assertEquals(defaults_test.a10, 1234) |
- self.assertEquals(defaults_test.a11, True) |
- self.assertEquals(defaults_test.a12, False) |
- self.assertEquals(defaults_test.a13, 123.25) |
- self.assertEquals(defaults_test.a14, 1234567890.123) |
- self.assertEquals(defaults_test.a15, 1E10) |
- self.assertEquals(defaults_test.a16, -1.2E+20) |
- self.assertEquals(defaults_test.a17, 1.23E-20) |
- self.assertEquals(defaults_test.a18, None) |
- self.assertEquals(defaults_test.a19, None) |
- self.assertEquals(defaults_test.a20, sample_service_mojom.Bar.Type.BOTH) |
- self.assertEquals(defaults_test.a21, None) |
- self.assertTrue(isinstance(defaults_test.a22, sample_import2_mojom.Thing)) |
- self.assertEquals(defaults_test.a23, 0xFFFFFFFFFFFFFFFF) |
- self.assertEquals(defaults_test.a24, 0x123456789) |
- self.assertEquals(defaults_test.a25, -0x123456789) |
- self.assertEquals(defaults_test.a26, float('inf')) |
- self.assertEquals(defaults_test.a27, float('-inf')) |
- self.assertTrue(math.isnan(defaults_test.a28)) |
- self.assertEquals(defaults_test.a29, float('inf')) |
- self.assertEquals(defaults_test.a30, float('-inf')) |
- self.assertTrue(math.isnan(defaults_test.a31)) |
- |
- def testNoAliasing(self): |
- foo1 = sample_service_mojom.Foo() |
- foo2 = sample_service_mojom.Foo() |
- foo1.name = "foo1" |
- foo2.name = "foo2" |
- self.assertEquals(foo1.name, "foo1") |
- self.assertEquals(foo2.name, "foo2") |
- |
- defaults_test1 = sample_service_mojom.DefaultsTest() |
- defaults_test2 = sample_service_mojom.DefaultsTest() |
- self.assertIsNot(defaults_test1.a22, defaults_test2.a22) |
- |
- def testImmutableAttributeSet(self): |
- foo_instance = sample_service_mojom.Foo() |
- with self.assertRaises(AttributeError): |
- foo_instance.new_attribute = None |
- with self.assertRaises(AttributeError): |
- del foo_instance.name |
- |
- def _TestIntegerField(self, entity, field_name, bits, signed): |
- if signed: |
- min_value = -(1 << (bits - 1)) |
- max_value = (1 << (bits - 1)) - 1 |
- else: |
- min_value = 0 |
- max_value = (1 << bits) - 1 |
- entity.__setattr__(field_name, min_value) |
- entity.__setattr__(field_name, max_value) |
- with self.assertRaises(TypeError): |
- entity.__setattr__(field_name, None) |
- with self.assertRaises(OverflowError): |
- entity.__setattr__(field_name, min_value - 1) |
- with self.assertRaises(OverflowError): |
- entity.__setattr__(field_name, max_value + 1) |
- with self.assertRaises(TypeError): |
- entity.__setattr__(field_name, 'hello world') |
- |
- def testTypes(self): |
- defaults_test = sample_service_mojom.DefaultsTest() |
- # Integer types |
- self._TestIntegerField(defaults_test, 'a0', 8, True) |
- self._TestIntegerField(defaults_test, 'a1', 8, False) |
- self._TestIntegerField(defaults_test, 'a2', 16, True) |
- self._TestIntegerField(defaults_test, 'a3', 16, False) |
- self._TestIntegerField(defaults_test, 'a4', 32, True) |
- self._TestIntegerField(defaults_test, 'a5', 32, False) |
- self._TestIntegerField(defaults_test, 'a6', 64, True) |
- self._TestIntegerField(defaults_test, 'a7', 64, False) |
- |
- # Boolean types |
- defaults_test.a11 = False |
- self.assertEquals(defaults_test.a11, False) |
- defaults_test.a11 = None |
- self.assertEquals(defaults_test.a11, False) |
- defaults_test.a11 = [] |
- self.assertEquals(defaults_test.a11, False) |
- defaults_test.a12 = True |
- self.assertEquals(defaults_test.a12, True) |
- defaults_test.a12 = 1 |
- self.assertEquals(defaults_test.a12, True) |
- defaults_test.a12 = [[]] |
- self.assertEquals(defaults_test.a12, True) |
- |
- # Floating point types |
- with self.assertRaises(TypeError): |
- defaults_test.a13 = 'hello' |
- with self.assertRaises(TypeError): |
- defaults_test.a14 = 'hello' |
- |
- # Array type |
- defaults_test.a18 = None |
- defaults_test.a18 = [] |
- defaults_test.a18 = [ 0 ] |
- defaults_test.a18 = [ 255 ] |
- defaults_test.a18 = [ 0, 255 ] |
- with self.assertRaises(TypeError): |
- defaults_test.a18 = [[]] |
- with self.assertRaises(OverflowError): |
- defaults_test.a18 = [ -1 ] |
- with self.assertRaises(OverflowError): |
- defaults_test.a18 = [ 256 ] |
- |
- # String type |
- defaults_test.a19 = None |
- defaults_test.a19 = '' |
- defaults_test.a19 = 'hello world' |
- with self.assertRaises(TypeError): |
- defaults_test.a19 = [[]] |
- with self.assertRaises(TypeError): |
- defaults_test.a19 = [ -1 ] |
- with self.assertRaises(TypeError): |
- defaults_test.a19 = [ 256 ] |
- |
- # Structs |
- defaults_test.a21 = None |
- defaults_test.a21 = sample_import_mojom.Point() |
- with self.assertRaises(TypeError): |
- defaults_test.a21 = 1 |
- with self.assertRaises(TypeError): |
- defaults_test.a21 = sample_import2_mojom.Thing() |
- |
- # Handles |
- foo_instance = sample_service_mojom.Foo() |
- foo_instance.source = None |
- foo_instance.source = mojo.system.Handle() |
- with self.assertRaises(TypeError): |
- foo_instance.source = 1 |
- with self.assertRaises(TypeError): |
- foo_instance.source = object() |
- |
- def testConstructor(self): |
- bar_instance = sample_service_mojom.Bar() |
- foo_instance = sample_service_mojom.Foo(name="Foo", |
- x=-1, |
- y=5, |
- a=False, |
- bar=bar_instance) |
- self.assertEquals(foo_instance.name, "Foo") |
- self.assertEquals(foo_instance.x, -1) |
- self.assertEquals(foo_instance.y, 5) |
- self.assertEquals(foo_instance.a, False) |
- self.assertEquals(foo_instance.bar, bar_instance) |
- |
- def testPositionalConstructor(self): |
- p = sample_import_mojom.Point() |
- self.assertEquals(p.x, 0) |
- self.assertEquals(p.y, 0) |
- |
- p = sample_import_mojom.Point(34) |
- self.assertEquals(p.x, 34) |
- self.assertEquals(p.y, 0) |
- |
- p = sample_import_mojom.Point(34, 12) |
- self.assertEquals(p.x, 34) |
- self.assertEquals(p.y, 12) |
- |
- p = sample_import_mojom.Point(x=34, y=12) |
- self.assertEquals(p.x, 34) |
- self.assertEquals(p.y, 12) |
- |
- p = sample_import_mojom.Point(34, y=12) |
- self.assertEquals(p.x, 34) |
- self.assertEquals(p.y, 12) |
- |
- with self.assertRaises(TypeError): |
- p = sample_import_mojom.Point(0, 0, 0) |
- with self.assertRaises(TypeError): |
- p = sample_import_mojom.Point(0, x=0) |
- with self.assertRaises(TypeError): |
- p = sample_import_mojom.Point(c=0) |
- |
- def testCyclicDefinition(self): |
- a = regression_tests_mojom.A() |
- b = regression_tests_mojom.B() |
- self.assertIsNone(a.b) |
- self.assertIsNone(b.a) |
- a.b = b |
- self.assertIs(a.b, b) |