diff options
Diffstat (limited to 'chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/strip_js_comments_unittest.py')
-rw-r--r-- | chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/strip_js_comments_unittest.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/strip_js_comments_unittest.py b/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/strip_js_comments_unittest.py new file mode 100644 index 00000000000..685cb824a24 --- /dev/null +++ b/chromium/third_party/catapult/common/py_vulcanize/py_vulcanize/strip_js_comments_unittest.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python +# Copyright (c) 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Tests for strip_js_comments module.""" + +import unittest + +from py_vulcanize import strip_js_comments + + +# This test case tests a protected method. +# pylint: disable=W0212 +class JavaScriptStripCommentTests(unittest.TestCase): + """Test case for _strip_js_comments and _TokenizeJS.""" + + def test_strip_comments(self): + self.assertEquals( + 'A ', strip_js_comments.StripJSComments('A // foo')) + self.assertEquals( + 'A bar', strip_js_comments.StripJSComments('A // foo\nbar')) + self.assertEquals( + 'A b', strip_js_comments.StripJSComments('A /* foo */ b')) + self.assertEquals( + 'A b', strip_js_comments.StripJSComments('A /* foo\n */ b')) + + def test_tokenize_empty(self): + tokens = list(strip_js_comments._TokenizeJS('')) + self.assertEquals([], tokens) + + def test_tokenize_nl(self): + tokens = list(strip_js_comments._TokenizeJS('\n')) + self.assertEquals(['\n'], tokens) + + def test_tokenize_slashslash_comment(self): + tokens = list(strip_js_comments._TokenizeJS('A // foo')) + self.assertEquals(['A ', '//', ' foo'], tokens) + + def test_tokenize_slashslash_comment_then_newline(self): + tokens = list(strip_js_comments._TokenizeJS('A // foo\nbar')) + self.assertEquals(['A ', '//', ' foo', '\n', 'bar'], tokens) + + def test_tokenize_cstyle_comment_one_line(self): + tokens = list(strip_js_comments._TokenizeJS('A /* foo */')) + self.assertEquals(['A ', '/*', ' foo ', '*/'], tokens) + + def test_tokenize_cstyle_comment_multi_line(self): + tokens = list(strip_js_comments._TokenizeJS('A /* foo\n*bar\n*/')) + self.assertEquals(['A ', '/*', ' foo', '\n', '*bar', '\n', '*/'], tokens) + + +if __name__ == '__main__': + unittest.main() |