blob: 4db08c1ad06a4f3c0a888874af940f73222f14eb [file] [log] [blame]
James Robinson646469d2014-10-03 15:33:28 -07001# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import math
6import unittest
7
8# Generated files
9# pylint: disable=F0401
10import sample_service_mojom
yzshen8db35972015-04-27 10:17:07 -070011import test_constants_mojom
James Robinson646469d2014-10-03 15:33:28 -070012
13class ConstantBindingsTest(unittest.TestCase):
14
15 def testConstantGeneration(self):
yzshen8db35972015-04-27 10:17:07 -070016 self.assertEquals(test_constants_mojom.INT8_VALUE, -2)
17 self.assertEquals(test_constants_mojom.UINT64_VALUE, 9999999999999999999)
18 self.assertEquals(test_constants_mojom.DOUBLE_INFINITY,
James Robinson646469d2014-10-03 15:33:28 -070019 float('inf'))
yzshen8db35972015-04-27 10:17:07 -070020 self.assertEquals(test_constants_mojom.DOUBLE_NEGATIVE_INFINITY,
James Robinson646469d2014-10-03 15:33:28 -070021 float('-inf'))
yzshen8db35972015-04-27 10:17:07 -070022 self.assertTrue(math.isnan(test_constants_mojom.DOUBLE_NA_N))
23 self.assertEquals(test_constants_mojom.FLOAT_INFINITY,
James Robinson646469d2014-10-03 15:33:28 -070024 float('inf'))
yzshen8db35972015-04-27 10:17:07 -070025 self.assertEquals(test_constants_mojom.FLOAT_NEGATIVE_INFINITY,
James Robinson646469d2014-10-03 15:33:28 -070026 float('-inf'))
yzshen8db35972015-04-27 10:17:07 -070027 self.assertTrue(math.isnan(test_constants_mojom.FLOAT_NA_N))
James Robinson646469d2014-10-03 15:33:28 -070028
29 def testConstantOnStructGeneration(self):
yzshen8db35972015-04-27 10:17:07 -070030 self.assertEquals(test_constants_mojom.StructWithConstants.INT8_VALUE, 5)
James Robinson646469d2014-10-03 15:33:28 -070031
32 def testStructImmutability(self):
33 with self.assertRaises(AttributeError):
34 sample_service_mojom.Foo.FOOBY = 0
35 with self.assertRaises(AttributeError):
36 del sample_service_mojom.Foo.FOOBY
37 with self.assertRaises(AttributeError):
38 sample_service_mojom.Foo.BAR = 1