Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 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 '''Unit tests for grit.format.html_inline''' | 6 '''Unit tests for grit.format.html_inline''' |
| 7 | 7 |
| 8 | 8 |
| 9 import os | 9 import os |
| 10 import re | 10 import re |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 195 for filename in files: | 195 for filename in files: |
| 196 source_resources.add(tmp_dir.GetPath(filename)) | 196 source_resources.add(tmp_dir.GetPath(filename)) |
| 197 | 197 |
| 198 result = html_inline.DoInline(tmp_dir.GetPath('index.html'), None) | 198 result = html_inline.DoInline(tmp_dir.GetPath('index.html'), None) |
| 199 resources = result.inlined_files | 199 resources = result.inlined_files |
| 200 resources.add(tmp_dir.GetPath('index.html')) | 200 resources.add(tmp_dir.GetPath('index.html')) |
| 201 self.failUnlessEqual(resources, source_resources) | 201 self.failUnlessEqual(resources, source_resources) |
| 202 self.failUnlessEqual(expected_inlined, | 202 self.failUnlessEqual(expected_inlined, |
| 203 util.FixLineEnd(result.inlined_data, '\n')) | 203 util.FixLineEnd(result.inlined_data, '\n')) |
| 204 | 204 |
| 205 def testFilenameVariableExpansion(self): | |
| 206 '''Tests that variables are expanded in filenames before inlining.''' | |
| 207 | |
| 208 files = { | |
| 209 'index.html': ''' | |
| 210 <html> | |
| 211 <head> | |
| 212 <link rel="stylesheet" href="style[WHICH].css"> | |
| 213 </head> | |
| 214 <include src="tmpl[WHICH].html"> | |
| 215 </html> | |
| 216 ''', | |
| 217 'style1.css': '''h1 {}''', | |
| 218 'tmpl1.html': '''<h1></h1>''', | |
| 219 } | |
| 220 | |
| 221 expected_inlined = ''' | |
| 222 <html> | |
| 223 <head> | |
| 224 <style>h1 {}</style> | |
| 225 </head> | |
| 226 <h1></h1> | |
| 227 </html> | |
| 228 ''' | |
| 229 | |
| 230 source_resources = set() | |
| 231 tmp_dir = util.TempDir(files) | |
| 232 for filename in files: | |
| 233 source_resources.add(tmp_dir.GetPath(filename)) | |
| 234 | |
| 235 def replacer(var, repl): | |
| 236 return lambda filename: filename.replace('[%s]' % var, repl) | |
| 237 | |
| 238 result = html_inline.DoInline( | |
| 239 tmp_dir.GetPath('index.html'), | |
| 240 None, | |
| 241 filename_expansion_function=replacer('WHICH', '1')) | |
| 242 resources = result.inlined_files | |
| 243 resources.add(tmp_dir.GetPath('index.html')) | |
| 244 self.failUnlessEqual(resources, source_resources) | |
|
flackr
2013/06/06 14:07:19
It might be worth adding a test which calls DoInli
dconnelly
2013/06/07 09:10:38
Done.
| |
| 245 self.failUnlessEqual(expected_inlined, | |
| 246 util.FixLineEnd(result.inlined_data, '\n')) | |
| 247 | |
| 205 | 248 |
| 206 if __name__ == '__main__': | 249 if __name__ == '__main__': |
| 207 unittest.main() | 250 unittest.main() |
| OLD | NEW |