OLD | NEW |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2015 The Chromium Authors. All rights reserved. | 2 # Copyright 2015 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import js_checker | 6 import js_checker |
7 from os import path as os_path | 7 from os import path as os_path |
8 import re | 8 import re |
9 from sys import path as sys_path | 9 from sys import path as sys_path |
10 import test_util | 10 import test_util |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
260 | 260 |
261 def testPolymerLocalIdPasses(self): | 261 def testPolymerLocalIdPasses(self): |
262 lines = [ | 262 lines = [ |
263 "this.$.id", | 263 "this.$.id", |
264 "this.$.localId", | 264 "this.$.localId", |
265 "this.$['fancy-id']", | 265 "this.$['fancy-id']", |
266 ] | 266 ] |
267 for line in lines: | 267 for line in lines: |
268 self.ShouldPassPolymerLocalIdCheck(line) | 268 self.ShouldPassPolymerLocalIdCheck(line) |
269 | 269 |
270 def ShouldFailWrapperTypeCheck(self, line): | |
Dan Beam
2017/05/30 16:16:20
can we leave these? i know there's likely tests f
dpapad
2017/05/31 22:30:20
Added equivalent smoke tests in js_checker_eslint_
| |
271 """Checks that the use of wrapper types (i.e. new Number(), @type {Number}) | |
272 is a style error. | |
273 """ | |
274 error = self.checker.WrapperTypeCheck(1, line) | |
275 self.assertNotEqual('', error, | |
276 msg='Should be flagged as style error: ' + line) | |
277 highlight = test_util.GetHighlight(line, error) | |
278 self.assertTrue(highlight in ('Boolean', 'Number', 'String')) | |
279 | |
280 def ShouldPassWrapperTypeCheck(self, line): | |
281 """Checks that the wrapper type checker doesn't flag |line| as a style | |
282 error. | |
283 """ | |
284 self.assertEqual('', self.checker.WrapperTypeCheck(1, line), | |
285 msg='Should not be flagged as style error: ' + line) | |
286 | |
287 def testWrapperTypePasses(self): | |
288 lines = [ | |
289 "/** @param {!ComplexType} */", | |
290 " * @type {Object}", | |
291 " * @param {Function=} opt_callback", | |
292 " * @param {} num Number of things to add to {blah}.", | |
293 " * @return {!print_preview.PageNumberSet}", | |
294 " /* @returns {Number} */", # Should be /** @return {Number} */ | |
295 "* @param {!LocalStrings}" | |
296 " Your type of Boolean is false!", | |
297 " Then I parameterized a Number from my friend!", | |
298 " A String of Pearls", | |
299 " types.params.aBoolean.typeString(someNumber)", | |
300 ] | |
301 for line in lines: | |
302 self.ShouldPassWrapperTypeCheck(line) | |
303 | |
304 def testWrapperTypeFails(self): | |
305 lines = [ | |
306 " /**@type {String}*/(string)", | |
307 " * @param{Number=} opt_blah A number", | |
308 "/** @private @return {!Boolean} */", | |
309 " * @param {number|String}", | |
310 ] | |
311 for line in lines: | |
312 self.ShouldFailWrapperTypeCheck(line) | |
313 | |
314 def ShouldFailVarNameCheck(self, line): | 270 def ShouldFailVarNameCheck(self, line): |
315 """Checks that var unix_hacker, $dollar are style errors.""" | 271 """Checks that var unix_hacker, $dollar are style errors.""" |
316 error = self.checker.VarNameCheck(1, line) | 272 error = self.checker.VarNameCheck(1, line) |
317 self.assertNotEqual('', error, | 273 self.assertNotEqual('', error, |
318 msg='Should be flagged as style error: ' + line) | 274 msg='Should be flagged as style error: ' + line) |
319 highlight = test_util.GetHighlight(line, error) | 275 highlight = test_util.GetHighlight(line, error) |
320 self.assertFalse('var ' in highlight); | 276 self.assertFalse('var ' in highlight); |
321 | 277 |
322 def ShouldPassVarNameCheck(self, line): | 278 def ShouldPassVarNameCheck(self, line): |
323 """Checks that variableNamesLikeThis aren't style errors.""" | 279 """Checks that variableNamesLikeThis aren't style errors.""" |
(...skipping 24 matching lines...) Expand all Loading... | |
348 " var SCARE_SMALL_CHILDREN = [", # TODO(dbeam): add @const in | 304 " var SCARE_SMALL_CHILDREN = [", # TODO(dbeam): add @const in |
349 # front of all these vars like | 305 # front of all these vars like |
350 "/** @const */ CONST_VAR = 1;", # this line has (<--). | 306 "/** @const */ CONST_VAR = 1;", # this line has (<--). |
351 ] | 307 ] |
352 for line in lines: | 308 for line in lines: |
353 self.ShouldPassVarNameCheck(line) | 309 self.ShouldPassVarNameCheck(line) |
354 | 310 |
355 | 311 |
356 if __name__ == '__main__': | 312 if __name__ == '__main__': |
357 unittest.main() | 313 unittest.main() |
OLD | NEW |