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

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

Issue 475493002: Closure compiler: add pydoc for parts of third_party/closure_compiler/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits 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 """Test resources processing, i.e. <if> and <include> tag handling."""
7
6 import unittest 8 import unittest
7 from processor import FileCache, Processor, LineNumber 9 from processor import FileCache, Processor, LineNumber
8 10
9 11
10 class ProcessorTest(unittest.TestCase): 12 class ProcessorTest(unittest.TestCase):
13 """Test <include> tag processing logic."""
14
11 def __init__(self, *args, **kwargs): 15 def __init__(self, *args, **kwargs):
12 unittest.TestCase.__init__(self, *args, **kwargs) 16 unittest.TestCase.__init__(self, *args, **kwargs)
13 self.maxDiff = None 17 self.maxDiff = None
14 18
15 def setUp(self): 19 def setUp(self):
16 FileCache._cache["/debug.js"] = """ 20 FileCache._cache["/debug.js"] = """
17 // Copyright 2002 Older Chromium Author dudes. 21 // Copyright 2002 Older Chromium Author dudes.
18 function debug(msg) { if (window.DEBUG) alert(msg); } 22 function debug(msg) { if (window.DEBUG) alert(msg); }
19 """.strip() 23 """.strip()
20 24
(...skipping 30 matching lines...) Expand all
51 debug(global); 55 debug(global);
52 // Here continues checked.js, a swell file. 56 // Here continues checked.js, a swell file.
53 """.strip(), self._processor.contents) 57 """.strip(), self._processor.contents)
54 58
55 def assertLineNumber(self, abs_line, expected_line): 59 def assertLineNumber(self, abs_line, expected_line):
56 actual_line = self._processor.get_file_from_line(abs_line) 60 actual_line = self._processor.get_file_from_line(abs_line)
57 self.assertEqual(expected_line.file, actual_line.file) 61 self.assertEqual(expected_line.file, actual_line.file)
58 self.assertEqual(expected_line.line_number, actual_line.line_number) 62 self.assertEqual(expected_line.line_number, actual_line.line_number)
59 63
60 def testGetFileFromLine(self): 64 def testGetFileFromLine(self):
65 """Verify that inlined files retain their original line info."""
61 self.assertLineNumber(1, LineNumber("/checked.js", 1)) 66 self.assertLineNumber(1, LineNumber("/checked.js", 1))
62 self.assertLineNumber(5, LineNumber("/checked.js", 5)) 67 self.assertLineNumber(5, LineNumber("/checked.js", 5))
63 self.assertLineNumber(6, LineNumber("/global.js", 1)) 68 self.assertLineNumber(6, LineNumber("/global.js", 1))
64 self.assertLineNumber(7, LineNumber("/debug.js", 1)) 69 self.assertLineNumber(7, LineNumber("/debug.js", 1))
65 self.assertLineNumber(8, LineNumber("/debug.js", 2)) 70 self.assertLineNumber(8, LineNumber("/debug.js", 2))
66 self.assertLineNumber(9, LineNumber("/global.js", 3)) 71 self.assertLineNumber(9, LineNumber("/global.js", 3))
67 self.assertLineNumber(10, LineNumber("/checked.js", 7)) 72 self.assertLineNumber(10, LineNumber("/checked.js", 7))
68 self.assertLineNumber(11, LineNumber("/checked.js", 8)) 73 self.assertLineNumber(11, LineNumber("/checked.js", 8))
69 74
70 def testIncludedFiles(self): 75 def testIncludedFiles(self):
76 """Verify that files are tracked correctly as they're inlined."""
71 self.assertEquals(set(["/global.js", "/debug.js"]), 77 self.assertEquals(set(["/global.js", "/debug.js"]),
72 self._processor.included_files()) 78 self._processor.included_files)
73 79
74 80
75 class IfStrippingTest(unittest.TestCase): 81 class IfStrippingTest(unittest.TestCase):
82 """Test that the contents of XML <if> blocks are stripped."""
83
76 def __init__(self, *args, **kwargs): 84 def __init__(self, *args, **kwargs):
77 unittest.TestCase.__init__(self, *args, **kwargs) 85 unittest.TestCase.__init__(self, *args, **kwargs)
78 self.maxDiff = None 86 self.maxDiff = None
79 87
80 def setUp(self): 88 def setUp(self):
81 FileCache._cache["/century.js"] = """ 89 FileCache._cache["/century.js"] = """
82 function getCurrentCentury() { 90 function getCurrentCentury() {
83 <if expr="netscape_os"> 91 <if expr="netscape_os">
84 alert("Oh wow!"); 92 alert("Oh wow!");
85 return "XX"; 93 return "XX";
(...skipping 11 matching lines...) Expand all
97 alert("Oh wow!"); 105 alert("Oh wow!");
98 return "XX"; 106 return "XX";
99 107
100 return "XXI"; 108 return "XXI";
101 } 109 }
102 """.strip(), self.processor_.contents) 110 """.strip(), self.processor_.contents)
103 111
104 112
105 if __name__ == '__main__': 113 if __name__ == '__main__':
106 unittest.main() 114 unittest.main()
OLDNEW
« third_party/closure_compiler/checker.py ('K') | « third_party/closure_compiler/processor.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698