OLD | NEW |
(Empty) | |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is govered by a BSD-style |
| 3 # license that can be found in the LICENSE file or at |
| 4 # https://developers.google.com/open-source/licenses/bsd |
| 5 |
| 6 """Unittest for the prettify module.""" |
| 7 |
| 8 import unittest |
| 9 |
| 10 from third_party import ezt |
| 11 |
| 12 from features import prettify |
| 13 |
| 14 |
| 15 class SourceBrowseTest(unittest.TestCase): |
| 16 |
| 17 def testPrepareSourceLinesForHighlighting(self): |
| 18 # String representing an empty source file |
| 19 src = '' |
| 20 |
| 21 file_lines = prettify.PrepareSourceLinesForHighlighting(src) |
| 22 self.assertEqual(len(file_lines), 0) |
| 23 |
| 24 def testPrepareSourceLinesForHighlightingNoBreaks(self): |
| 25 # seven lines of text with no blank lines |
| 26 src = ' 1\n 2\n 3\n 4\n 5\n 6\n 7' |
| 27 |
| 28 file_lines = prettify.PrepareSourceLinesForHighlighting(src) |
| 29 self.assertEqual(len(file_lines), 7) |
| 30 out_lines = [fl.line for fl in file_lines] |
| 31 self.assertEqual('\n'.join(out_lines), src) |
| 32 |
| 33 file_lines = prettify.PrepareSourceLinesForHighlighting(src) |
| 34 self.assertEqual(len(file_lines), 7) |
| 35 |
| 36 def testPrepareSourceLinesForHighlightingWithBreaks(self): |
| 37 # seven lines of text with line 5 being blank |
| 38 src = ' 1\n 2\n 3\n 4\n\n 6\n 7' |
| 39 |
| 40 file_lines = prettify.PrepareSourceLinesForHighlighting(src) |
| 41 self.assertEqual(len(file_lines), 7) |
| 42 |
| 43 |
| 44 class BuildPrettifyDataTest(unittest.TestCase): |
| 45 |
| 46 def testNonSourceFile(self): |
| 47 prettify_data = prettify.BuildPrettifyData(0, '/dev/null') |
| 48 self.assertDictEqual( |
| 49 dict(should_prettify=ezt.boolean(False), |
| 50 prettify_class=None), |
| 51 prettify_data) |
| 52 |
| 53 prettify_data = prettify.BuildPrettifyData(10, 'readme.txt') |
| 54 self.assertDictEqual( |
| 55 dict(should_prettify=ezt.boolean(False), |
| 56 prettify_class=None), |
| 57 prettify_data) |
| 58 |
| 59 def testGenericLanguage(self): |
| 60 prettify_data = prettify.BuildPrettifyData(123, 'trunk/src/hello.php') |
| 61 self.assertDictEqual( |
| 62 dict(should_prettify=ezt.boolean(True), |
| 63 prettify_class=''), |
| 64 prettify_data) |
| 65 |
| 66 def testSpecificLanguage(self): |
| 67 prettify_data = prettify.BuildPrettifyData(123, 'trunk/src/hello.java') |
| 68 self.assertDictEqual( |
| 69 dict(should_prettify=ezt.boolean(True), |
| 70 prettify_class='lang-java'), |
| 71 prettify_data) |
| 72 |
| 73 def testThirdPartyExtensionLanguages(self): |
| 74 for ext in ['apollo', 'agc', 'aea', 'el', 'scm', 'cl', 'lisp', |
| 75 'go', 'hs', 'lua', 'fs', 'ml', 'proto', 'scala', |
| 76 'sql', 'vb', 'vbs', 'vhdl', 'vhd', 'wiki', 'yaml', |
| 77 'yml', 'clj']: |
| 78 prettify_data = prettify.BuildPrettifyData(123, '/trunk/src/hello.' + ext) |
| 79 self.assertDictEqual( |
| 80 dict(should_prettify=ezt.boolean(True), |
| 81 prettify_class='lang-' + ext), |
| 82 prettify_data) |
| 83 |
| 84 def testExactFilename(self): |
| 85 prettify_data = prettify.BuildPrettifyData(123, 'trunk/src/Makefile') |
| 86 self.assertDictEqual( |
| 87 dict(should_prettify=ezt.boolean(True), |
| 88 prettify_class='lang-sh'), |
| 89 prettify_data) |
| 90 |
| 91 |
| 92 if __name__ == '__main__': |
| 93 unittest.main() |
OLD | NEW |