Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: mojo/public/tools/bindings/pylib/mojom_tests/parse/translate_unittest.py

Issue 611633002: mojom: Add associative arrays to the mojom language. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase to ToT; fixes clang-format bustage. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 import mojom.parse.translate as translate
25
26
27 class TranslateTest(unittest.TestCase):
28 """Tests |parser.Parse()|."""
29
30 def testSimpleArray(self):
31 """Tests a simple int32[]."""
32 self.assertEquals(translate.MapKind("int32[]"), "a:i32")
33
34 def testAssociativeArray(self):
35 """Tests a simple uint8{string}."""
36 self.assertEquals(translate.MapKind("uint8{string}"), "m[s][u8]")
37
38 def testLeftToRightAssociativeArray(self):
39 """Makes sure that parsing is done from right to left on the internal kinds
40 in the presence of an associative array."""
41 self.assertEquals(translate.MapKind("uint8[]{string}"), "m[s][a:u8]")
42
43 if __name__ == "__main__":
44 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698