OLD | NEW |
| (Empty) |
1 # 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 | |
5 import imp | |
6 import os.path | |
7 import sys | |
8 import unittest | |
9 | |
10 def _GetDirAbove(dirname): | |
11 """Returns the directory "above" this file containing |dirname| (which must | |
12 also be "above" this file).""" | |
13 path = os.path.abspath(__file__) | |
14 while True: | |
15 path, tail = os.path.split(path) | |
16 assert tail | |
17 if tail == dirname: | |
18 return path | |
19 | |
20 try: | |
21 imp.find_module("mojom") | |
22 except ImportError: | |
23 sys.path.append(os.path.join(_GetDirAbove("pylib"), "pylib")) | |
24 from mojom.generate import module as mojom | |
25 | |
26 | |
27 class ModuleTest(unittest.TestCase): | |
28 | |
29 def testNonInterfaceAsInterfaceRequest(self): | |
30 """Tests that a non-interface cannot be used for interface requests.""" | |
31 module = mojom.Module('test_module', 'test_namespace') | |
32 struct = mojom.Struct('TestStruct', module=module) | |
33 with self.assertRaises(Exception) as e: | |
34 mojom.InterfaceRequest(struct) | |
35 self.assertEquals( | |
36 e.exception.__str__(), | |
37 'Interface request requires \'x:TestStruct\' to be an interface.') | |
OLD | NEW |