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

Side by Side Diff: appengine/monorail/features/test/prettify_test.py

Issue 1868553004: Open Source Monorail (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Rebase Created 4 years, 8 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
OLDNEW
(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()
OLDNEW
« no previous file with comments | « appengine/monorail/features/test/notify_test.py ('k') | appengine/monorail/features/test/savedqueries_helpers_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698