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

Side by Side Diff: src/caterpillar_test.py

Issue 1644543005: inject_misc_tags no longer fails if document has no head. Resolves #16. (Closed) Base URL: git@github.com:chromium/caterpillar.git@master
Patch Set: Response to CR + tests Created 4 years, 10 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
« src/caterpillar.py ('K') | « src/caterpillar.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python2 1 #!/usr/bin/env python2
2 # -*- coding: utf-8 -*- 2 # -*- coding: utf-8 -*-
3 3
4 # Copyright 2016 Google Inc. All Rights Reserved. 4 # Copyright 2016 Google Inc. All Rights Reserved.
5 # 5 #
6 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License. 7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at 8 # You may obtain a copy of the License at
9 # 9 #
10 # http://www.apache.org/licenses/LICENSE-2.0 10 # http://www.apache.org/licenses/LICENSE-2.0
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 440
441 def test_meta_name(self): 441 def test_meta_name(self):
442 """Tests that the meta name tag is added and correct.""" 442 """Tests that the meta name tag is added and correct."""
443 chrome_app_manifest = {'name': 'a náme'} 443 chrome_app_manifest = {'name': 'a náme'}
444 root_path = 'path' 444 root_path = 'path'
445 caterpillar.inject_misc_tags(self.soup, chrome_app_manifest, root_path, '') 445 caterpillar.inject_misc_tags(self.soup, chrome_app_manifest, root_path, '')
446 meta = self.soup.find('meta', {'name': 'name'}) 446 meta = self.soup.find('meta', {'name': 'name'})
447 self.assertIsNotNone(meta) 447 self.assertIsNotNone(meta)
448 self.assertEqual(meta['content'], chrome_app_manifest['name']) 448 self.assertEqual(meta['content'], chrome_app_manifest['name'])
449 449
450 def test_no_head(self):
451 """Tests that the manifest link tag is added even with no head."""
452 chrome_app_manifest = {}
453 root_path = 'path'
454 html = """
Matt Giuca 2016/01/29 02:19:26 """\
Matthew Alger 2016/01/29 02:41:51 Done.
455 <!DOCTYPE html>
456 <html>
457 <body>
458 <h1>
459 Héllo, World! ÚÑÍ¢ÓÐÉ
460 </h1>
461 </body>
462 </html>"""
463 soup = bs4.BeautifulSoup(html, 'html.parser')
464 caterpillar.inject_misc_tags(soup, chrome_app_manifest, root_path, '')
465 link = soup.find('link', rel='manifest')
Matt Giuca 2016/01/29 02:19:26 Again, I think you should match the entire file, n
Matthew Alger 2016/01/29 02:41:51 Done.
466 self.assertIsNotNone(link)
467 self.assertEqual(link['href'],
468 os.path.join(root_path, 'manifest.webmanifest'))
469 self.assertIsNotNone(soup.find('head'))
470
471 def test_no_head_or_html(self):
472 """Tests that the manifest link tag is added with no head or html tags."""
473 chrome_app_manifest = {}
474 root_path = 'path'
475 html = """
476 <!DOCTYPE html>
477 <body>
478 <h1>
479 Héllo, World! ÚÑÍ¢ÓÐÉ
480 </h1>
481 </body>"""
482 soup = bs4.BeautifulSoup(html, 'html.parser')
483 caterpillar.inject_misc_tags(soup, chrome_app_manifest, root_path, '')
484 link = soup.find('link', rel='manifest')
485 self.assertIsNotNone(link)
486 self.assertEqual(link['href'],
487 os.path.join(root_path, 'manifest.webmanifest'))
488 self.assertIsNotNone(soup.find('head'))
489
450 490
451 class TestInsertTodosIntoFile(TestCaseWithTempDir): 491 class TestInsertTodosIntoFile(TestCaseWithTempDir):
452 """Tests insert_todos_into_file.""" 492 """Tests insert_todos_into_file."""
453 493
454 def test_no_todos(self): 494 def test_no_todos(self):
455 """Tests that if there are no TODOs to add, nothing is changed.""" 495 """Tests that if there are no TODOs to add, nothing is changed."""
456 js = """// héllo world 496 js = """// héllo world
457 unrelated.app.call();""" 497 unrelated.app.call();"""
458 filename = 'test.js' 498 filename = 'test.js'
459 filepath = os.path.join(self.temp_path, filename) 499 filepath = os.path.join(self.temp_path, filename)
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 } 652 }
613 caterpillar.edit_code(self.output_path, [], chrome_app_manifest, 653 caterpillar.edit_code(self.output_path, [], chrome_app_manifest,
614 {'boilerplate_dir': BOILERPLATE_DIR}) 654 {'boilerplate_dir': BOILERPLATE_DIR})
615 with codecs.open(os.path.join(self.output_path, 'my índex.html'), 655 with codecs.open(os.path.join(self.output_path, 'my índex.html'),
616 encoding='utf-8') as js_file: 656 encoding='utf-8') as js_file:
617 self.assertIn('<meta content="test233" name="name"', js_file.read()) 657 self.assertIn('<meta content="test233" name="name"', js_file.read())
618 658
619 659
620 if __name__ == '__main__': 660 if __name__ == '__main__':
621 unittest.main() 661 unittest.main()
OLDNEW
« src/caterpillar.py ('K') | « src/caterpillar.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698