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

Side by Side Diff: third_party/closure_compiler/processor_test.py

Issue 436843006: Closure compile JS files with GYP. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rename to compile_js.gypi Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import unittest 6 import unittest
7 from checker import FileCache, Flattener, LineNumber 7 from processor import FileCache, Processor, LineNumber
8 8
9 9
10 class NodeTest(unittest.TestCase): 10 class ProcessorTest(unittest.TestCase):
11 def __init__(self, *args, **kwargs): 11 def __init__(self, *args, **kwargs):
12 unittest.TestCase.__init__(self, *args, **kwargs) 12 unittest.TestCase.__init__(self, *args, **kwargs)
13 self.maxDiff = None 13 self.maxDiff = None
14 14
15 def setUp(self): 15 def setUp(self):
16 FileCache._cache["/debug.js"] = """ 16 FileCache._cache["/debug.js"] = """
17 // Copyright 2002 Older Chromium Author dudes. 17 // Copyright 2002 Older Chromium Author dudes.
18 function debug(msg) { if (window.DEBUG) alert(msg); } 18 function debug(msg) { if (window.DEBUG) alert(msg); }
19 """.strip() 19 """.strip()
20 20
21 FileCache._cache["/global.js"] = """ 21 FileCache._cache["/global.js"] = """
22 // Copyright 2014 Old Chromium Author dudes. 22 // Copyright 2014 Old Chromium Author dudes.
23 <include src="/debug.js"> 23 <include src="/debug.js">
24 var global = 'type checking!'; 24 var global = 'type checking!';
25 """.strip() 25 """.strip()
26 26
27 FileCache._cache["/checked.js"] = """ 27 FileCache._cache["/checked.js"] = """
28 // Copyright 2028 Future Chromium Author dudes. 28 // Copyright 2028 Future Chromium Author dudes.
29 /** 29 /**
30 * @fileoverview Coolest app ever. 30 * @fileoverview Coolest app ever.
31 * @author Douglas Crockford (douglas@crockford.com) 31 * @author Douglas Crockford (douglas@crockford.com)
32 */ 32 */
33 <include src="/global.js"> 33 <include src="/global.js">
34 debug(global); 34 debug(global);
35 // Here continues checked.js, a swell file. 35 // Here continues checked.js, a swell file.
36 """.strip() 36 """.strip()
37 37
38 self.flattener_ = Flattener("/checked.js") 38 self._processor = Processor("/checked.js")
39 39
40 def testInline(self): 40 def testInline(self):
41 self.assertMultiLineEqual(""" 41 self.assertMultiLineEqual("""
42 // Copyright 2028 Future Chromium Author dudes. 42 // Copyright 2028 Future Chromium Author dudes.
43 /** 43 /**
44 * @fileoverview Coolest app ever. 44 * @fileoverview Coolest app ever.
45 * @author Douglas Crockford (douglas@crockford.com) 45 * @author Douglas Crockford (douglas@crockford.com)
46 */ 46 */
47 // Copyright 2014 Old Chromium Author dudes. 47 // Copyright 2014 Old Chromium Author dudes.
48 // Copyright 2002 Older Chromium Author dudes. 48 // Copyright 2002 Older Chromium Author dudes.
49 function debug(msg) { if (window.DEBUG) alert(msg); } 49 function debug(msg) { if (window.DEBUG) alert(msg); }
50 var global = 'type checking!'; 50 var global = 'type checking!';
51 debug(global); 51 debug(global);
52 // Here continues checked.js, a swell file. 52 // Here continues checked.js, a swell file.
53 """.strip(), self.flattener_.contents) 53 """.strip(), self._processor.contents)
54 54
55 def assertLineNumber(self, abs_line, expected_line): 55 def assertLineNumber(self, abs_line, expected_line):
56 actual_line = self.flattener_.get_file_from_line(abs_line) 56 actual_line = self._processor.get_file_from_line(abs_line)
57 self.assertEqual(expected_line.file, actual_line.file) 57 self.assertEqual(expected_line.file, actual_line.file)
58 self.assertEqual(expected_line.line_number, actual_line.line_number) 58 self.assertEqual(expected_line.line_number, actual_line.line_number)
59 59
60 def testGetFileFromLine(self): 60 def testGetFileFromLine(self):
61 self.assertLineNumber(1, LineNumber("/checked.js", 1)) 61 self.assertLineNumber(1, LineNumber("/checked.js", 1))
62 self.assertLineNumber(5, LineNumber("/checked.js", 5)) 62 self.assertLineNumber(5, LineNumber("/checked.js", 5))
63 self.assertLineNumber(6, LineNumber("/global.js", 1)) 63 self.assertLineNumber(6, LineNumber("/global.js", 1))
64 self.assertLineNumber(7, LineNumber("/debug.js", 1)) 64 self.assertLineNumber(7, LineNumber("/debug.js", 1))
65 self.assertLineNumber(8, LineNumber("/debug.js", 2)) 65 self.assertLineNumber(8, LineNumber("/debug.js", 2))
66 self.assertLineNumber(9, LineNumber("/global.js", 3)) 66 self.assertLineNumber(9, LineNumber("/global.js", 3))
67 self.assertLineNumber(10, LineNumber("/checked.js", 7)) 67 self.assertLineNumber(10, LineNumber("/checked.js", 7))
68 self.assertLineNumber(11, LineNumber("/checked.js", 8)) 68 self.assertLineNumber(11, LineNumber("/checked.js", 8))
69 69
70 def testIncludedFiles(self):
71 self.assertEquals(set(["/global.js", "/debug.js"]),
72 self._processor.included_files())
73
70 74
71 class IfStrippingTest(unittest.TestCase): 75 class IfStrippingTest(unittest.TestCase):
72 def __init__(self, *args, **kwargs): 76 def __init__(self, *args, **kwargs):
73 unittest.TestCase.__init__(self, *args, **kwargs) 77 unittest.TestCase.__init__(self, *args, **kwargs)
74 self.maxDiff = None 78 self.maxDiff = None
75 79
76 def setUp(self): 80 def setUp(self):
77 FileCache._cache["/century.js"] = """ 81 FileCache._cache["/century.js"] = """
78 function getCurrentCentury() { 82 function getCurrentCentury() {
79 <if expr="netscape_os"> 83 <if expr="netscape_os">
80 alert("Oh wow!"); 84 alert("Oh wow!");
81 return "XX"; 85 return "XX";
82 </if> 86 </if>
83 return "XXI"; 87 return "XXI";
84 } 88 }
85 """.strip() 89 """.strip()
86 90
87 self.flattener_ = Flattener("/century.js") 91 self.processor_ = Processor("/century.js")
88 92
89 def testIfStripping(self): 93 def testIfStripping(self):
90 self.assertMultiLineEqual(""" 94 self.assertMultiLineEqual("""
91 function getCurrentCentury() { 95 function getCurrentCentury() {
92 96
93 alert("Oh wow!"); 97 alert("Oh wow!");
94 return "XX"; 98 return "XX";
95 99
96 return "XXI"; 100 return "XXI";
97 } 101 }
98 """.strip(), self.flattener_.contents) 102 """.strip(), self.processor_.contents)
99 103
100 104
101 if __name__ == '__main__': 105 if __name__ == '__main__':
102 unittest.main() 106 unittest.main()
OLDNEW
« no previous file with comments | « third_party/closure_compiler/processor.py ('k') | ui/webui/resources/js/chromeos/compiled_resources.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698