| # 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 unittest |
| |
| # Generated files |
| # pylint: disable=F0401 |
| import sample_import_mojom |
| import sample_service_mojom |
| |
| |
| class EnumBindingsTest(unittest.TestCase): |
| |
| # Testing enum classes are in the right module. |
| def testModule(self): |
| self.assertEquals(sample_import_mojom.Shape.__module__, |
| 'sample_import_mojom') |
| |
| # Testing that enum class have expected constant values. |
| def testTopLevelEnumGeneration(self): |
| self.assertEquals(sample_import_mojom.Shape.RECTANGLE, 1) |
| self.assertEquals(sample_import_mojom.Shape.CIRCLE, 2) |
| self.assertEquals(sample_import_mojom.Shape.TRIANGLE, 3) |
| self.assertEquals(sample_import_mojom.Shape.LAST, |
| sample_import_mojom.Shape.TRIANGLE) |
| |
| self.assertEquals(sample_import_mojom.AnotherShape.RECTANGLE, 10) |
| self.assertEquals(sample_import_mojom.AnotherShape.CIRCLE, 11) |
| self.assertEquals(sample_import_mojom.AnotherShape.TRIANGLE, 12) |
| |
| self.assertEquals(sample_import_mojom.YetAnotherShape.RECTANGLE, 20) |
| self.assertEquals(sample_import_mojom.YetAnotherShape.CIRCLE, 21) |
| self.assertEquals(sample_import_mojom.YetAnotherShape.TRIANGLE, 22) |
| |
| # Testing that internal enum class have expected constant values. |
| def testInternalEnumGeneration(self): |
| self.assertEquals(sample_service_mojom.Bar.Type.VERTICAL, 1) |
| self.assertEquals(sample_service_mojom.Bar.Type.HORIZONTAL, 2) |
| self.assertEquals(sample_service_mojom.Bar.Type.BOTH, 3) |
| self.assertEquals(sample_service_mojom.Bar.Type.INVALID, 4) |
| |
| # Testing an enum class cannot be instantiated. |
| def testNonInstantiableEnum(self): |
| with self.assertRaises(TypeError): |
| sample_import_mojom.Shape() |
| |
| # Testing an enum does not contain the VALUES constant. |
| def testNoVALUESConstant(self): |
| with self.assertRaises(AttributeError): |
| # pylint: disable=W0104 |
| sample_import_mojom.Shape.VALUES |
| |
| # Testing enum values are frozen. |
| def testEnumFrozen(self): |
| with self.assertRaises(AttributeError): |
| sample_import_mojom.Shape.RECTANGLE = 2 |
| with self.assertRaises(AttributeError): |
| del sample_import_mojom.Shape.RECTANGLE |
| with self.assertRaises(AttributeError): |
| sample_import_mojom.Shape.NewShape = 4 |