# 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