# Copyright 2015 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. import unittest from catapult_build import js_checks class JsChecksTest(unittest.TestCase): def testCheckStrictModeReturnsNoErrorsWhenAllScriptElementsAreStrict(self): contents = """
""" self.assertEqual( [], js_checks.CheckStrictMode(contents, is_html_file=True)) def testCheckStrictModeReturnsNoErrorsWhenThereAreNoScriptTags(self): contents = """
""" self.assertEqual( [], js_checks.CheckStrictMode(contents, is_html_file=True)) def testCheckStrictModeReturnsNoErrorsWhenJSFileIsStrict(self): contents = """ 'use strict'; var a = 1 + 1; var b = 2 + 2; """ self.assertEqual( [], js_checks.CheckStrictMode(contents, is_html_file=False)) def testCheckStrictModeWhenThereIsACommentAboveTheDeclaration(self): contents = """ // This is a comment at the top /* another comment which spans two lines */ 'use strict'; var a = 1 + 1; var b = 2 + 2; """ self.assertEqual( [], js_checks.CheckStrictMode(contents, is_html_file=False)) def testCheckStrictModeDoesntCheckExternalScriptElements(self): contents = """ """ self.assertEqual( [], js_checks.CheckStrictMode(contents, is_html_file=True)) def testCheckStrictModeReturnsAnErrorWhenOneScriptElementIsNotStrict(self): contents = """
""" self.assertEqual( 1, len(js_checks.CheckStrictMode(contents, is_html_file=True))) def testCheckStrictModeReturnsAnErrorWhenJSFileIsNonStrict(self): contents = """ var a = 1 + 1; var b = 2 + 2; """ self.assertEqual( 1, len(js_checks.CheckStrictMode(contents, is_html_file=False)))