blob: 6ec5d8c225e55f39a45fd6e99233cdfc26d7f849 [file] [log] [blame]
# 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