mirror of
https://github.com/github/codeql.git
synced 2026-04-26 01:05:15 +02:00
JS: Accept raw test output
This commit is contained in:
@@ -1 +1,4 @@
|
||||
#select
|
||||
| bad.js:14:7:14:23 | $compile(element) | This call to $compile may cause double compilation of 'element'. |
|
||||
testFailures
|
||||
| bad.js:14:7:14:23 | This call to $compile may cause double compilation of 'element'. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
#select
|
||||
| duplicates.js:2:5:2:18 | function f(){} | This function has a duplicate dependency $@. | duplicates.js:3:26:3:31 | 'dup5' | dup5 |
|
||||
| duplicates.js:6:33:6:56 | functio ... up2b){} | This function has a duplicate dependency $@. | duplicates.js:6:24:6:30 | 'dup2a' | dup2a |
|
||||
| duplicates.js:7:33:7:56 | functio ... up3b){} | This function has a duplicate dependency $@. | duplicates.js:7:24:7:30 | 'dup3b' | dup3b |
|
||||
| duplicates.js:8:43:8:78 | functio ... up4C){} | This function has a duplicate dependency $@. | duplicates.js:8:35:8:40 | 'dup4' | dup4 |
|
||||
| duplicates.js:15:35:15:113 | functio ... } | This function has a duplicate dependency $@. | duplicates.js:15:25:15:32 | 'dup11a' | dup11a |
|
||||
testFailures
|
||||
| duplicates.js:2:5:2:18 | This function has a duplicate dependency $@. | Unexpected result: Alert |
|
||||
| duplicates.js:3:35:3:44 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
#select
|
||||
| tst2.html:2:6:2:24 | href={{help_url}} | Use 'ng-href' instead of 'href'. |
|
||||
| tst.html:7:6:7:24 | href={{help_url}} | Use 'ng-href' instead of 'href'. |
|
||||
| tst.html:9:40:9:83 | srcset=#/resources/pics-large/{{item._id}} | Use 'ng-srcset' instead of 'srcset'. |
|
||||
| tst.html:10:10:10:52 | src=#/resources/pics-default/{{item._id}} | Use 'ng-src' instead of 'src'. |
|
||||
| tst_fragment.html:2:6:2:24 | href={{help_url}} | Use 'ng-href' instead of 'href'. |
|
||||
testFailures
|
||||
| tst.html:9:40:9:83 | Use 'ng-srcset' instead of 'srcset'. | Unexpected result: Alert |
|
||||
| tst.html:10:10:10:52 | Use 'ng-src' instead of 'src'. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
#select
|
||||
| AmbiguousIdAttribute.html:4:5:4:14 | id=first | This element has the same id as $@. | AmbiguousIdAttribute.html:5:5:5:14 | id=first | another element |
|
||||
| AmbiguousIdAttribute_fragment.html:2:7:2:16 | id=first | This element has the same id as $@. | AmbiguousIdAttribute_fragment.html:3:7:3:16 | id=first | another element |
|
||||
| tst.js:17:22:17:33 | id="theDiff" | This element has the same id as $@. | tst.js:17:46:17:57 | id="theDiff" | another element |
|
||||
testFailures
|
||||
| AmbiguousIdAttribute.html:4:5:4:14 | This element has the same id as $@. | Unexpected result: Alert |
|
||||
| AmbiguousIdAttribute_fragment.html:2:7:2:16 | This element has the same id as $@. | Unexpected result: Alert |
|
||||
| tst.js:5:67:5:76 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:7:68:7:77 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:9:20:9:29 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:12:60:12:69 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:19:51:19:60 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
#select
|
||||
| ConflictingAttributes.html:1:4:1:27 | href=http://semmle.com | This attribute has the same name as $@ of the same element, but a different value. | ConflictingAttributes.html:1:29:1:53 | href=https://semmle.com | another attribute |
|
||||
| tst.js:5:4:5:27 | href="h ... le.com" | This attribute has the same name as $@ of the same element, but a different value. | tst.js:5:29:5:53 | href="h ... le.com" | another attribute |
|
||||
| tst.js:12:4:12:27 | href="h ... le.com" | This attribute has the same name as $@ of the same element, but a different value. | tst.js:12:29:12:46 | href={someValue()} | another attribute |
|
||||
testFailures
|
||||
| ConflictingAttributes.html:1:4:1:27 | This attribute has the same name as $@ of the same element, but a different value. | Unexpected result: Alert |
|
||||
| tst.js:7:68:7:77 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:9:20:9:29 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:17:73:17:82 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:19:51:19:60 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
#select
|
||||
| DuplicateAttributes.html:1:4:1:28 | href=https://semmle.com | This attribute $@. | DuplicateAttributes.html:1:30:1:54 | href=https://semmle.com | is duplicated later |
|
||||
| tst.js:7:4:7:28 | href="h ... le.com" | This attribute $@. | tst.js:7:30:7:54 | href="h ... le.com" | is duplicated later |
|
||||
| tst.js:19:17:19:28 | id="theDiff" | This attribute $@. | tst.js:19:30:19:41 | id="theDiff" | is duplicated later |
|
||||
testFailures
|
||||
| DuplicateAttributes.html:1:4:1:28 | This attribute $@. | Unexpected result: Alert |
|
||||
| tst.js:5:67:5:76 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:9:20:9:29 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:12:60:12:69 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:17:73:17:82 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
#select
|
||||
| AmbiguousIdAttributeGood.html:8:5:8:19 | id=invalid id | The value of the id attribute must not contain any space characters. |
|
||||
| AmbiguousIdAttributeGood.html:9:5:9:19 | id=invalid id | The value of the id attribute must not contain any space characters. |
|
||||
| MalformedIdAttribute.html:1:6:1:27 | id=heading important | The value of the id attribute must not contain any space characters. |
|
||||
| tst.js:9:6:9:10 | id="" | The value of the id attribute must contain at least one character. |
|
||||
| tst.js:10:6:10:13 | id="a b" | The value of the id attribute must not contain any space characters. |
|
||||
testFailures
|
||||
| AmbiguousIdAttributeGood.html:8:5:8:19 | The value of the id attribute must not contain any space characters. | Unexpected result: Alert |
|
||||
| AmbiguousIdAttributeGood.html:9:5:9:19 | The value of the id attribute must not contain any space characters. | Unexpected result: Alert |
|
||||
| MalformedIdAttribute.html:1:6:1:27 | The value of the id attribute must not contain any space characters. | Unexpected result: Alert |
|
||||
| tst.js:5:67:5:76 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:7:68:7:77 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:10:6:10:13 | The value of the id attribute must not contain any space characters. | Unexpected result: Alert |
|
||||
| tst.js:12:60:12:69 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:17:73:17:82 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:19:51:19:60 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
#select
|
||||
| tst.js:1:1:1:22 | window. ... ut(";") | Avoid using functions that evaluate strings as code. |
|
||||
| tst.js:2:1:2:24 | setInte ... te();") | Avoid using functions that evaluate strings as code. |
|
||||
| tst.js:4:1:4:31 | documen ... i!');") | Avoid using functions that evaluate strings as code. |
|
||||
| tst.js:5:1:5:30 | window. ... gger;") | Avoid using functions that evaluate strings as code. |
|
||||
| tst.js:9:3:9:33 | documen ... d = 2") | Avoid using functions that evaluate strings as code. |
|
||||
testFailures
|
||||
| tst.js:1:1:1:22 | Avoid using functions that evaluate strings as code. | Unexpected result: Alert |
|
||||
| tst.js:2:1:2:24 | Avoid using functions that evaluate strings as code. | Unexpected result: Alert |
|
||||
| tst.js:4:1:4:31 | Avoid using functions that evaluate strings as code. | Unexpected result: Alert |
|
||||
| tst.js:5:1:5:30 | Avoid using functions that evaluate strings as code. | Unexpected result: Alert |
|
||||
| tst.js:9:3:9:33 | Avoid using functions that evaluate strings as code. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst.html:23:1:23:61 | <a>...</> | External links without noopener/noreferrer are a potential security risk. |
|
||||
| tst.html:24:1:24:48 | <a>...</> | External links without noopener/noreferrer are a potential security risk. |
|
||||
| tst.html:25:1:25:36 | <a>...</> | External links without noopener/noreferrer are a potential security risk. |
|
||||
@@ -7,3 +8,10 @@
|
||||
| tst.js:19:1:19:51 | <a data ... ple</a> | External links without noopener/noreferrer are a potential security risk. |
|
||||
| tst.js:31:12:31:39 | $("<a/> ... X}}" }) | External links without noopener/noreferrer are a potential security risk. |
|
||||
| tst.js:39:12:39:20 | $("<a/>") | External links without noopener/noreferrer are a potential security risk. |
|
||||
testFailures
|
||||
| tst.html:23:1:23:61 | External links without noopener/noreferrer are a potential security risk. | Unexpected result: Alert |
|
||||
| tst.html:24:1:24:48 | External links without noopener/noreferrer are a potential security risk. | Unexpected result: Alert |
|
||||
| tst.html:25:1:25:36 | External links without noopener/noreferrer are a potential security risk. | Unexpected result: Alert |
|
||||
| tst.html:30:1:30:61 | External links without noopener/noreferrer are a potential security risk. | Unexpected result: Alert |
|
||||
| tst.js:18:1:18:58 | External links without noopener/noreferrer are a potential security risk. | Unexpected result: Alert |
|
||||
| tst.js:19:1:19:51 | External links without noopener/noreferrer are a potential security risk. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
#select
|
||||
| tst.js:3:5:3:13 | arguments | Redefinition of arguments. |
|
||||
| tst.js:7:7:7:15 | arguments | Redefinition of arguments. |
|
||||
| tst.js:11:11:11:19 | arguments | Redefinition of arguments. |
|
||||
| tst.js:12:11:12:19 | arguments | Redefinition of arguments. |
|
||||
testFailures
|
||||
| tst.js:11:11:11:19 | Redefinition of arguments. | Unexpected result: Alert |
|
||||
| tst.js:12:11:12:19 | Redefinition of arguments. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| classes.js:3:1:3:10 | class C {} | Assignment to variable C, which is $@ constant. | classes.js:1:1:1:13 | const C = 45; | declared |
|
||||
| functions.js:3:10:3:10 | C | Assignment to variable C, which is $@ constant. | functions.js:1:1:1:13 | const C = 45; | declared |
|
||||
| tst.js:3:1:3:6 | x = 42 | Assignment to variable x, which is $@ constant. | tst.js:1:1:1:21 | const x ... y = 42; | declared |
|
||||
@@ -5,3 +6,5 @@
|
||||
| tst.js:7:5:7:10 | y = -1 | Assignment to variable y, which is $@ constant. | tst.js:1:1:1:21 | const x ... y = 42; | declared |
|
||||
| tst.js:9:1:9:3 | ++x | Assignment to variable x, which is $@ constant. | tst.js:1:1:1:21 | const x ... y = 42; | declared |
|
||||
| tst.js:21:10:21:14 | [ c ] | Assignment to variable c, which is $@ constant. | tst.js:20:5:20:19 | const c = null; | declared |
|
||||
testFailures
|
||||
| tst.js:21:10:21:14 | Assignment to variable c, which is $@ constant. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| tst.js:3:12:3:12 | g | Declaration of function g conflicts with $@ in the same scope. | tst.js:7:12:7:12 | g | another declaration |
|
||||
testFailures
|
||||
| tst.js:3:12:3:12 | Declaration of function g conflicts with $@ in the same scope. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
#select
|
||||
| tst.js:1:1:1:1 | g | This definition of g is useless, since its value is never read. |
|
||||
| worker.js:3:1:3:9 | onmissage | This definition of onmissage is useless, since its value is never read. |
|
||||
testFailures
|
||||
| worker.js:3:1:3:9 | This definition of onmissage is useless, since its value is never read. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| overload.ts:10:12:10:14 | baz | The value assigned to baz here is unused. |
|
||||
| tst2.js:25:9:25:14 | x = 23 | The initial value of x is unused, since it is always overwritten. |
|
||||
| tst2.js:27:9:27:14 | x = 42 | The value assigned to x here is unused. |
|
||||
@@ -11,3 +12,10 @@
|
||||
| tst.js:130:7:130:13 | {x} = o | The initial value of x is unused, since it is always overwritten. |
|
||||
| tst.js:160:6:160:14 | [x] = [0] | The initial value of x is unused, since it is always overwritten. |
|
||||
| tst.js:170:7:170:17 | nSign = foo | The value assigned to nSign here is unused. |
|
||||
testFailures
|
||||
| tst.js:43:6:43:11 | The initial value of x is unused, since it is always overwritten. | Unexpected result: Alert |
|
||||
| tst.js:49:6:49:11 | The initial value of x is unused, since it is always overwritten. | Unexpected result: Alert |
|
||||
| tst.js:130:7:130:13 | The initial value of x is unused, since it is always overwritten. | Unexpected result: Alert |
|
||||
| tst.js:160:6:160:14 | The initial value of x is unused, since it is always overwritten. | Unexpected result: Alert |
|
||||
| tst.js:170:7:170:17 | The value assigned to nSign here is unused. | Unexpected result: Alert |
|
||||
| tst2.js:27:9:27:14 | The value assigned to x here is unused. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| exports.js:2:1:2:22 | exports ... = "yes" | This write to property 'answer' is useless, since $@ always overrides it. | exports.js:3:1:3:21 | exports ... = "no" | another property write |
|
||||
| fieldInit.ts:10:3:10:8 | f = 4; | This write to property 'f' is useless, since $@ always overrides it. | fieldInit.ts:13:5:13:14 | this.f = 5 | another property write |
|
||||
| fieldInit.ts:18:22:18:22 | h | This write to property 'h' is useless, since $@ always overrides it. | fieldInit.ts:19:5:19:14 | this.h = h | another property write |
|
||||
@@ -16,3 +17,5 @@
|
||||
| tst.js:96:5:96:17 | o.pure18 = 42 | This write to property 'pure18' is useless, since $@ always overrides it. | tst.js:97:5:97:17 | o.pure18 = 42 | another property write |
|
||||
| tst.js:114:2:114:14 | o.setter = 42 | This write to property 'setter' is useless, since $@ always overrides it. | tst.js:115:2:115:14 | o.setter = 87 | another property write |
|
||||
| tst.js:118:2:118:104 | Object. ... lue()}) | This write to property 'prop' is useless, since $@ always overrides it. | tst.js:119:2:119:12 | o.prop = 42 | another property write |
|
||||
testFailures
|
||||
| tst.js:114:2:114:14 | This write to property 'setter' is useless, since $@ always overrides it. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
#select
|
||||
| jslint.js:7:1:7:1 | z | Variable 'z' is used before its $@. | jslint.js:8:11:8:11 | z | declaration |
|
||||
| tst2.js:5:13:5:13 | x | Variable 'x' is used before its $@. | tst2.js:6:5:6:5 | x | declaration |
|
||||
testFailures
|
||||
| jslint.js:6:4:6:13 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| tst.js:1:19:1:28 | defaultVal | This expression refers to $@ before it is defined. | tst.js:2:5:4:5 | functio ... ;\\n } | defaultVal |
|
||||
testFailures
|
||||
| tst.js:1:19:1:28 | This expression refers to $@ before it is defined. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| abstract-missing.ts:3:5:3:24 | setAudioProperties() | This call refers to a global function, and not the local method $@. | abstract-missing.ts:6:3:6:32 | abstrac ... ties(); | setAudioProperties |
|
||||
| indirection.js:7:9:7:20 | m("default") | This call refers to a global function, and not the local method $@. | indirection.js:2:5:4:5 | m() {\\n ... ;\\n } | m |
|
||||
| missing1.js:3:5:3:24 | setAudioProperties() | This call refers to a global function, and not the local method $@. | missing1.js:6:3:7:3 | setAudi ... (){\\n } | setAudioProperties |
|
||||
@@ -8,3 +9,5 @@
|
||||
| namespaces-uses.ts:16:7:16:22 | globalFunction() | This call refers to a global function, and not the local method $@. | namespaces-uses.ts:15:5:17:5 | globalF ... t\\n } | globalFunction |
|
||||
| namespaces-uses.ts:30:7:30:22 | globalFunction() | This call refers to a global function, and not the local method $@. | namespaces-uses.ts:29:5:31:5 | globalF ... t\\n } | globalFunction |
|
||||
| not-ignored-by-jslint.js:4:5:4:24 | setAudioProperties() | This call refers to a global function, and not the local method $@. | not-ignored-by-jslint.js:7:3:8:3 | setAudi ... (){\\n } | setAudioProperties |
|
||||
testFailures
|
||||
| namespaces-uses.ts:22:34:22:103 | // $ Al ... ignored | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| test.js:5:7:5:7 | i | Variable i is used like a local variable, but is missing a declaration. |
|
||||
| test.js:12:7:12:7 | i | Variable i is used like a local variable, but is missing a declaration. |
|
||||
| test.js:20:2:20:2 | y | Variable y is used like a local variable, but is missing a declaration. |
|
||||
@@ -7,3 +8,9 @@
|
||||
| test.js:66:9:66:20 | unresolvable | Variable unresolvable is used like a local variable, but is missing a declaration. |
|
||||
| tst3.js:7:10:7:10 | x | Variable x is used like a local variable, but is missing a declaration. |
|
||||
| tst3.js:7:16:7:19 | rest | Variable rest is used like a local variable, but is missing a declaration. |
|
||||
testFailures
|
||||
| test.js:54:9:54:18 | // $ Alert | Missing result: Alert |
|
||||
| test.js:55:6:55:6 | Variable y is used like a local variable, but is missing a declaration. | Unexpected result: Alert |
|
||||
| test.js:66:9:66:20 | Variable unresolvable is used like a local variable, but is missing a declaration. | Unexpected result: Alert |
|
||||
| tst3.js:7:10:7:10 | Variable x is used like a local variable, but is missing a declaration. | Unexpected result: Alert |
|
||||
| tst3.js:7:16:7:19 | Variable rest is used like a local variable, but is missing a declaration. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| sameNameForFunctionAndVariable.js:2:10:2:13 | fun1 | This variable has already $@. | sameNameForFunctionAndVariable.js:1:5:1:8 | fun1 | been declared |
|
||||
| sameNameForFunctionAndVariable.js:7:5:7:8 | fun2 | This variable has already $@. | sameNameForFunctionAndVariable.js:5:10:5:13 | fun2 | been declared |
|
||||
| tst3.js:9:10:9:10 | f | This variable has already $@. | tst3.js:3:10:3:10 | f | been declared |
|
||||
@@ -6,3 +7,7 @@
|
||||
| tst4.js:12:12:12:12 | i | This variable has already $@. | tst4.js:11:7:11:7 | i | been declared |
|
||||
| tst4.js:19:7:19:7 | y | This variable has already $@. | tst4.js:17:7:17:7 | y | been declared |
|
||||
| tst4.js:22:5:22:5 | g | This variable has already $@. | tst4.js:6:10:6:10 | g | been declared |
|
||||
testFailures
|
||||
| sameNameForFunctionAndVariable.js:2:10:2:13 | This variable has already $@. | Unexpected result: Alert |
|
||||
| sameNameForFunctionAndVariable.js:7:5:7:8 | This variable has already $@. | Unexpected result: Alert |
|
||||
| tst4.js:22:5:22:5 | This variable has already $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| excessiveParameterList.js:4:1:4:48 | functio ... p8) {\\n} | Function func2 has too many parameters (8). |
|
||||
testFailures
|
||||
| excessiveParameterList.js:4:1:4:48 | Function func2 has too many parameters (8). | Unexpected result: Alert |
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
#select
|
||||
| tst.js:2:1:2:1 | x | This parameter has the same name as $@ of the same function. | tst.js:4:1:4:6 | \\u0078 | another parameter |
|
||||
| tst.js:3:1:3:1 | x | This parameter has the same name as $@ of the same function. | tst.js:4:1:4:6 | \\u0078 | another parameter |
|
||||
testFailures
|
||||
| tst.js:2:1:2:1 | This parameter has the same name as $@ of the same function. | Unexpected result: Alert |
|
||||
| tst.js:4:8:4:17 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#select
|
||||
| tst2.js:8:3:10:3 | setX: f ... x;\\n } | This property is overwritten by $@ in the same object literal. | tst2.js:16:3:18:3 | setX: f ... x;\\n } | another property |
|
||||
| tst.js:20:3:20:7 | x: 23 | This property is overwritten by $@ in the same object literal. | tst.js:23:3:23:7 | x: 56 | another property |
|
||||
| tst.js:21:3:21:12 | y: "hello" | This property is overwritten by $@ in the same object literal. | tst.js:24:3:24:14 | "y": "world" | another property |
|
||||
| tst.js:22:3:22:7 | x: 42 | This property is overwritten by $@ in the same object literal. | tst.js:23:3:23:7 | x: 56 | another property |
|
||||
testFailures
|
||||
| tst2.js:8:3:10:3 | This property is overwritten by $@ in the same object literal. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#select
|
||||
| A.ts:3:24:3:24 | B | B is uninitialized if $@ is loaded first in the cyclic import: A => B => A. | A.ts:1:17:1:21 | './B' | B |
|
||||
| B.ts:5:24:5:24 | A | A is uninitialized if $@ is loaded first in the cyclic import: B => A => B. | B.ts:1:17:1:21 | './A' | A |
|
||||
| ExampleBad/services.js:5:3:5:14 | AudioService | AudioService is uninitialized if $@ is loaded first in the cyclic import: services => audio => services. | ExampleBad/services.js:1:30:1:38 | './audio' | audio |
|
||||
testFailures
|
||||
| ExampleBad/services.js:5:3:5:14 | AudioService is uninitialized if $@ is loaded first in the cyclic import: services => audio => services. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#select
|
||||
| istype.ts:18:15:18:18 | node | The parameter 'node' is never used. |
|
||||
| parameter_field.ts:6:15:6:15 | x | The parameter 'x' is never used. |
|
||||
| tst2.js:1:12:1:12 | x | The parameter 'x' is never used. |
|
||||
| tst2.js:28:12:28:12 | x | The parameter 'x' is never used. |
|
||||
| tst.js:6:32:6:34 | idx | The parameter 'idx' is never used. |
|
||||
| tst.js:10:13:10:13 | x | The parameter 'x' is never used. |
|
||||
testFailures
|
||||
| tst2.js:28:12:28:12 | The parameter 'x' is never used. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst2.ts:24:21:24:25 | p: 42 | Unused property p. |
|
||||
| tst.js:4:9:4:19 | unused1: 42 | Unused property unused1. |
|
||||
| tst.js:19:5:19:15 | unused9: 42 | Unused property unused9. |
|
||||
@@ -7,3 +8,13 @@
|
||||
| tst.js:52:3:52:14 | unused14: 42 | Unused property unused14. |
|
||||
| tst.js:54:2:54:20 | captured14.unused14 | Unused property unused14. |
|
||||
| tst.js:55:2:55:20 | captured14.unused14 | Unused property unused14. |
|
||||
testFailures
|
||||
| tst.js:4:9:4:19 | Unused property unused1. | Unexpected result: Alert |
|
||||
| tst.js:19:5:19:15 | Unused property unused9. | Unexpected result: Alert |
|
||||
| tst.js:26:13:26:24 | Unused property unused11. | Unexpected result: Alert |
|
||||
| tst.js:31:13:31:35 | Unused property used12_butNotReally. | Unexpected result: Alert |
|
||||
| tst.js:32:13:32:24 | Unused property unused12. | Unexpected result: Alert |
|
||||
| tst.js:52:3:52:14 | Unused property unused14. | Unexpected result: Alert |
|
||||
| tst.js:54:2:54:20 | Unused property unused14. | Unexpected result: Alert |
|
||||
| tst.js:55:2:55:20 | Unused property unused14. | Unexpected result: Alert |
|
||||
| tst2.ts:24:21:24:25 | Unused property p. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| Babelrc/importPragma.jsx:2:1:2:27 | import ... react'; | Unused import q. |
|
||||
| decorated.ts:1:1:1:126 | import ... where'; | Unused import actionHandler. |
|
||||
| decorated.ts:4:10:4:12 | fun | Unused function fun. |
|
||||
@@ -15,3 +16,12 @@
|
||||
| underscore.js:7:7:7:7 | f | Unused variable f. |
|
||||
| unusedShadowed.ts:1:1:1:26 | import ... where'; | Unused import T. |
|
||||
| unusedShadowed.ts:2:1:2:31 | import ... where'; | Unused import object. |
|
||||
testFailures
|
||||
| UnusedIndexVariable.js:3:24:3:75 | // $ Al ... ariable | Missing result: Alert |
|
||||
| decorated.ts:1:1:1:126 | Unused import actionHandler. | Unexpected result: Alert |
|
||||
| decorated.ts:4:10:4:12 | Unused function fun. | Unexpected result: Alert |
|
||||
| eval.js:10:9:10:24 | Unused variable not_used_by_eval. | Unexpected result: Alert |
|
||||
| eval.js:19:9:19:24 | Unused variable not_used_by_eval. | Unexpected result: Alert |
|
||||
| interTypes.ts:1:1:1:37 | Unused import Bar. | Unexpected result: Alert |
|
||||
| multi-imports.js:1:1:1:29 | Unused imports a, b, d. | Unexpected result: Alert |
|
||||
| multi-imports.js:2:1:2:42 | Unused imports alphabetically, ordered. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| DangerousWebPreferences.js:7:13:7:45 | allowRu ... t: true | Enabling allowRunningInsecureContent is strongly discouraged. |
|
||||
testFailures
|
||||
| DangerousWebPreferences.js:7:13:7:45 | Enabling allowRunningInsecureContent is strongly discouraged. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| DangerousWebPreferences.js:6:13:6:30 | webSecurity: false | Disabling webSecurity is strongly discouraged. |
|
||||
testFailures
|
||||
| DangerousWebPreferences.js:6:13:6:30 | Disabling webSecurity is strongly discouraged. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
#select
|
||||
| tst.js:2:9:2:24 | (x & (1<<n)) > 0 | Potentially unsafe sign check of a bitwise operation. |
|
||||
| tst.js:13:13:13:25 | (x >>> 0) > 0 | Potentially unsafe sign check of a bitwise operation. |
|
||||
| tst.js:21:1:21:21 | (x & 0x ... 00) > 0 | Potentially unsafe sign check of a bitwise operation. |
|
||||
testFailures
|
||||
| tst.js:2:9:2:24 | Potentially unsafe sign check of a bitwise operation. | Unexpected result: Alert |
|
||||
| tst.js:13:13:13:25 | Potentially unsafe sign check of a bitwise operation. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
#select
|
||||
| tst.js:11:10:11:15 | y <= y | This expression compares $@ to itself. | tst.js:11:10:11:10 | y | y |
|
||||
| tst.js:21:1:21:35 | (functi ... n() {}) | This expression compares $@ to itself. | tst.js:21:1:21:16 | (function() { }) | (function() { }) |
|
||||
testFailures
|
||||
| tst.js:11:10:11:15 | This expression compares $@ to itself. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
#select
|
||||
| tst.js:1:1:1:8 | x == NaN | Useless comparison with NaN. |
|
||||
| tst.js:2:1:2:8 | x != NaN | Useless comparison with NaN. |
|
||||
| tst.js:3:1:3:9 | x === NaN | Useless comparison with NaN. |
|
||||
| tst.js:4:1:4:9 | NaN !== x | Useless comparison with NaN. |
|
||||
| tst.js:5:1:5:7 | x < NaN | Useless comparison with NaN. |
|
||||
| tst.js:6:1:6:11 | NaN === NaN | Useless comparison with NaN. |
|
||||
testFailures
|
||||
| tst.js:1:1:1:8 | Useless comparison with NaN. | Unexpected result: Alert |
|
||||
| tst.js:2:1:2:8 | Useless comparison with NaN. | Unexpected result: Alert |
|
||||
| tst.js:3:1:3:9 | Useless comparison with NaN. | Unexpected result: Alert |
|
||||
| tst.js:4:1:4:9 | Useless comparison with NaN. | Unexpected result: Alert |
|
||||
| tst.js:5:1:5:7 | Useless comparison with NaN. | Unexpected result: Alert |
|
||||
| tst.js:6:1:6:11 | Useless comparison with NaN. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| tst.js:4:11:4:24 | msg == 'start' | This condition is a duplicate of $@. | tst.js:2:6:2:19 | msg == 'start' | msg == 'start' |
|
||||
testFailures
|
||||
| tst.js:4:11:4:24 | This condition is a duplicate of $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst2.js:4:3:6:3 | getX: f ... .x;\\n } | This property is duplicated $@. | tst2.js:12:3:14:3 | getX: f ... .x;\\n } | in a later property |
|
||||
| tst.js:2:3:2:16 | "key": "value" | This property is duplicated $@. | tst.js:5:3:5:16 | "key": "value" | in a later property |
|
||||
| tst.js:4:3:4:14 | "1": "value" | This property is duplicated $@. | tst.js:11:3:11:12 | 1: "value" | in a later property |
|
||||
@@ -6,3 +7,5 @@
|
||||
| tst.js:7:3:7:14 | key: "value" | This property is duplicated $@. | tst.js:8:3:8:19 | \\u006bey: "value" | in a later property |
|
||||
| tst.js:8:3:8:19 | \\u006bey: "value" | This property is duplicated $@. | tst.js:9:3:9:21 | "\\u006bey": "value" | in a later property |
|
||||
| tst.js:9:3:9:21 | "\\u006bey": "value" | This property is duplicated $@. | tst.js:10:3:10:19 | "\\x6bey": "value" | in a later property |
|
||||
testFailures
|
||||
| tst2.js:4:3:6:3 | This property is duplicated $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| tst.js:6:7:6:13 | 'start' | This case label is a duplicate of $@. | tst.js:3:7:3:13 | 'start' | 'start' |
|
||||
testFailures
|
||||
| tst.js:6:7:6:13 | This case label is a duplicate of $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| try.js:22:9:22:26 | x.ordinaryProperty | This expression has no effect. |
|
||||
| tst2.js:2:4:2:4 | 0 | This expression has no effect. |
|
||||
| tst.js:3:1:3:2 | 23 | This expression has no effect. |
|
||||
@@ -12,3 +13,7 @@
|
||||
| tst.js:61:2:61:20 | o.trivialNonGetter1 | This expression has no effect. |
|
||||
| tst.js:77:24:77:24 | o | This expression has no effect. |
|
||||
| uselessfn.js:1:1:1:15 | (functi ... .");\\n}) | This expression has no effect. |
|
||||
testFailures
|
||||
| tst.js:21:16:21:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:22:1:22:1 | This expression has no effect. | Unexpected result: Alert |
|
||||
| uselessfn.js:1:1:1:15 | This expression has no effect. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| interprocedural.js:11:9:11:13 | known | Variable 'known' is of type string, but it is compared to $@ of type number. | interprocedural.js:11:19:11:20 | 42 | an expression |
|
||||
| interprocedural.js:15:9:15:18 | getKnown() | This expression is of type string, but it is compared to $@ of type number. | interprocedural.js:15:24:15:25 | 42 | an expression |
|
||||
| interprocedural.js:17:9:17:27 | getKnown_indirect() | This expression is of type string, but it is compared to $@ of type number. | interprocedural.js:17:33:17:34 | 42 | an expression |
|
||||
@@ -51,3 +52,12 @@
|
||||
| tst.js:201:5:201:6 | t5 | Variable 't5' is of type boolean, null, number, string or undefined, but it is compared to $@ of type function, object or regular expression. | tst.js:201:12:201:13 | t3 | variable 't3' |
|
||||
| tst.js:216:13:216:14 | xy | Variable 'xy' is of type undefined, but it is compared to $@ of type string. | tst.js:216:20:216:24 | "foo" | an expression |
|
||||
| tst.js:224:5:224:5 | x | Variable 'x' is of type object, but it is compared to $@ of type number. | tst.js:224:11:224:12 | 42 | an expression |
|
||||
testFailures
|
||||
| interprocedural.js:11:9:11:13 | Variable 'known' is of type string, but it is compared to $@ of type number. | Unexpected result: Alert |
|
||||
| interprocedural.js:15:9:15:18 | This expression is of type string, but it is compared to $@ of type number. | Unexpected result: Alert |
|
||||
| interprocedural.js:17:9:17:27 | This expression is of type string, but it is compared to $@ of type number. | Unexpected result: Alert |
|
||||
| tst.js:19:17:19:26 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:20:6:20:7 | This expression is of type number, but it is compared to $@ of type string. | Unexpected result: Alert |
|
||||
| tst.js:41:3:41:8 | Variable 'number' is of type number, but it is compared to $@ of type string. | Unexpected result: Alert |
|
||||
| tst.js:139:5:139:9 | This expression is of type string, but it is compared to $@ of type undefined. | Unexpected result: Alert |
|
||||
| tst.js:224:5:224:5 | Variable 'x' is of type object, but it is compared to $@ of type number. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst.js:1:1:1:7 | !method | This expression will be implicitly converted from boolean to string. |
|
||||
| tst.js:15:6:15:9 | null | This expression will be implicitly converted from null to object. |
|
||||
| tst.js:17:6:17:13 | 'string' | This expression will be implicitly converted from string to object. |
|
||||
@@ -15,3 +16,9 @@
|
||||
| tst.js:99:13:99:15 | g() | This expression will be implicitly converted from undefined to string. |
|
||||
| tst.js:106:8:106:8 | y | This expression will be implicitly converted from string to number. |
|
||||
| tst.js:111:10:111:10 | y | This expression will be implicitly converted from string to number. |
|
||||
testFailures
|
||||
| tst.js:77:9:77:46 | // $ Al ... flagged | Missing result: Alert |
|
||||
| tst.js:89:5:89:7 | This expression will be implicitly converted from undefined to number. | Unexpected result: Alert |
|
||||
| tst.js:95:5:95:7 | This expression will be implicitly converted from undefined to number. | Unexpected result: Alert |
|
||||
| tst.js:98:13:98:15 | This expression will be implicitly converted from undefined to number. | Unexpected result: Alert |
|
||||
| tst.js:99:13:99:15 | This expression will be implicitly converted from undefined to string. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst.js:8:9:8:13 | thing | Missing await. The value 'thing' is always a promise. |
|
||||
| tst.js:10:9:10:13 | thing | Missing await. The value 'thing' is always a promise. |
|
||||
| tst.js:12:15:12:19 | thing | Missing await. The value 'thing' is always a promise. |
|
||||
@@ -8,3 +9,5 @@
|
||||
| tst.js:25:13:25:17 | thing | Missing await. The value 'thing' is always a promise. |
|
||||
| tst.js:48:12:48:16 | thing | Missing await. The value 'thing' is always a promise. |
|
||||
| tst.js:71:16:71:25 | getThing() | Missing await. The call to 'getThing' always returns a promise. |
|
||||
testFailures
|
||||
| tst.js:62:27:62:59 | // $ Al ... flag it | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| missing.js:2:5:2:15 | "this text" | This string appears to be missing a space after 'text'. |
|
||||
| missing.js:4:5:4:35 | "the cl ... ayList" | This string appears to be missing a space after 'java.util.ArrayList'. |
|
||||
| missing.js:6:5:6:16 | "This isn't" | This string appears to be missing a space after 'isn't'. |
|
||||
@@ -13,3 +14,19 @@
|
||||
| missing.js:28:5:28:21 | `missing a space` | This string appears to be missing a space after 'space'. |
|
||||
| missing.js:30:7:30:21 | "missing space" | This string appears to be missing a space after 'space'. |
|
||||
| missing.js:32:7:32:12 | "h. 0" | This string appears to be missing a space after '0'. |
|
||||
testFailures
|
||||
| missing.js:2:5:2:15 | This string appears to be missing a space after 'text'. | Unexpected result: Alert |
|
||||
| missing.js:4:5:4:35 | This string appears to be missing a space after 'java.util.ArrayList'. | Unexpected result: Alert |
|
||||
| missing.js:6:5:6:16 | This string appears to be missing a space after 'isn't'. | Unexpected result: Alert |
|
||||
| missing.js:8:5:8:15 | This string appears to be missing a space after '1'. | Unexpected result: Alert |
|
||||
| missing.js:10:5:10:17 | This string appears to be missing a space after 'A/B'. | Unexpected result: Alert |
|
||||
| missing.js:12:5:12:21 | This string appears to be missing a space after 'it....'. | Unexpected result: Alert |
|
||||
| missing.js:14:5:14:23 | This string appears to be missing a space after 'space?'. | Unexpected result: Alert |
|
||||
| missing.js:17:15:17:23 | This string appears to be missing a space after 'space'. | Unexpected result: Alert |
|
||||
| missing.js:20:5:20:21 | This string appears to be missing a space after 'space'. | Unexpected result: Alert |
|
||||
| missing.js:22:5:22:21 | This string appears to be missing a space after 'space'. | Unexpected result: Alert |
|
||||
| missing.js:24:5:24:21 | This string appears to be missing a space after 'space'. | Unexpected result: Alert |
|
||||
| missing.js:26:5:26:21 | This string appears to be missing a space after 'space'. | Unexpected result: Alert |
|
||||
| missing.js:28:5:28:21 | This string appears to be missing a space after 'space'. | Unexpected result: Alert |
|
||||
| missing.js:30:7:30:21 | This string appears to be missing a space after 'space'. | Unexpected result: Alert |
|
||||
| missing.js:32:7:32:12 | This string appears to be missing a space after '0'. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
#select
|
||||
| tst.js:4:19:4:24 | lenght | 'lenght' may be a typo for 'length'. |
|
||||
| tst.js:24:5:24:10 | lenght | 'lenght' may be a typo for 'length'. |
|
||||
| tst.js:24:16:24:21 | lenght | 'lenght' may be a typo for 'length'. |
|
||||
| tst.js:29:27:29:34 | avalable | 'avalable' may be a typo for 'available'. |
|
||||
| tst.js:39:5:39:12 | throught | 'throught' may be a typo for 'through' or 'throughout'. |
|
||||
| tst.js:40:5:40:9 | sheat | 'sheat' may be a typo for 'cheat', 'sheath' or 'sheet'. |
|
||||
testFailures
|
||||
| tst.js:29:37:29:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:39:5:39:12 | 'throught' may be a typo for 'through' or 'throughout'. | Unexpected result: Alert |
|
||||
| tst.js:40:5:40:9 | 'sheat' may be a typo for 'cheat', 'sheath' or 'sheet'. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| MisspelledVariableName.js:2:40:2:45 | lenght | 'lenght' may be a typo for variable $@. | MisspelledVariableName.js:2:19:2:24 | length | length |
|
||||
| tst.js:2:10:2:20 | errorMesage | 'errorMesage' may be a typo for variable $@. | tst.js:1:12:1:23 | errorMessage | errorMessage |
|
||||
| tst.js:6:10:6:21 | errorMessage | $@ may be a typo for 'errorMessage'. | tst.js:5:12:5:22 | errorMesage | errorMesage |
|
||||
@@ -11,3 +12,17 @@
|
||||
| tst.js:27:2:27:12 | thisHandler | $@ may be a typo for 'thisHandler'. | tst.js:21:6:21:15 | thisHander | thisHander |
|
||||
| tst.js:28:2:28:12 | thisHandler | $@ may be a typo for 'thisHandler'. | tst.js:21:6:21:15 | thisHander | thisHander |
|
||||
| tst.js:29:2:29:12 | thisHandler | $@ may be a typo for 'thisHandler'. | tst.js:21:6:21:15 | thisHander | thisHander |
|
||||
testFailures
|
||||
| MisspelledVariableName.js:2:40:2:45 | 'lenght' may be a typo for variable $@. | Unexpected result: Alert |
|
||||
| tst.js:2:10:2:20 | 'errorMesage' may be a typo for variable $@. | Unexpected result: Alert |
|
||||
| tst.js:6:10:6:21 | $@ may be a typo for 'errorMessage'. | Unexpected result: Alert |
|
||||
| tst.js:11:12:11:22 | 'errorMesage' may be a typo for variable $@. | Unexpected result: Alert |
|
||||
| tst.js:17:5:17:16 | $@ may be a typo for 'errorMessage'. | Unexpected result: Alert |
|
||||
| tst.js:22:2:22:12 | $@ may be a typo for 'thisHandler'. | Unexpected result: Alert |
|
||||
| tst.js:23:2:23:12 | $@ may be a typo for 'thisHandler'. | Unexpected result: Alert |
|
||||
| tst.js:24:2:24:12 | $@ may be a typo for 'thisHandler'. | Unexpected result: Alert |
|
||||
| tst.js:25:2:25:12 | $@ may be a typo for 'thisHandler'. | Unexpected result: Alert |
|
||||
| tst.js:26:2:26:12 | $@ may be a typo for 'thisHandler'. | Unexpected result: Alert |
|
||||
| tst.js:27:2:27:12 | $@ may be a typo for 'thisHandler'. | Unexpected result: Alert |
|
||||
| tst.js:28:2:28:12 | $@ may be a typo for 'thisHandler'. | Unexpected result: Alert |
|
||||
| tst.js:29:2:29:12 | $@ may be a typo for 'thisHandler'. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
#select
|
||||
| tst.js:1:1:1:11 | (x + x) / 2 | Operands $@ and $@ are identical. | tst.js:1:2:1:2 | x | x | tst.js:1:6:1:6 | x | x |
|
||||
| tst.js:2:1:2:11 | e[i] - e[i] | Operands $@ and $@ are identical. | tst.js:2:1:2:4 | e[i] | e[i] | tst.js:2:8:2:11 | e[i] | e[i] |
|
||||
| tst.js:3:1:3:15 | (x + y)/(x + y) | Operands $@ and $@ are identical. | tst.js:3:1:3:7 | (x + y) | (x + y) | tst.js:3:9:3:15 | (x + y) | (x + y) |
|
||||
| tst.js:4:1:4:29 | window. ... .height | Operands $@ and $@ are identical. | tst.js:4:1:4:13 | window.height | window.height | tst.js:4:17:4:29 | window.height | window.height |
|
||||
| tst.js:5:1:5:18 | x == 23 \|\| x == 23 | Operands $@ and $@ are identical. | tst.js:5:1:5:7 | x == 23 | x == 23 | tst.js:5:12:5:18 | x == 23 | x == 23 |
|
||||
| tst.js:9:1:9:14 | pop() && pop() | Operands $@ and $@ are identical. | tst.js:9:1:9:5 | pop() | pop() | tst.js:9:10:9:14 | pop() | pop() |
|
||||
testFailures
|
||||
| tst.js:1:1:1:11 | Operands $@ and $@ are identical. | Unexpected result: Alert |
|
||||
| tst.js:2:1:2:11 | Operands $@ and $@ are identical. | Unexpected result: Alert |
|
||||
| tst.js:3:1:3:15 | Operands $@ and $@ are identical. | Unexpected result: Alert |
|
||||
| tst.js:4:1:4:29 | Operands $@ and $@ are identical. | Unexpected result: Alert |
|
||||
| tst.js:5:1:5:18 | Operands $@ and $@ are identical. | Unexpected result: Alert |
|
||||
| tst.js:9:1:9:14 | Operands $@ and $@ are identical. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst.js:3:5:3:28 | "".repl ... i", "") | String argument $@ looks like a regular expression, but it will be interpreted as a string. | tst.js:3:16:3:23 | "/foo/i" | /foo/i |
|
||||
| tst.js:4:5:4:28 | "".repl ... /", "") | String argument $@ looks like a regular expression, but it will be interpreted as a string. | tst.js:4:16:4:23 | "/^foo/" | /^foo/ |
|
||||
| tst.js:5:5:5:28 | "".repl ... /", "") | String argument $@ looks like a regular expression, but it will be interpreted as a string. | tst.js:5:16:5:23 | "/foo$/" | /foo$/ |
|
||||
@@ -32,3 +33,38 @@
|
||||
| tst.js:39:5:39:36 | "".repl ... +", "") | String argument $@ looks like a regular expression, but it will be interpreted as a string. | tst.js:39:16:39:31 | "[^a-zA-Z0-9 ]+" | [^a-zA-Z0-9 ]+ |
|
||||
| tst.js:42:5:42:22 | "".split("/foo/i") | String argument $@ looks like a regular expression, but it will be interpreted as a string. | tst.js:42:14:42:21 | "/foo/i" | /foo/i |
|
||||
| tst.js:43:5:43:25 | "".spli ... /i", x) | String argument $@ looks like a regular expression, but it will be interpreted as a string. | tst.js:43:14:43:21 | "/foo/i" | /foo/i |
|
||||
testFailures
|
||||
| tst.js:3:5:3:28 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:4:5:4:28 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:5:5:5:28 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:6:5:6:27 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:7:5:7:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:8:5:8:30 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:9:5:9:27 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:10:5:10:27 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:11:5:11:30 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:12:5:12:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:13:5:13:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:14:5:14:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:15:5:15:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:16:5:16:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:17:5:17:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:18:5:18:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:19:5:19:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:20:5:20:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:21:5:21:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:22:5:22:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:23:5:23:24 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:24:5:24:34 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:25:5:25:28 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:26:5:26:28 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:27:5:27:30 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:28:5:28:29 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:29:5:29:35 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:32:5:32:28 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:34:5:34:22 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:35:5:35:30 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:38:5:38:31 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:39:5:39:36 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:42:5:42:22 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
| tst.js:43:5:43:25 | String argument $@ looks like a regular expression, but it will be interpreted as a string. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
#select
|
||||
| SuspiciousInvocation.js:11:5:11:58 | error(" ... status) | Callee is not a function: it has type undefined. |
|
||||
| namespace.ts:23:1:23:3 | g() | Callee is not a function: it has type object. |
|
||||
| optional-chaining.js:3:5:3:7 | a() | Callee is not a function: it has type null. |
|
||||
| optional-chaining.js:7:5:7:7 | b() | Callee is not a function: it has type undefined. |
|
||||
| super.js:10:5:10:11 | super() | Callee is not a function: it has type number. |
|
||||
| unreachable-code.js:5:9:5:11 | f() | Callee is not a function: it has type undefined. |
|
||||
testFailures
|
||||
| SuspiciousInvocation.js:11:5:11:58 | Callee is not a function: it has type undefined. | Unexpected result: Alert |
|
||||
| eval.js:9:13:9:50 | // $ Al ... flagged | Missing result: Alert |
|
||||
| optional-chaining.js:3:5:3:7 | Callee is not a function: it has type null. | Unexpected result: Alert |
|
||||
| optional-chaining.js:7:5:7:7 | Callee is not a function: it has type undefined. | Unexpected result: Alert |
|
||||
| unreachable-code.js:5:9:5:11 | Callee is not a function: it has type undefined. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
#select
|
||||
| SuspiciousPropAccess.js:4:10:4:21 | result.value | The base expression of this property access is always undefined. |
|
||||
| optional-chaining.js:3:5:3:7 | a.p | The base expression of this property access is always null. |
|
||||
| optional-chaining.js:7:5:7:7 | b.p | The base expression of this property access is always undefined. |
|
||||
| tst2.ts:19:3:19:5 | x.p | The base expression of this property access is always undefined. |
|
||||
| tst.js:32:32:32:38 | a(1)[0] | The base expression of this property access is always null. |
|
||||
| typeassertion.ts:14:3:14:9 | z.field | The base expression of this property access is always null. |
|
||||
testFailures
|
||||
| SuspiciousPropAccess.js:4:10:4:21 | The base expression of this property access is always undefined. | Unexpected result: Alert |
|
||||
| optional-chaining.js:3:5:3:7 | The base expression of this property access is always null. | Unexpected result: Alert |
|
||||
| optional-chaining.js:7:5:7:7 | The base expression of this property access is always undefined. | Unexpected result: Alert |
|
||||
| tst.js:32:32:32:38 | The base expression of this property access is always null. | Unexpected result: Alert |
|
||||
| tst2.ts:19:3:19:5 | The base expression of this property access is always undefined. | Unexpected result: Alert |
|
||||
| typeoftype.ts:3:15:3:72 | // $ Al ... karound | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
#select
|
||||
| tst.js:27:18:27:40 | onClick ... bound1} | The receiver of this event handler call is unbound, `$@` will be `undefined` in the call to $@. | tst.js:56:9:56:12 | this | this | tst.js:55:5:57:5 | unbound ... ;\\n } | unbound1 |
|
||||
| tst.js:28:18:28:40 | onClick ... bound2} | The receiver of this event handler call is unbound, `$@` will be `undefined` in the call to $@. | tst.js:60:15:60:18 | this | this | tst.js:59:5:61:5 | unbound ... ;\\n } | unbound2 |
|
||||
| tst.js:29:18:29:35 | onClick={unbound3} | The receiver of this event handler call is unbound, `$@` will be `undefined` in the call to $@. | tst.js:64:15:64:18 | this | this | tst.js:63:5:65:5 | unbound ... ;\\n } | unbound3 |
|
||||
testFailures
|
||||
| tst.js:27:18:27:40 | The receiver of this event handler call is unbound, `$@` will be `undefined` in the call to $@. | Unexpected result: Alert |
|
||||
| tst.js:28:18:28:40 | The receiver of this event handler call is unbound, `$@` will be `undefined` in the call to $@. | Unexpected result: Alert |
|
||||
| tst.js:29:18:29:35 | The receiver of this event handler call is unbound, `$@` will be `undefined` in the call to $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| UnknownDirective.html:3:64:3:86 | 'some-f ... tring'; | Unknown directive: 'some-function-string'. |
|
||||
| UnknownDirective.html:5:1:5:20 | 'some-script-string' | Unknown directive: 'some-script-string'. |
|
||||
| UnknownDirective.js:1:1:1:10 | "use foo"; | Unknown directive: 'use foo'. |
|
||||
@@ -15,3 +16,5 @@
|
||||
| UnknownDirective.js:41:5:41:65 | "[0, 0, ... , 0];"; | Unknown directive: '[0, 0, 0, 0, 0, 0, 0 ... (truncated)'. |
|
||||
| UnknownDirective.js:47:5:47:15 | ":nomunge"; | Unknown directive: ':nomunge'. |
|
||||
| UnknownDirective.js:48:5:48:30 | "foo(), ... munge"; | Unknown directive: 'foo(), bar, baz:nomu ... (truncated)'. |
|
||||
testFailures
|
||||
| UnknownDirective.js:2:15:2:24 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,75 @@
|
||||
#select
|
||||
| tst.js:162:9:162:16 | typeof x | This expression is of type string, but it is compared to $@ of type undefined. | tst.js:162:22:162:30 | undefined | 'undefined' |
|
||||
| tst.js:163:9:163:21 | typeof window | This expression is of type string, but it is compared to $@ of type undefined. | tst.js:163:27:163:35 | undefined | 'undefined' |
|
||||
| tst.js:165:9:165:16 | typeof x | This expression is of type string, but it is compared to $@ of type undefined. | tst.js:165:22:165:22 | u | variable 'u' |
|
||||
testFailures
|
||||
| global-module-definition.js:10:30:10:39 | // $ Alert | Missing result: Alert |
|
||||
| module-environment-detection.js:23:40:23:49 | // $ Alert | Missing result: Alert |
|
||||
| regression.js:9:33:9:42 | // $ Alert | Missing result: Alert |
|
||||
| regression.js:13:45:13:54 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:13:19:13:28 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:14:19:14:28 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:15:19:15:28 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:18:15:18:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:19:15:19:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:20:15:20:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:23:15:23:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:24:15:24:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:25:15:25:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:28:16:28:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:29:16:29:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:30:16:30:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:33:17:33:26 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:34:17:34:26 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:35:17:35:26 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:38:28:38:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:39:28:39:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:40:28:40:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:43:28:43:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:44:28:44:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:45:28:45:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:48:29:48:38 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:49:29:49:38 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:50:29:50:38 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:53:14:53:23 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:56:14:56:23 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:59:14:59:23 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:66:15:66:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:67:16:67:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:68:16:68:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:71:28:71:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:74:28:74:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:77:28:77:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:84:27:84:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:85:27:85:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:86:27:86:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:89:27:89:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:90:27:90:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:91:27:91:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:94:37:94:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:95:37:95:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:96:37:96:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:100:37:100:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:101:37:101:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:114:39:114:48 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:115:53:115:62 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:116:47:116:56 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:124:45:124:54 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:125:43:125:52 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:127:34:127:43 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:128:34:128:43 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:129:36:129:45 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:130:42:130:51 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:131:36:131:45 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:132:39:132:48 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:133:39:133:48 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:135:34:135:43 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:138:36:138:45 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:140:27:140:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:156:34:156:43 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:158:26:158:35 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:162:9:162:16 | This expression is of type string, but it is compared to $@ of type undefined. | Unexpected result: Alert |
|
||||
| tst.js:163:9:163:21 | This expression is of type string, but it is compared to $@ of type undefined. | Unexpected result: Alert |
|
||||
| tst.js:177:13:177:22 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:178:13:178:22 | // $ Alert | Missing result: Alert |
|
||||
| tst2.js:4:39:4:48 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| module-environment-detection.js:23:8:23:36 | typeof ... efined' | This guard always evaluates to true. |
|
||||
| regression.js:9:9:9:12 | date | This guard always evaluates to true. |
|
||||
| regression.js:13:25:13:40 | obj != undefined | This guard always evaluates to true. |
|
||||
@@ -74,3 +75,9 @@
|
||||
| tst.js:158:13:158:21 | x != null | This guard always evaluates to true. |
|
||||
| tst.js:177:2:177:2 | u | This guard always evaluates to false. |
|
||||
| tst.js:178:2:178:2 | u | This guard always evaluates to false. |
|
||||
testFailures
|
||||
| global-module-definition.js:10:30:10:39 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:13:19:13:28 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:14:19:14:28 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:15:19:15:28 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:165:26:165:35 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,2 +1,75 @@
|
||||
#select
|
||||
| tst.js:175:2:175:2 | u | This use of variable 'u' always evaluates to false. |
|
||||
| tst.js:176:2:176:2 | u | This use of variable 'u' always evaluates to false. |
|
||||
testFailures
|
||||
| global-module-definition.js:10:30:10:39 | // $ Alert | Missing result: Alert |
|
||||
| module-environment-detection.js:23:40:23:49 | // $ Alert | Missing result: Alert |
|
||||
| regression.js:9:33:9:42 | // $ Alert | Missing result: Alert |
|
||||
| regression.js:13:45:13:54 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:13:19:13:28 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:14:19:14:28 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:15:19:15:28 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:18:15:18:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:19:15:19:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:20:15:20:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:23:15:23:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:24:15:24:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:25:15:25:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:28:16:28:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:29:16:29:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:30:16:30:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:33:17:33:26 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:34:17:34:26 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:35:17:35:26 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:38:28:38:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:39:28:39:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:40:28:40:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:43:28:43:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:44:28:44:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:45:28:45:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:48:29:48:38 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:49:29:49:38 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:50:29:50:38 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:53:14:53:23 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:56:14:56:23 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:59:14:59:23 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:66:15:66:24 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:67:16:67:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:68:16:68:25 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:71:28:71:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:74:28:74:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:77:28:77:37 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:84:27:84:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:85:27:85:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:86:27:86:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:89:27:89:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:90:27:90:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:91:27:91:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:94:37:94:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:95:37:95:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:96:37:96:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:100:37:100:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:101:37:101:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:114:39:114:48 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:115:53:115:62 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:116:47:116:56 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:124:45:124:54 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:125:43:125:52 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:127:34:127:43 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:128:34:128:43 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:129:36:129:45 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:130:42:130:51 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:131:36:131:45 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:132:39:132:48 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:133:39:133:48 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:135:34:135:43 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:138:36:138:45 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:140:27:140:36 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:156:34:156:43 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:158:26:158:35 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:165:26:165:35 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:175:2:175:2 | This use of variable 'u' always evaluates to false. | Unexpected result: Alert |
|
||||
| tst.js:176:2:176:2 | This use of variable 'u' always evaluates to false. | Unexpected result: Alert |
|
||||
| tst.js:177:13:177:22 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:178:13:178:22 | // $ Alert | Missing result: Alert |
|
||||
| tst2.js:4:39:4:48 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
#select
|
||||
| tst.js:2:9:2:16 | x + x>>1 | Whitespace around nested operators contradicts precedence. |
|
||||
| tst.js:42:9:42:20 | p in o&&o[p] | Whitespace around nested operators contradicts precedence. |
|
||||
| tst.js:48:1:48:12 | x + x >> 1 | Whitespace around nested operators contradicts precedence. |
|
||||
testFailures
|
||||
| tst.js:2:9:2:16 | Whitespace around nested operators contradicts precedence. | Unexpected result: Alert |
|
||||
| tst.js:42:9:42:20 | Whitespace around nested operators contradicts precedence. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
#select
|
||||
| tst.js:4:4:4:9 | @param | @param tag refers to non-existent parameter prameter. |
|
||||
| tst.js:12:4:12:9 | @param | @param tag refers to non-existent parameter sign. |
|
||||
| tst.js:51:4:51:9 | @param | @param tag refers to non-existent parameter opts. |
|
||||
| tst.js:57:4:57:9 | @param | @param tag refers to non-existent parameter opts. |
|
||||
testFailures
|
||||
| tst.js:4:4:4:9 | @param tag refers to non-existent parameter prameter. | Unexpected result: Alert |
|
||||
| tst.js:12:4:12:9 | @param tag refers to non-existent parameter sign. | Unexpected result: Alert |
|
||||
| tst.js:51:4:51:9 | @param tag refers to non-existent parameter opts. | Unexpected result: Alert |
|
||||
| tst.js:57:4:57:9 | @param tag refers to non-existent parameter opts. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
#select
|
||||
| tst.js:4:11:4:26 | arguments.callee | Avoid using arguments.caller and arguments.callee. |
|
||||
| tst.js:12:9:12:24 | arguments.caller | Avoid using arguments.caller and arguments.callee. |
|
||||
testFailures
|
||||
| tst.js:4:11:4:26 | Avoid using arguments.caller and arguments.callee. | Unexpected result: Alert |
|
||||
| tst.js:12:9:12:24 | Avoid using arguments.caller and arguments.callee. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
#select
|
||||
| tst.js:1:1:1:8 | typeof a | The result of this 'typeof' expression is compared to $@, but the two can never be equal. | tst.js:1:14:1:20 | 'array' | array |
|
||||
| tst.js:18:9:18:16 | typeof a | The result of this 'typeof' expression is compared to $@, but the two can never be equal. | tst.js:21:6:21:11 | 'null' | null |
|
||||
| tst.js:30:2:30:9 | typeof a | The result of this 'typeof' expression is compared to $@, but the two can never be equal. | tst.js:30:16:30:22 | 'array' | array |
|
||||
testFailures
|
||||
| tst.js:18:9:18:16 | The result of this 'typeof' expression is compared to $@, but the two can never be equal. | Unexpected result: Alert |
|
||||
| tst.js:21:14:21:23 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| debuggerStatement.js:2:3:2:11 | debugger; | Do not use 'debugger'. |
|
||||
testFailures
|
||||
| debuggerStatement.js:2:3:2:11 | Do not use 'debugger'. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
#select
|
||||
| tst.js:2:1:2:13 | delete String | Only properties should be deleted. |
|
||||
| tst.js:6:2:6:9 | delete x | Only properties should be deleted. |
|
||||
testFailures
|
||||
| tst.js:2:1:2:13 | Only properties should be deleted. | Unexpected result: Alert |
|
||||
| tst.js:6:2:6:9 | Only properties should be deleted. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
#select
|
||||
| tst.js:4:11:4:13 | [1, , 2] | Avoid omitted array elements. |
|
||||
| tst.js:6:14:6:16 | [1, 2, ,] | Avoid omitted array elements. |
|
||||
| tst.js:7:9:7:10 | [,1] | Avoid omitted array elements. |
|
||||
testFailures
|
||||
| tst.js:4:21:4:30 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:6:21:6:30 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:7:21:7:30 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| eval.js:2:3:2:13 | eval("2+2") | Do not use eval or the Function constructor. |
|
||||
testFailures
|
||||
| eval.js:2:3:2:13 | Do not use eval or the Function constructor. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
#select
|
||||
| foreach.js:4:1:6:1 | for eac ... item;\\n} | Use for of statements instead of for each statements. |
|
||||
| jscript.js:1:1:1:28 | functio ... ad() {} | Use standard method definitions instead of double colon method declarations. |
|
||||
| letExpr.js:3:13:3:38 | let (x ... ) x + y | Use let declarations instead of let expressions. |
|
||||
| letStmt.js:3:1:5:1 | let (x ... + y);\\n} | Use let declarations instead of let statements. |
|
||||
| postfixComprehension.js:2:15:2:38 | [i*i fo ... mbers)] | Use prefix comprehensions instead of postfix comprehensions. |
|
||||
| tst.js:1:15:1:31 | function(x) x * x | Use arrow expressions instead of expression closures. |
|
||||
testFailures
|
||||
| foreach.js:4:1:6:1 | Use for of statements instead of for each statements. | Unexpected result: Alert |
|
||||
| jscript.js:1:1:1:28 | Use standard method definitions instead of double colon method declarations. | Unexpected result: Alert |
|
||||
| letExpr.js:3:13:3:38 | Use let declarations instead of let expressions. | Unexpected result: Alert |
|
||||
| letStmt.js:3:1:5:1 | Use let declarations instead of let statements. | Unexpected result: Alert |
|
||||
| postfixComprehension.js:2:15:2:38 | Use prefix comprehensions instead of postfix comprehensions. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| tst.js:2:13:2:23 | for(i in a) | For-in comprehension blocks are a non-standard language feature. |
|
||||
testFailures
|
||||
| tst.js:2:13:2:23 | For-in comprehension blocks are a non-standard language feature. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#select
|
||||
| tst.js:12:1:12:3 | C() | Illegal invocation of $@ as a function. | tst.js:1:9:1:8 | () {} | a constructor |
|
||||
| tst.js:13:1:13:10 | new (x=>x) | Illegal invocation of $@ using 'new'. | tst.js:13:6:13:9 | x=>x | an arrow function |
|
||||
| tst.js:42:1:42:7 | new g() | Illegal invocation of $@ using 'new'. | tst.js:39:1:39:16 | function* g() {} | a generator function |
|
||||
| tst.js:43:1:43:7 | new h() | Illegal invocation of $@ using 'new'. | tst.js:40:1:40:21 | async f ... h() {} | an async function |
|
||||
| tst.js:45:1:45:8 | reflective call | Illegal invocation of $@ as a function. | tst.js:1:9:1:8 | () {} | a constructor |
|
||||
| tst.js:46:1:46:9 | reflective call | Illegal invocation of $@ as a function. | tst.js:1:9:1:8 | () {} | a constructor |
|
||||
testFailures
|
||||
| tst.js:15:18:15:45 | // $ Al ... flagged | Missing result: Alert |
|
||||
| tst.js:24:18:24:45 | // $ Al ... flagged | Missing result: Alert |
|
||||
|
||||
@@ -1,2 +1,9 @@
|
||||
#select
|
||||
| m.js:1:8:1:22 | functio ... = x;\\n} | Function A is sometimes invoked as a constructor (for example $@), and sometimes as a normal function (for example $@). | c1.js:2:1:2:9 | new A(42) | here | c2.js:2:1:2:5 | A(23) | here |
|
||||
| tst.js:1:1:1:22 | functio ... = y;\\n} | Function Point is sometimes invoked as a constructor (for example $@), and sometimes as a normal function (for example $@). | tst.js:6:1:6:17 | new Point(23, 42) | here | tst.js:7:1:7:13 | Point(56, 72) | here |
|
||||
testFailures
|
||||
| m.js:1:8:1:22 | Function A is sometimes invoked as a constructor (for example $@), and sometimes as a normal function (for example $@). | Unexpected result: Alert |
|
||||
| tst.js:1:1:1:22 | Function Point is sometimes invoked as a constructor (for example $@), and sometimes as a normal function (for example $@). | Unexpected result: Alert |
|
||||
| tst.js:57:6:57:50 | // $ Al ... ocation | Missing result: Alert |
|
||||
| tst.js:67:20:67:86 | // $ Al ... flagged | Missing result: Alert |
|
||||
| tst.js:68:20:68:86 | // $ Al ... flagged | Missing result: Alert |
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
#select
|
||||
| tst.js:7:3:7:14 | return true; | This statement jumps out of the finally block, potentially hiding an exception. |
|
||||
| tst.js:28:4:28:9 | break; | This statement jumps out of the finally block, potentially hiding an exception. |
|
||||
testFailures
|
||||
| tst.js:7:3:7:14 | This statement jumps out of the finally block, potentially hiding an exception. | Unexpected result: Alert |
|
||||
| tst.js:28:4:28:9 | This statement jumps out of the finally block, potentially hiding an exception. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst.js:1:17:1:32 | i <= args.length | Off-by-one index comparison against length may lead to out-of-bounds $@. | tst.js:2:15:2:21 | args[i] | read |
|
||||
| tst.js:5:17:5:32 | args.length >= i | Off-by-one index comparison against length may lead to out-of-bounds $@. | tst.js:6:15:6:21 | args[i] | read |
|
||||
| tst.js:15:5:15:20 | j <= args.length | Off-by-one index comparison against length may lead to out-of-bounds $@. | tst.js:16:15:16:21 | args[j] | read |
|
||||
@@ -5,3 +6,8 @@
|
||||
| tst.js:29:19:29:31 | i <= a.length | Off-by-one index comparison against length may lead to out-of-bounds $@. | tst.js:30:9:30:12 | a[i] | read |
|
||||
| tst.js:46:9:46:21 | i <= a.length | Off-by-one index comparison against length may lead to out-of-bounds $@. | tst.js:46:43:46:46 | a[i] | read |
|
||||
| tst.js:46:26:46:38 | i <= b.length | Off-by-one index comparison against length may lead to out-of-bounds $@. | tst.js:46:52:46:55 | b[i] | read |
|
||||
testFailures
|
||||
| tst.js:28:32:28:65 | // $ Al ... r bound | Missing result: Alert |
|
||||
| tst.js:29:19:29:31 | Off-by-one index comparison against length may lead to out-of-bounds $@. | Unexpected result: Alert |
|
||||
| tst.js:46:9:46:21 | Off-by-one index comparison against length may lead to out-of-bounds $@. | Unexpected result: Alert |
|
||||
| tst.js:46:26:46:38 | Off-by-one index comparison against length may lead to out-of-bounds $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
out| NonLinearPatternTS.ts:1:34:1:39 | number | The pattern variable 'number' appears to be a type, but is a variable $@. | NonLinearPatternTS.ts:1:23:1:28 | number | previously bound |
|
||||
#select
|
||||
| NonLinearPatternTS.ts:1:34:1:39 | number | The pattern variable 'number' appears to be a type, but is a variable $@. | NonLinearPatternTS.ts:1:23:1:28 | number | previously bound |
|
||||
| ts-test.ts:2:13:2:13 | x | Repeated binding of pattern variable 'x' $@. | ts-test.ts:2:10:2:10 | x | previously bound |
|
||||
| ts-test.ts:6:16:6:16 | x | Repeated binding of pattern variable 'x' $@. | ts-test.ts:6:10:6:10 | x | previously bound |
|
||||
| ts-test.ts:8:10:8:10 | x | Repeated binding of pattern variable 'x' $@. | ts-test.ts:8:7:8:7 | x | previously bound |
|
||||
@@ -9,3 +10,5 @@ out| NonLinearPatternTS.ts:1:34:1:39 | number | The pattern variable 'number' ap
|
||||
| tst.js:2:13:2:13 | x | Repeated binding of pattern variable 'x' $@. | tst.js:2:10:2:10 | x | previously bound |
|
||||
| tst.js:6:16:6:16 | x | Repeated binding of pattern variable 'x' $@. | tst.js:6:10:6:10 | x | previously bound |
|
||||
| tst.js:8:10:8:10 | x | Repeated binding of pattern variable 'x' $@. | tst.js:8:7:8:7 | x | previously bound |
|
||||
testFailures
|
||||
| NonLinearPatternTS.ts:1:34:1:39 | The pattern variable 'number' appears to be a type, but is a variable $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#select
|
||||
| tst.js:1:1:1:3 | (0) | Assignment to property foo of a primitive value with type number. |
|
||||
| tst.js:8:5:8:5 | s | Assignment to a property of a primitive value with type string. |
|
||||
| tst.js:13:3:13:3 | x | Assignment to property y of a primitive value with type number or string. |
|
||||
testFailures
|
||||
| tst.js:3:37:3:95 | // $ Al ... cess.ql | Missing result: Alert |
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
#select
|
||||
| export.js:5:8:5:17 | var x = 42 | Avoid automated semicolon insertion (95% of all statements in $@ have an explicit semicolon). | export.js:1:1:29:0 | <toplevel> | the enclosing script |
|
||||
| jscript.js:3:1:3:36 | window. ... ad() {} | Avoid automated semicolon insertion (95% of all statements in $@ have an explicit semicolon). | jscript.js:1:1:26:0 | <toplevel> | the enclosing script |
|
||||
| tst.js:5:1:5:3 | var a = ... : 2\\n } | Avoid automated semicolon insertion (91% of all statements in $@ have an explicit semicolon). | tst.js:1:1:42:1 | functio ... oo();\\n} | the enclosing function |
|
||||
| tst.js:7:3:7:10 | return 1 | Avoid automated semicolon insertion (91% of all statements in $@ have an explicit semicolon). | tst.js:1:1:42:1 | functio ... oo();\\n} | the enclosing function |
|
||||
testFailures
|
||||
| export.js:5:8:5:17 | Avoid automated semicolon insertion (95% of all statements in $@ have an explicit semicolon). | Unexpected result: Alert |
|
||||
| jscript.js:3:1:3:36 | Avoid automated semicolon insertion (95% of all statements in $@ have an explicit semicolon). | Unexpected result: Alert |
|
||||
| tst.js:2:13:2:22 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:5:1:5:3 | Avoid automated semicolon insertion (91% of all statements in $@ have an explicit semicolon). | Unexpected result: Alert |
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
#select
|
||||
| tst.js:15:3:15:12 | set x(v) {\\n\\t\\t} | This setter function does not use its parameter $@. | tst.js:15:9:15:9 | v | v |
|
||||
| tst.js:38:3:38:25 | set y(_ ... _x\|0; } | This setter function does not use its parameter $@. | tst.js:38:9:38:10 | _y | _y |
|
||||
testFailures
|
||||
| tst.js:15:3:15:12 | This setter function does not use its parameter $@. | Unexpected result: Alert |
|
||||
| tst.js:16:6:16:15 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| es2015.js:4:16:4:17 | 23 | Superfluous argument passed to $@. | es2015.js:2:14:2:32 | (x) { this.x = x; } | constructor of class Class1 |
|
||||
| es2015.js:17:11:17:12 | 42 | Superfluous argument passed to $@. | es2015.js:15:13:15:12 | () {} | default constructor of class Other |
|
||||
| es2015.js:21:3:21:4 | 42 | Superfluous argument passed to $@. | tst.js:1:1:4:1 | functio ... x+19;\\n} | function f |
|
||||
@@ -22,3 +23,10 @@
|
||||
| tst.js:113:20:113:21 | 42 | Superfluous argument passed to $@. | tst.js:88:2:91:2 | functio ... .");\\n\\t} | function notAPlainThrower3 |
|
||||
| tst.js:117:23:117:24 | 87 | Superfluous argument passed to $@. | tst.js:99:2:101:2 | functio ... (p);\\n\\t} | function throwerWithParam |
|
||||
| tst.js:118:18:118:19 | 42 | Superfluous argument passed to $@. | tst.js:102:2:110:2 | functio ... )();\\n\\t} | function throwerIndirect |
|
||||
testFailures
|
||||
| globals.js:17:31:17:40 | // $ Alert | Missing result: Alert |
|
||||
| reflection.js:6:15:6:15 | Superfluous argument passed to $@. | Unexpected result: Alert |
|
||||
| reflection.js:12:18:12:18 | Superfluous argument passed to $@. | Unexpected result: Alert |
|
||||
| tst.js:31:22:31:31 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:43:19:43:20 | Superfluous argument passed to $@. | Unexpected result: Alert |
|
||||
| tst.js:118:18:118:19 | Superfluous argument passed to $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
#select
|
||||
| arrows.js:1:5:1:5 | Error: Argument name clash | Error: Argument name clash |
|
||||
| destructingPrivate.js:4:6:4:6 | Error: Unexpected token | Error: Unexpected token |
|
||||
| tst.js:2:12:2:12 | Error: Unterminated string constant | Error: Unterminated string constant |
|
||||
testFailures
|
||||
| arrows.js:1:5:1:5 | Error: Argument name clash | Unexpected result: Alert |
|
||||
| destructingPrivate.js:4:6:4:6 | Error: Unexpected token | Unexpected result: Alert |
|
||||
| tst.js:2:12:2:12 | Error: Unterminated string constant | Unexpected result: Alert |
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
#select
|
||||
| TemplateSyntaxInStringLiteral.js:5:17:5:44 | 'Could ... ${id}' | This string is not a template literal, but appears to reference the variable $@. | TemplateSyntaxInStringLiteral.js:1:24:1:25 | id | id |
|
||||
| TemplateSyntaxInStringLiteral.js:17:15:17:40 | 'global ... alVar}' | This string is not a template literal, but appears to reference the variable $@. | TemplateSyntaxInStringLiteral.js:14:5:14:13 | globalVar | globalVar |
|
||||
| TemplateSyntaxInStringLiteral.js:19:11:19:36 | 'global ... alVar}' | This string is not a template literal, but appears to reference the variable $@. | TemplateSyntaxInStringLiteral.js:14:5:14:13 | globalVar | globalVar |
|
||||
| TemplateSyntaxInStringLiteral.js:28:15:28:21 | "${x} " | This string is not a template literal, but appears to reference the variable $@. | TemplateSyntaxInStringLiteral.js:25:14:25:14 | x | x |
|
||||
| TemplateSyntaxInStringLiteral.js:42:17:42:57 | "Name: ... oobar}" | This string is not a template literal, but appears to reference the variable $@. | TemplateSyntaxInStringLiteral.js:37:11:37:16 | foobar | foobar |
|
||||
testFailures
|
||||
| TemplateSyntaxInStringLiteral.js:5:17:5:44 | This string is not a template literal, but appears to reference the variable $@. | Unexpected result: Alert |
|
||||
| TemplateSyntaxInStringLiteral.js:17:15:17:40 | This string is not a template literal, but appears to reference the variable $@. | Unexpected result: Alert |
|
||||
| TemplateSyntaxInStringLiteral.js:19:11:19:36 | This string is not a template literal, but appears to reference the variable $@. | Unexpected result: Alert |
|
||||
| TemplateSyntaxInStringLiteral.js:28:15:28:21 | This string is not a template literal, but appears to reference the variable $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| invalid.js:5:35:5:52 | () { this.c = 0; } | The super constructor must be called before using $@. | invalid.js:5:40:5:43 | this | this |
|
||||
| invalid.js:6:35:6:50 | () { this.c(); } | The super constructor must be called before using $@. | invalid.js:6:40:6:43 | this | this |
|
||||
| invalid.js:7:35:7:51 | () { super.c(); } | The super constructor must be called before using $@. | invalid.js:7:40:7:46 | super.c | super |
|
||||
@@ -12,3 +13,17 @@
|
||||
| invalid.js:16:35:16:66 | () { if ... .a(); } | The super constructor must be called before using $@. | invalid.js:16:56:16:59 | this | this |
|
||||
| invalid.js:26:16:26:19 | () {\\n ... ;\\n } | The super constructor must be called before using $@. | invalid.js:27:9:27:12 | this | this |
|
||||
| invalid.js:26:16:26:19 | () {\\n ... ;\\n } | The super constructor must be called before using $@. | invalid.js:28:9:28:12 | this | this |
|
||||
testFailures
|
||||
| invalid.js:5:35:5:52 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:6:35:6:50 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:7:35:7:51 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:8:35:8:61 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:9:35:9:59 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:10:35:10:60 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:11:35:11:55 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:12:35:12:57 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:13:35:13:58 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:14:35:14:118 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:15:71:15:95 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:16:35:16:66 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
| invalid.js:26:16:26:19 | The super constructor must be called before using $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
#select
|
||||
| UnusedIndexVariable2.js:3:8:3:20 | i++<xs.length | Index variable i is never used to access elements of xs. |
|
||||
| UnusedIndexVariable.js:3:16:3:26 | i<xs.length | Index variable i is never used to access elements of xs. |
|
||||
testFailures
|
||||
| UnusedIndexVariable.js:3:16:3:26 | Index variable i is never used to access elements of xs. | Unexpected result: Alert |
|
||||
| UnusedIndexVariable2.js:3:8:3:20 | Index variable i is never used to access elements of xs. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| withStatement.js:2:3:2:14 | with (f ... x;\\n } | Do not use 'with'. |
|
||||
testFailures
|
||||
| withStatement.js:2:3:2:14 | Do not use 'with'. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| a.js:4:9:4:25 | require('./b.js') | Module a imports module b, which in turn $@ it. | b.js:4:9:4:25 | require('./a.js') | imports |
|
||||
| b.js:4:9:4:25 | require('./a.js') | Module b imports module a, which in turn $@ it. | a.js:4:9:4:25 | require('./b.js') | imports |
|
||||
| selfimport.js:1:1:1:23 | require ... mport') | Module selfimport directly imports itself. | selfimport.js:1:1:1:24 | <toplevel> | |
|
||||
@@ -5,3 +6,11 @@
|
||||
| test1/a.js:2:1:2:14 | require('./b') | Module a imports module b, which in turn $@ it. | test1/b.js:1:1:1:27 | require ... ner/a') | indirectly imports |
|
||||
| test1/b.js:1:1:1:27 | require ... ner/a') | Module b imports module a, which in turn $@ it. | test2/inner/a.js:1:1:1:24 | require ... st1/a') | indirectly imports |
|
||||
| test2/inner/a.js:1:1:1:24 | require ... st1/a') | Module .../inner/a.js imports module /test1/a.js, which in turn $@ it. | test1/a.js:1:1:1:27 | require ... ner/a') | imports |
|
||||
testFailures
|
||||
| a.js:4:9:4:25 | Module a imports module b, which in turn $@ it. | Unexpected result: Alert |
|
||||
| b.js:4:9:4:25 | Module b imports module a, which in turn $@ it. | Unexpected result: Alert |
|
||||
| selfimport.js:1:1:1:23 | Module selfimport directly imports itself. | Unexpected result: Alert |
|
||||
| test1/a.js:1:1:1:27 | Module /test1/a.js imports module .../inner/a.js, which in turn $@ it. | Unexpected result: Alert |
|
||||
| test1/a.js:2:1:2:14 | Module a imports module b, which in turn $@ it. | Unexpected result: Alert |
|
||||
| test1/b.js:1:1:1:27 | Module b imports module a, which in turn $@ it. | Unexpected result: Alert |
|
||||
| test2/inner/a.js:1:1:1:24 | Module .../inner/a.js imports module /test1/a.js, which in turn $@ it. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
#select
|
||||
| a.js:1:11:1:28 | require('./b').foo | Module $@ does not export symbol foo. | b.js:1:1:5:21 | <toplevel> | b |
|
||||
| main.js:5:1:5:5 | b.foo | Module $@ does not export symbol foo. | b.js:1:1:5:21 | <toplevel> | b |
|
||||
| main.js:15:1:15:9 | fs.renmae | Module $@ does not export symbol renmae. | fs.js:1:1:15:0 | <toplevel> | fs |
|
||||
| main.js:23:1:23:5 | l.bar | Module $@ does not export symbol bar. | l.js:1:1:6:0 | <toplevel> | l |
|
||||
| multi_import.js:16:3:16:10 | mod2.bar | Module $@ does not export symbol bar. | b.js:1:1:5:21 | <toplevel> | b |
|
||||
testFailures
|
||||
| a.js:1:11:1:28 | Module $@ does not export symbol foo. | Unexpected result: Alert |
|
||||
| main.js:5:1:5:5 | Module $@ does not export symbol foo. | Unexpected result: Alert |
|
||||
| main.js:15:1:15:9 | Module $@ does not export symbol renmae. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| MissingExports.js:7:5:7:19 | checkOne(xs[i]) | 'checkOne' references an undeclared global variable, not $@. | MissingExports.js:1:20:3:1 | functio ... or();\\n} | the variable of the same name that is exported |
|
||||
testFailures
|
||||
| MissingExports.js:7:5:7:19 | 'checkOne' references an undeclared global variable, not $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| src/package.json:13:16:13:18 | "*" | Unused dependency 'esprima'. |
|
||||
| src/package.json:17:28:17:34 | "3.3.0" | Unused dependency 'eslint-plugin-babel'. |
|
||||
| src/package.json:24:63:24:65 | "*" | Unused dependency 'not-really-used-in-install-script-because-of-substring'. |
|
||||
@@ -5,3 +6,11 @@
|
||||
| src/package.json:29:30:29:32 | "*" | Unused dependency 'used-in-custom-script'. |
|
||||
| src/package.json:32:28:32:30 | "*" | Unused dependency 'used-in-mjs-require'. |
|
||||
| src/package.json:36:48:36:50 | "*" | Unused dependency 'used-in-dynamic-template-require-string'. |
|
||||
testFailures
|
||||
| src/package.json:13:16:13:18 | Unused dependency 'esprima'. | Unexpected result: Alert |
|
||||
| src/package.json:17:28:17:34 | Unused dependency 'eslint-plugin-babel'. | Unexpected result: Alert |
|
||||
| src/package.json:24:63:24:65 | Unused dependency 'not-really-used-in-install-script-because-of-substring'. | Unexpected result: Alert |
|
||||
| src/package.json:28:28:28:30 | Unused dependency 'used-in-test-script'. | Unexpected result: Alert |
|
||||
| src/package.json:29:30:29:32 | Unused dependency 'used-in-custom-script'. | Unexpected result: Alert |
|
||||
| src/package.json:32:28:32:30 | Unused dependency 'used-in-mjs-require'. | Unexpected result: Alert |
|
||||
| src/package.json:36:48:36:50 | Unused dependency 'used-in-dynamic-template-require-string'. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
#select
|
||||
| tst.js:13:10:13:15 | q[i++] | This loop may prevent optimization because its iteration variable is a property. |
|
||||
| tst.js:17:10:17:10 | p | This loop may prevent optimization because its iteration variable is a global variable. |
|
||||
| tst.js:21:10:21:14 | var p | This loop may prevent optimization because its iteration variable is captured. |
|
||||
| tst.js:30:14:30:14 | p | This loop may prevent optimization because its iteration variable is captured. |
|
||||
| tst.js:35:10:35:10 | p | This loop may prevent optimization because its iteration variable is a global variable. |
|
||||
testFailures
|
||||
| tst.js:12:24:12:44 | // $ Al ... roperty | Missing result: Alert |
|
||||
| tst.js:13:10:13:15 | This loop may prevent optimization because its iteration variable is a property. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| invalid1.js:3:5:3:18 | this.state.foo | Use `setState` instead of directly modifying component state. |
|
||||
| invalid2.js:3:5:3:26 | this.st ... on.name | Use `setState` instead of directly modifying component state. |
|
||||
| invalid3.js:3:5:3:32 | this.st ... e.first | Use `setState` instead of directly modifying component state. |
|
||||
@@ -6,3 +7,12 @@
|
||||
| invalid5.js:6:5:6:32 | that.st ... e.first | Use `setState` instead of directly modifying component state. |
|
||||
| invalid6.js:5:30:5:45 | this.state.title | Use `setState` instead of directly modifying component state. |
|
||||
| invalid7.js:5:35:5:50 | this.state.title | Use `setState` instead of directly modifying component state. |
|
||||
testFailures
|
||||
| invalid1.js:3:5:3:18 | Use `setState` instead of directly modifying component state. | Unexpected result: Alert |
|
||||
| invalid2.js:3:5:3:26 | Use `setState` instead of directly modifying component state. | Unexpected result: Alert |
|
||||
| invalid3.js:3:5:3:32 | Use `setState` instead of directly modifying component state. | Unexpected result: Alert |
|
||||
| invalid4.js:3:5:3:32 | Use `setState` instead of directly modifying component state. | Unexpected result: Alert |
|
||||
| invalid4.js:4:5:4:31 | Use `setState` instead of directly modifying component state. | Unexpected result: Alert |
|
||||
| invalid5.js:6:5:6:32 | Use `setState` instead of directly modifying component state. | Unexpected result: Alert |
|
||||
| invalid6.js:5:30:5:45 | Use `setState` instead of directly modifying component state. | Unexpected result: Alert |
|
||||
| invalid7.js:5:35:5:50 | Use `setState` instead of directly modifying component state. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst.js:28:5:30:6 | this.se ... \\n }) | Component state update uses $@. | tst.js:29:16:29:29 | this.state.foo | potentially inconsistent value |
|
||||
| tst.js:36:5:38:6 | this.se ... \\n }) | Component state update uses $@. | tst.js:37:21:37:38 | this.state.foo.bar | potentially inconsistent value |
|
||||
| tst.js:44:9:46:10 | this.se ... }) | Component state update uses $@. | tst.js:45:18:45:31 | this.state.foo | potentially inconsistent value |
|
||||
@@ -10,3 +11,31 @@
|
||||
| tst.js:93:9:95:10 | this.se ... }) | Component state update uses $@. | tst.js:94:18:94:31 | this.state.foo | potentially inconsistent value |
|
||||
| tst.js:102:9:104:10 | self.se ... }) | Component state update uses $@. | tst.js:103:18:103:31 | self.state.foo | potentially inconsistent value |
|
||||
| tst.js:108:9:110:10 | this.se ... }) | Component state update uses $@. | tst.js:109:18:109:31 | this.state.foo | potentially inconsistent value |
|
||||
testFailures
|
||||
| tst.js:4:39:4:93 | // $ Al ... ractice | Missing result: Alert |
|
||||
| tst.js:21:39:21:93 | // $ Al ... ractice | Missing result: Alert |
|
||||
| tst.js:28:5:30:6 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:29:31:29:40 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:36:5:38:6 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:37:42:37:51 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:44:9:46:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:45:33:45:42 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:50:9:52:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:51:33:51:42 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:58:9:60:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:59:37:59:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:64:9:66:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:65:37:65:46 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:72:9:74:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:73:46:73:55 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:78:9:80:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:79:46:79:55 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:86:9:89:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:87:34:87:43 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:88:33:88:87 | // $ Al ... ractice | Missing result: Alert |
|
||||
| tst.js:93:9:95:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:94:33:94:42 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:102:9:104:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:103:33:103:42 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:108:9:110:10 | Component state update uses $@. | Unexpected result: Alert |
|
||||
| tst.js:109:33:109:42 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst.js:4:9:4:25 | this.setState({}) | Call to state update method $@ is not allowed from within this method. | tst.js:4:9:4:25 | this.setState({}) | .setState |
|
||||
| tst.js:5:9:5:29 | this.re ... ate({}) | Call to state update method $@ is not allowed from within this method. | tst.js:5:9:5:29 | this.re ... ate({}) | .replaceState |
|
||||
| tst.js:6:9:6:28 | this.forceUpdate({}) | Call to state update method $@ is not allowed from within this method. | tst.js:6:9:6:28 | this.forceUpdate({}) | .forceUpdate |
|
||||
@@ -20,3 +21,9 @@
|
||||
| tst.js:187:9:187:19 | doUpdate1() | Call to state update method $@ is not allowed from within this method. | tst.js:181:31:181:47 | this.setState({}) | .setState |
|
||||
| tst.js:188:9:188:19 | doUpdate2() | Call to state update method $@ is not allowed from within this method. | tst.js:178:9:178:23 | this.setState() | .setState |
|
||||
| tst.js:189:9:189:19 | doUpdate3() | Call to state update method $@ is not allowed from within this method. | tst.js:178:9:178:23 | this.setState() | .setState |
|
||||
testFailures
|
||||
| tst.js:100:9:100:29 | Call to state update method $@ is not allowed from within this method. | Unexpected result: Alert |
|
||||
| tst.js:108:6:110:8 | Unconditional call to state update method $@ is not allowed from within this method. | Unexpected result: Alert |
|
||||
| tst.js:108:22:108:31 | // $ Alert | Missing result: Alert |
|
||||
| tst.js:118:6:120:8 | Unconditional call to state update method $@ is not allowed from within this method. | Unexpected result: Alert |
|
||||
| tst.js:118:22:118:31 | // $ Alert | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| issue7506.js:12:1:12:34 | class C ... e\\n }\\n} | Component state property 'p1' is $@, but it is never read. | issue7506.js:15:5:15:10 | p1: '' | written |
|
||||
| undefined.js:1:1:1:34 | class C ... }\\n} | Component state property 'notWritten' is $@, but it is never written. | undefined.js:8:9:8:29 | this.st ... Written | read |
|
||||
| undefined.js:1:1:1:34 | class C ... }\\n} | Component state property 'notWrittenButReadInChain' is $@, but it is never written. | undefined.js:9:9:9:43 | this.st ... InChain | read |
|
||||
@@ -5,3 +6,24 @@
|
||||
| undefined.js:61:19:61:19 | {\\n r ... ;\\n }\\n} | Component state property 'notWrittenInKnownInitializerObject' is $@, but it is never written. | undefined.js:64:9:64:53 | this.st ... rObject | read |
|
||||
| unused.js:1:1:1:34 | class C ... }\\n} | Component state property 'notRead' is $@, but it is never read. | unused.js:6:9:6:26 | this.state.notRead | written |
|
||||
| unused.js:27:1:27:34 | class C ... }\\n} | Component state property 'notReadThrougExternaPropertyAccess' is $@, but it is never read. | unused.js:30:9:30:53 | this.st ... yAccess | written |
|
||||
testFailures
|
||||
| undefined.js:8:32:8:41 | // $ Alert | Missing result: Alert |
|
||||
| undefined.js:9:46:9:55 | // $ Alert | Missing result: Alert |
|
||||
| undefined.js:27:43:27:84 | // $ Al ... P above | Missing result: Alert |
|
||||
| undefined.js:35:60:35:69 | // $ Alert | Missing result: Alert |
|
||||
| undefined.js:48:58:48:99 | // $ Al ... P above | Missing result: Alert |
|
||||
| undefined.js:56:58:56:99 | // $ Al ... P above | Missing result: Alert |
|
||||
| undefined.js:61:19:61:19 | Component state property 'notWrittenInKnownInitializerObject' is $@, but it is never written. | Unexpected result: Alert |
|
||||
| undefined.js:64:56:64:65 | // $ Alert | Missing result: Alert |
|
||||
| undefined.js:78:58:78:99 | // $ Al ... P above | Missing result: Alert |
|
||||
| undefined.js:90:46:90:87 | // $ Al ... P above | Missing result: Alert |
|
||||
| undefined.js:100:40:100:81 | // $ Al ... P above | Missing result: Alert |
|
||||
| undefined.js:124:42:124:83 | // $ Al ... P above | Missing result: Alert |
|
||||
| undefined.js:135:67:135:108 | // $ Al ... P above | Missing result: Alert |
|
||||
| undefined.js:145:56:145:97 | // $ Al ... P above | Missing result: Alert |
|
||||
| undefined.js:152:45:152:86 | // $ Al ... P above | Missing result: Alert |
|
||||
| unused.js:6:34:6:43 | // $ Alert | Missing result: Alert |
|
||||
| unused.js:21:42:21:51 | // $ Alert | Missing result: Alert |
|
||||
| unused.js:30:61:30:70 | // $ Alert | Missing result: Alert |
|
||||
| unused.js:40:69:40:110 | // $ Al ... P above | Missing result: Alert |
|
||||
| unused.js:57:47:57:88 | // $ Al ... P above | Missing result: Alert |
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#select
|
||||
| tst.js:1:2:1:3 | \\1 | This back reference precedes its capture group. |
|
||||
| tst.js:2:4:2:5 | \\1 | This back reference precedes its capture group. |
|
||||
| tst.js:3:6:3:7 | \\2 | This back reference precedes its capture group. |
|
||||
| tst.js:4:8:4:9 | \\1 | This back reference precedes its capture group. |
|
||||
| tst.js:7:2:7:7 | \\k<ws> | This back reference precedes its capture group. |
|
||||
testFailures
|
||||
| tst.js:9:17:9:54 | // $ Al ... flagged | Missing result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| tst.js:2:3:2:4 | \\b | Backspace escape in regular expression. |
|
||||
testFailures
|
||||
| tst.js:2:3:2:4 | Backspace escape in regular expression. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst.js:1:4:1:4 | o | Character 'o' is $@. | tst.js:1:5:1:5 | o | repeated in the same character class |
|
||||
| tst.js:4:3:4:3 | ? | Character '?' is $@. | tst.js:4:4:4:4 | ? | repeated in the same character class |
|
||||
| tst.js:5:3:5:8 | \\u003F | Character '\\u003F' is $@. | tst.js:5:9:5:14 | \\u003f | repeated in the same character class |
|
||||
@@ -7,3 +8,12 @@
|
||||
| tst.js:8:3:8:3 | a | Character 'a' is $@. | tst.js:8:5:8:5 | a | repeated in the same character class |
|
||||
| tst.js:9:3:9:6 | \\x0a | Character '\\x0a' is $@. | tst.js:9:7:9:10 | \\x0a | repeated in the same character class |
|
||||
| tst.js:10:3:10:8 | \\u000a | Character '\\u000a' is $@. | tst.js:10:9:10:10 | \\n | repeated in the same character class |
|
||||
testFailures
|
||||
| tst.js:1:4:1:4 | Character 'o' is $@. | Unexpected result: Alert |
|
||||
| tst.js:4:3:4:3 | Character '?' is $@. | Unexpected result: Alert |
|
||||
| tst.js:5:3:5:8 | Character '\\u003F' is $@. | Unexpected result: Alert |
|
||||
| tst.js:6:3:6:8 | Character '\\u003F' is $@. | Unexpected result: Alert |
|
||||
| tst.js:7:3:7:6 | Character '\\x3f' is $@. | Unexpected result: Alert |
|
||||
| tst.js:8:3:8:3 | Character 'a' is $@. | Unexpected result: Alert |
|
||||
| tst.js:9:3:9:6 | Character '\\x0a' is $@. | Unexpected result: Alert |
|
||||
| tst.js:10:3:10:8 | Character '\\u000a' is $@. | Unexpected result: Alert |
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
#select
|
||||
| tst.js:1:2:1:3 | [] | Empty character class. |
|
||||
testFailures
|
||||
| tst.js:1:2:1:3 | Empty character class. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| IdentityReplacement.js:1:27:1:30 | /"/g | This replaces '"' with itself. |
|
||||
| IdentityReplacement.js:4:14:4:21 | indirect | This replaces '"' with itself. |
|
||||
| tst.js:1:13:1:16 | "\\\\" | This replaces '\\' with itself. |
|
||||
@@ -11,3 +12,6 @@
|
||||
| tst.js:13:13:13:22 | /\\\\(?!\\\\)/ | This replaces '\\' with itself. |
|
||||
| tst.js:14:13:14:23 | /(?<!\\\\)\\\\/ | This replaces '\\' with itself. |
|
||||
| tst.js:16:13:16:15 | /^/ | This replaces the empty string with itself. |
|
||||
testFailures
|
||||
| IdentityReplacement.js:1:27:1:30 | This replaces '"' with itself. | Unexpected result: Alert |
|
||||
| IdentityReplacement.js:4:14:4:21 | This replaces '"' with itself. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
#select
|
||||
| tst.js:4:29:4:29 | unexpected character | Malformed regular expression: unexpected character. |
|
||||
| tst.js:4:43:4:43 | unexpected character | Malformed regular expression: unexpected character. |
|
||||
testFailures
|
||||
| tst.js:4:29:4:29 | Malformed regular expression: unexpected character. | Unexpected result: Alert |
|
||||
| tst.js:4:43:4:43 | Malformed regular expression: unexpected character. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#select
|
||||
| tst.js:3:2:3:3 | \\1 | There is no capture group 1 in this regular expression. |
|
||||
| tst.js:6:13:6:14 | \\1 | There is no capture group 1 in this regular expression. |
|
||||
| tst.js:12:16:12:17 | \\2 | There is no capture group 2 in this regular expression. |
|
||||
| tst.js:13:16:13:29 | \\k<whitespace> | There is no capture group named 'whitespace' in this regular expression. |
|
||||
testFailures
|
||||
| tst.js:13:16:13:29 | There is no capture group named 'whitespace' in this regular expression. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#select
|
||||
| tst.js:1:4:1:4 | ^ | This assertion can never match. |
|
||||
| tst.js:9:5:9:5 | ^ | This assertion can never match. |
|
||||
| tst.js:16:5:16:5 | ^ | This assertion can never match. |
|
||||
testFailures
|
||||
| tst.js:14:12:14:42 | // $ Al ... ognised | Missing result: Alert |
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#select
|
||||
| tst.js:1:10:1:10 | $ | This assertion can never match. |
|
||||
| tst.js:9:3:9:3 | $ | This assertion can never match. |
|
||||
| tst.js:16:3:16:3 | $ | This assertion can never match. |
|
||||
| tst.js:33:6:33:6 | $ | This assertion can never match. |
|
||||
testFailures
|
||||
| tst.js:14:12:14:42 | // $ Al ... ognised | Missing result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| examples/IncorrectSuffixCheck.js:2:10:2:49 | x.lastI ... .length | This suffix check is missing a length comparison to correctly handle lastIndexOf returning -1. |
|
||||
| tst.js:2:10:2:45 | x.index ... .length | This suffix check is missing a length comparison to correctly handle indexOf returning -1. |
|
||||
| tst.js:9:10:9:55 | x.index ... gth - 1 | This suffix check is missing a length comparison to correctly handle indexOf returning -1. |
|
||||
@@ -9,3 +10,5 @@
|
||||
| tst.js:67:32:67:71 | x.index ... gth - 1 | This suffix check is missing a length comparison to correctly handle indexOf returning -1. |
|
||||
| tst.js:76:25:76:57 | index = ... gth - 1 | This suffix check is missing a length comparison to correctly handle indexOf returning -1. |
|
||||
| tst.js:80:10:80:57 | x.index ... th + 1) | This suffix check is missing a length comparison to correctly handle indexOf returning -1. |
|
||||
testFailures
|
||||
| examples/IncorrectSuffixCheck.js:2:10:2:49 | This suffix check is missing a length comparison to correctly handle lastIndexOf returning -1. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst-SemiAnchoredRegExp.js:3:2:3:7 | /^a\|b/ | Misleading operator precedence. The subexpression '^a' is anchored at the beginning, but the other parts of this regular expression are not |
|
||||
| tst-SemiAnchoredRegExp.js:6:2:6:9 | /^a\|b\|c/ | Misleading operator precedence. The subexpression '^a' is anchored at the beginning, but the other parts of this regular expression are not |
|
||||
| tst-SemiAnchoredRegExp.js:12:2:12:9 | /^a\|(b)/ | Misleading operator precedence. The subexpression '^a' is anchored at the beginning, but the other parts of this regular expression are not |
|
||||
@@ -68,3 +69,20 @@
|
||||
| tst-UnanchoredUrlRegExp.js:117:50:117:59 | "good.com" | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. |
|
||||
| tst-UnanchoredUrlRegExp.js:118:50:118:68 | "https?://good.com" | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. |
|
||||
| tst-UnanchoredUrlRegExp.js:119:50:119:73 | "https? ... m:8080" | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. |
|
||||
testFailures
|
||||
| tst-SemiAnchoredRegExp.js:82:2:82:27 | Misleading operator precedence. The subexpression '(\\.zzz)$' is anchored at the end, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:84:2:84:23 | Misleading operator precedence. The subexpression '\\.zzz$' is anchored at the end, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:85:2:85:19 | Misleading operator precedence. The subexpression 'zzz$' is anchored at the end, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:87:2:87:28 | Misleading operator precedence. The subexpression '^(xxx yyy zzz)' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:88:2:88:53 | Misleading operator precedence. The subexpression '^(xxx yyy zzz)' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:89:2:89:24 | Misleading operator precedence. The subexpression '^(xxx:)' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:90:2:90:23 | Misleading operator precedence. The subexpression '^(xxx?:)' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:91:2:91:16 | Misleading operator precedence. The subexpression '^@media' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:92:2:92:32 | Misleading operator precedence. The subexpression '^\\s*(xxx?\|yyy\|zzz):' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:93:2:93:21 | Misleading operator precedence. The subexpression '^click' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:94:2:94:43 | Misleading operator precedence. The subexpression '^http:\\/\\/good\\.com' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:95:2:95:47 | Misleading operator precedence. The subexpression '^https?:\\/\\/good\\.com' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:96:2:96:55 | Misleading operator precedence. The subexpression '^mouse' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:97:2:97:14 | Misleading operator precedence. The subexpression '^xxx:' is anchored at the beginning, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-SemiAnchoredRegExp.js:98:2:98:18 | Misleading operator precedence. The subexpression '_zzz$' is anchored at the end, but the other parts of this regular expression are not | Unexpected result: Alert |
|
||||
| tst-UnanchoredUrlRegExp.js:77:11:77:32 | When this is used as a regular expression on a URL, it may match anywhere, and arbitrary hosts may come before or after it. | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,16 @@
|
||||
#select
|
||||
| tst-UntrustedDataToExternalAPI.js:5:13:5:21 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:5:13:5:21 | untrusted | Call to external-lib() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:6:17:6:25 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:6:17:6:25 | untrusted | Call to external-lib() [param 0 'x'] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:7:16:7:24 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:7:16:7:24 | untrusted | Call to external-lib() [param *] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:8:31:8:39 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:8:31:8:39 | untrusted | Call to external-lib() [param *] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:9:18:9:26 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:9:18:9:26 | untrusted | Call to external-lib() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:10:13:10:33 | ['x', u ... d, 'y'] | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:10:13:10:33 | ['x', u ... d, 'y'] | Call to external-lib() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:11:20:11:28 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:11:20:11:28 | untrusted | Call to external-lib() [param 1] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:13:8:17:5 | {\\n ... }\\n } | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:13:8:17:5 | {\\n ... }\\n } | Call to external-lib() [param 0 'x'] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:33:14:33:22 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:33:14:33:22 | untrusted | Call to external-lib.get.[callback].[param 'res'].send() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:34:34:34:42 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:34:34:34:42 | untrusted | Call to external-lib.get.[callback].[param 'req'].app.locals.something.foo() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:41:7:41:8 | {} | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:41:7:41:8 | {} | Call to lodash.merge() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:41:11:45:1 | {\\n x ... usted\\n} | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:41:11:45:1 | {\\n x ... usted\\n} | Call to lodash.merge() [param 1] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
edges
|
||||
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:5:13:5:21 | untrusted | provenance | |
|
||||
| tst-UntrustedDataToExternalAPI.js:3:5:3:27 | untrusted | tst-UntrustedDataToExternalAPI.js:6:17:6:25 | untrusted | provenance | |
|
||||
@@ -50,16 +63,17 @@ nodes
|
||||
| tst-UntrustedDataToExternalAPI.js:43:8:43:16 | untrusted | semmle.label | untrusted |
|
||||
| tst-UntrustedDataToExternalAPI.js:44:8:44:16 | untrusted | semmle.label | untrusted |
|
||||
subpaths
|
||||
#select
|
||||
| tst-UntrustedDataToExternalAPI.js:5:13:5:21 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:5:13:5:21 | untrusted | Call to external-lib() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:6:17:6:25 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:6:17:6:25 | untrusted | Call to external-lib() [param 0 'x'] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:7:16:7:24 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:7:16:7:24 | untrusted | Call to external-lib() [param *] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:8:31:8:39 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:8:31:8:39 | untrusted | Call to external-lib() [param *] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:9:18:9:26 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:9:18:9:26 | untrusted | Call to external-lib() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:10:13:10:33 | ['x', u ... d, 'y'] | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:10:13:10:33 | ['x', u ... d, 'y'] | Call to external-lib() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:11:20:11:28 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:11:20:11:28 | untrusted | Call to external-lib() [param 1] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:13:8:17:5 | {\\n ... }\\n } | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:13:8:17:5 | {\\n ... }\\n } | Call to external-lib() [param 0 'x'] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:33:14:33:22 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:33:14:33:22 | untrusted | Call to external-lib.get.[callback].[param 'res'].send() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:34:34:34:42 | untrusted | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:34:34:34:42 | untrusted | Call to external-lib.get.[callback].[param 'req'].app.locals.something.foo() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:41:7:41:8 | {} | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:41:7:41:8 | {} | Call to lodash.merge() [param 0] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
| tst-UntrustedDataToExternalAPI.js:41:11:45:1 | {\\n x ... usted\\n} | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | tst-UntrustedDataToExternalAPI.js:41:11:45:1 | {\\n x ... usted\\n} | Call to lodash.merge() [param 1] with untrusted data from $@. | tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | window.name |
|
||||
testFailures
|
||||
| tst-UntrustedDataToExternalAPI.js:3:17:3:27 | window.name | Unexpected result: Source |
|
||||
| tst-UntrustedDataToExternalAPI.js:5:13:5:21 | untrusted | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:6:17:6:25 | untrusted | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:7:16:7:24 | untrusted | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:8:31:8:39 | untrusted | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:9:18:9:26 | untrusted | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:10:13:10:33 | ['x', u ... d, 'y'] | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:11:20:11:28 | untrusted | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:13:8:17:5 | {\\n ... }\\n } | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:33:14:33:22 | untrusted | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:34:34:34:42 | untrusted | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:41:7:41:8 | {} | Unexpected result: Alert |
|
||||
| tst-UntrustedDataToExternalAPI.js:41:11:45:1 | {\\n x ... usted\\n} | Unexpected result: Alert |
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#select
|
||||
| tst-escapes.js:13:11:13:12 | '\\b' is a backspace, and not a word-boundary assertion | The escape sequence '\\b' is a backspace, and not a word-boundary assertion when it is used in a $@. | tst-escapes.js:13:8:13:61 | "\\a\\b\\c ... \\x\\y\\z" | regular expression |
|
||||
| tst-escapes.js:13:13:13:14 | '\\c' is equivalent to just 'c', so the sequence is not a character class | The escape sequence '\\c' is equivalent to just 'c', so the sequence is not a character class when it is used in a $@. | tst-escapes.js:13:8:13:61 | "\\a\\b\\c ... \\x\\y\\z" | regular expression |
|
||||
| tst-escapes.js:13:15:13:16 | '\\d' is equivalent to just 'd', so the sequence is not a character class | The escape sequence '\\d' is equivalent to just 'd', so the sequence is not a character class when it is used in a $@. | tst-escapes.js:13:8:13:61 | "\\a\\b\\c ... \\x\\y\\z" | regular expression |
|
||||
@@ -41,3 +42,10 @@
|
||||
| tst-escapes.js:64:9:64:10 | '\\]' is equivalent to just ']', so the sequence may still represent a meta-character | The escape sequence '\\]' is equivalent to just ']', so the sequence may still represent a meta-character when it is used in a $@. | tst-escapes.js:64:8:64:11 | "\\]" | regular expression |
|
||||
| tst-escapes.js:69:13:69:14 | '\\]' is equivalent to just ']', so the sequence may still represent a meta-character | The escape sequence '\\]' is equivalent to just ']', so the sequence may still represent a meta-character when it is used in a $@. | tst-escapes.js:69:8:69:15 | "\\\\\\\\\\]" | regular expression |
|
||||
| tst-escapes.js:73:17:73:18 | '\\]' is equivalent to just ']', so the sequence may still represent a meta-character | The escape sequence '\\]' is equivalent to just ']', so the sequence may still represent a meta-character when it is used in a $@. | tst-escapes.js:73:8:73:19 | "\\\\\\\\\\\\\\\\\\]" | regular expression |
|
||||
testFailures
|
||||
| tst-escapes.js:16:17:16:18 | The escape sequence '\\$' is equivalent to just '$', so the sequence may still represent a meta-character when it is used in a $@. | Unexpected result: Alert |
|
||||
| tst-escapes.js:16:21:16:22 | The escape sequence '\\^' is equivalent to just '^', so the sequence may still represent a meta-character when it is used in a $@. | Unexpected result: Alert |
|
||||
| tst-escapes.js:17:18:17:19 | The escape sequence '\\.' is equivalent to just '.', so the sequence may still represent a meta-character when it is used in a $@. | Unexpected result: Alert |
|
||||
| tst-escapes.js:41:9:41:10 | The escape sequence '\\.' is equivalent to just '.', so the sequence may still represent a meta-character when it is used in a $@. | Unexpected result: Alert |
|
||||
| tst-escapes.js:56:10:56:11 | The escape sequence '\\.' is equivalent to just '.', so the sequence may still represent a meta-character when it is used in a $@. | Unexpected result: Alert |
|
||||
| tst-escapes.js:57:12:57:13 | The escape sequence '\\.' is equivalent to just '.', so the sequence may still represent a meta-character when it is used in a $@. | Unexpected result: Alert |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,28 @@
|
||||
#select
|
||||
| AdmZipBad.js:6:24:6:41 | zipEntry.entryName | AdmZipBad.js:6:24:6:41 | zipEntry.entryName | AdmZipBad.js:6:24:6:41 | zipEntry.entryName | Unsanitized archive entry, which may contain '..', is used in a $@. | AdmZipBad.js:6:24:6:41 | zipEntry.entryName | file system operation |
|
||||
| TarSlipBad.js:6:36:6:46 | header.name | TarSlipBad.js:6:36:6:46 | header.name | TarSlipBad.js:6:36:6:46 | header.name | Unsanitized archive entry, which may contain '..', is used in a $@. | TarSlipBad.js:6:36:6:46 | header.name | file system operation |
|
||||
| TarSlipBad.js:9:17:9:31 | header.linkname | TarSlipBad.js:9:17:9:31 | header.linkname | TarSlipBad.js:9:17:9:31 | header.linkname | Unsanitized archive entry, which may contain '..', is used in a $@. | TarSlipBad.js:9:17:9:31 | header.linkname | file system operation |
|
||||
| ZipSlipBad2.js:5:37:5:46 | entry.path | ZipSlipBad2.js:5:37:5:46 | entry.path | ZipSlipBad2.js:6:22:6:29 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad2.js:6:22:6:29 | fileName | file system operation |
|
||||
| ZipSlipBad.js:7:22:7:31 | entry.path | ZipSlipBad.js:7:22:7:31 | entry.path | ZipSlipBad.js:8:37:8:44 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:8:37:8:44 | fileName | file system operation |
|
||||
| ZipSlipBad.js:15:22:15:31 | entry.path | ZipSlipBad.js:15:22:15:31 | entry.path | ZipSlipBad.js:16:30:16:37 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:16:30:16:37 | fileName | file system operation |
|
||||
| ZipSlipBad.js:22:22:22:31 | entry.path | ZipSlipBad.js:22:22:22:31 | entry.path | ZipSlipBad.js:23:28:23:35 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:23:28:23:35 | fileName | file system operation |
|
||||
| ZipSlipBad.js:30:14:30:17 | name | ZipSlipBad.js:30:14:30:17 | name | ZipSlipBad.js:31:26:31:29 | name | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:31:26:31:29 | name | file system operation |
|
||||
| ZipSlipBad.js:34:16:34:19 | name | ZipSlipBad.js:34:16:34:19 | name | ZipSlipBad.js:35:26:35:29 | name | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:35:26:35:29 | name | file system operation |
|
||||
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | file system operation |
|
||||
edges
|
||||
| ZipSlipBad2.js:5:9:5:46 | fileName | ZipSlipBad2.js:6:22:6:29 | fileName | provenance | |
|
||||
| ZipSlipBad2.js:5:20:5:46 | 'output ... ry.path | ZipSlipBad2.js:5:9:5:46 | fileName | provenance | |
|
||||
| ZipSlipBad2.js:5:37:5:46 | entry.path | ZipSlipBad2.js:5:20:5:46 | 'output ... ry.path | provenance | Config |
|
||||
| ZipSlipBad.js:7:11:7:31 | fileName | ZipSlipBad.js:8:37:8:44 | fileName | provenance | |
|
||||
| ZipSlipBad.js:7:22:7:31 | entry.path | ZipSlipBad.js:7:11:7:31 | fileName | provenance | |
|
||||
| ZipSlipBad.js:15:11:15:31 | fileName | ZipSlipBad.js:16:30:16:37 | fileName | provenance | |
|
||||
| ZipSlipBad.js:15:22:15:31 | entry.path | ZipSlipBad.js:15:11:15:31 | fileName | provenance | |
|
||||
| ZipSlipBad.js:22:11:22:31 | fileName | ZipSlipBad.js:23:28:23:35 | fileName | provenance | |
|
||||
| ZipSlipBad.js:22:22:22:31 | entry.path | ZipSlipBad.js:22:11:22:31 | fileName | provenance | |
|
||||
| ZipSlipBad.js:30:14:30:17 | name | ZipSlipBad.js:31:26:31:29 | name | provenance | |
|
||||
| ZipSlipBad.js:34:16:34:19 | name | ZipSlipBad.js:35:26:35:29 | name | provenance | |
|
||||
| ZipSlipBadUnzipper.js:7:9:7:29 | fileName | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | provenance | |
|
||||
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:7:9:7:29 | fileName | provenance | |
|
||||
nodes
|
||||
| AdmZipBad.js:6:24:6:41 | zipEntry.entryName | semmle.label | zipEntry.entryName |
|
||||
| TarSlipBad.js:6:36:6:46 | header.name | semmle.label | header.name |
|
||||
@@ -22,29 +47,22 @@ nodes
|
||||
| ZipSlipBadUnzipper.js:7:9:7:29 | fileName | semmle.label | fileName |
|
||||
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | semmle.label | entry.path |
|
||||
| ZipSlipBadUnzipper.js:8:37:8:44 | fileName | semmle.label | fileName |
|
||||
edges
|
||||
| ZipSlipBad2.js:5:9:5:46 | fileName | ZipSlipBad2.js:6:22:6:29 | fileName | provenance | |
|
||||
| ZipSlipBad2.js:5:20:5:46 | 'output ... ry.path | ZipSlipBad2.js:5:9:5:46 | fileName | provenance | |
|
||||
| ZipSlipBad2.js:5:37:5:46 | entry.path | ZipSlipBad2.js:5:20:5:46 | 'output ... ry.path | provenance | Config |
|
||||
| ZipSlipBad.js:7:11:7:31 | fileName | ZipSlipBad.js:8:37:8:44 | fileName | provenance | |
|
||||
| ZipSlipBad.js:7:22:7:31 | entry.path | ZipSlipBad.js:7:11:7:31 | fileName | provenance | |
|
||||
| ZipSlipBad.js:15:11:15:31 | fileName | ZipSlipBad.js:16:30:16:37 | fileName | provenance | |
|
||||
| ZipSlipBad.js:15:22:15:31 | entry.path | ZipSlipBad.js:15:11:15:31 | fileName | provenance | |
|
||||
| ZipSlipBad.js:22:11:22:31 | fileName | ZipSlipBad.js:23:28:23:35 | fileName | provenance | |
|
||||
| ZipSlipBad.js:22:22:22:31 | entry.path | ZipSlipBad.js:22:11:22:31 | fileName | provenance | |
|
||||
| ZipSlipBad.js:30:14:30:17 | name | ZipSlipBad.js:31:26:31:29 | name | provenance | |
|
||||
| ZipSlipBad.js:34:16:34:19 | name | ZipSlipBad.js:35:26:35:29 | name | provenance | |
|
||||
| ZipSlipBadUnzipper.js:7:9:7:29 | fileName | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | provenance | |
|
||||
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:7:9:7:29 | fileName | provenance | |
|
||||
subpaths
|
||||
#select
|
||||
| AdmZipBad.js:6:24:6:41 | zipEntry.entryName | AdmZipBad.js:6:24:6:41 | zipEntry.entryName | AdmZipBad.js:6:24:6:41 | zipEntry.entryName | Unsanitized archive entry, which may contain '..', is used in a $@. | AdmZipBad.js:6:24:6:41 | zipEntry.entryName | file system operation |
|
||||
| TarSlipBad.js:6:36:6:46 | header.name | TarSlipBad.js:6:36:6:46 | header.name | TarSlipBad.js:6:36:6:46 | header.name | Unsanitized archive entry, which may contain '..', is used in a $@. | TarSlipBad.js:6:36:6:46 | header.name | file system operation |
|
||||
| TarSlipBad.js:9:17:9:31 | header.linkname | TarSlipBad.js:9:17:9:31 | header.linkname | TarSlipBad.js:9:17:9:31 | header.linkname | Unsanitized archive entry, which may contain '..', is used in a $@. | TarSlipBad.js:9:17:9:31 | header.linkname | file system operation |
|
||||
| ZipSlipBad2.js:5:37:5:46 | entry.path | ZipSlipBad2.js:5:37:5:46 | entry.path | ZipSlipBad2.js:6:22:6:29 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad2.js:6:22:6:29 | fileName | file system operation |
|
||||
| ZipSlipBad.js:7:22:7:31 | entry.path | ZipSlipBad.js:7:22:7:31 | entry.path | ZipSlipBad.js:8:37:8:44 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:8:37:8:44 | fileName | file system operation |
|
||||
| ZipSlipBad.js:15:22:15:31 | entry.path | ZipSlipBad.js:15:22:15:31 | entry.path | ZipSlipBad.js:16:30:16:37 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:16:30:16:37 | fileName | file system operation |
|
||||
| ZipSlipBad.js:22:22:22:31 | entry.path | ZipSlipBad.js:22:22:22:31 | entry.path | ZipSlipBad.js:23:28:23:35 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:23:28:23:35 | fileName | file system operation |
|
||||
| ZipSlipBad.js:30:14:30:17 | name | ZipSlipBad.js:30:14:30:17 | name | ZipSlipBad.js:31:26:31:29 | name | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:31:26:31:29 | name | file system operation |
|
||||
| ZipSlipBad.js:34:16:34:19 | name | ZipSlipBad.js:34:16:34:19 | name | ZipSlipBad.js:35:26:35:29 | name | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBad.js:35:26:35:29 | name | file system operation |
|
||||
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | Unsanitized archive entry, which may contain '..', is used in a $@. | ZipSlipBadUnzipper.js:8:37:8:44 | fileName | file system operation |
|
||||
testFailures
|
||||
| AdmZipBad.js:6:24:6:41 | zipEntry.entryName | Unexpected result: Alert |
|
||||
| TarSlipBad.js:6:36:6:46 | header.name | Unexpected result: Alert |
|
||||
| TarSlipBad.js:9:17:9:31 | header.linkname | Unexpected result: Alert |
|
||||
| ZipSlipBad.js:7:22:7:31 | entry.path | Unexpected result: Alert |
|
||||
| ZipSlipBad.js:8:37:8:44 | fileName | Unexpected result: Sink |
|
||||
| ZipSlipBad.js:15:22:15:31 | entry.path | Unexpected result: Alert |
|
||||
| ZipSlipBad.js:16:30:16:37 | fileName | Unexpected result: Sink |
|
||||
| ZipSlipBad.js:22:22:22:31 | entry.path | Unexpected result: Alert |
|
||||
| ZipSlipBad.js:23:28:23:35 | fileName | Unexpected result: Sink |
|
||||
| ZipSlipBad.js:30:14:30:17 | name | Unexpected result: Alert |
|
||||
| ZipSlipBad.js:31:26:31:29 | name | Unexpected result: Sink |
|
||||
| ZipSlipBad.js:34:16:34:19 | name | Unexpected result: Alert |
|
||||
| ZipSlipBad.js:35:26:35:29 | name | Unexpected result: Sink |
|
||||
| ZipSlipBad2.js:5:37:5:46 | entry.path | Unexpected result: Alert |
|
||||
| ZipSlipBad2.js:6:22:6:29 | fileName | Unexpected result: Sink |
|
||||
| ZipSlipBadUnzipper.js:7:20:7:29 | entry.path | Unexpected result: Alert |
|
||||
| ZipSlipBadUnzipper.js:8:37:8:44 | fileName | Unexpected result: Sink |
|
||||
|
||||
@@ -1,3 +1,43 @@
|
||||
#select
|
||||
| routes.js:2:23:2:30 | req.body | routes.js:2:23:2:30 | req.body | routes.js:2:23:2:30 | req.body | Template object depends on a $@. | routes.js:2:23:2:30 | req.body | user-provided value |
|
||||
| tst2.js:7:28:7:40 | bodyParameter | tst2.js:6:25:6:32 | req.body | tst2.js:7:28:7:40 | bodyParameter | Template object depends on a $@. | tst2.js:6:25:6:32 | req.body | user-provided value |
|
||||
| tst2.js:27:28:27:40 | bodyParameter | tst2.js:26:25:26:32 | req.body | tst2.js:27:28:27:40 | bodyParameter | Template object depends on a $@. | tst2.js:26:25:26:32 | req.body | user-provided value |
|
||||
| tst2.js:35:28:35:40 | bodyParameter | tst2.js:34:25:34:32 | req.body | tst2.js:35:28:35:40 | bodyParameter | Template object depends on a $@. | tst2.js:34:25:34:32 | req.body | user-provided value |
|
||||
| tst2.js:43:28:43:40 | bodyParameter | tst2.js:42:25:42:32 | req.body | tst2.js:43:28:43:40 | bodyParameter | Template object depends on a $@. | tst2.js:42:25:42:32 | req.body | user-provided value |
|
||||
| tst2.js:52:28:52:40 | bodyParameter | tst2.js:51:25:51:32 | req.body | tst2.js:52:28:52:40 | bodyParameter | Template object depends on a $@. | tst2.js:51:25:51:32 | req.body | user-provided value |
|
||||
| tst.js:10:28:10:40 | bodyParameter | tst.js:7:25:7:32 | req.body | tst.js:10:28:10:40 | bodyParameter | Template object depends on a $@. | tst.js:7:25:7:32 | req.body | user-provided value |
|
||||
| tst.js:11:28:11:41 | queryParameter | tst.js:8:26:8:49 | req.que ... rameter | tst.js:11:28:11:41 | queryParameter | Template object depends on a $@. | tst.js:8:26:8:49 | req.que ... rameter | user-provided value |
|
||||
| tst.js:24:28:24:30 | obj | tst.js:8:26:8:49 | req.que ... rameter | tst.js:24:28:24:30 | obj | Template object depends on a $@. | tst.js:8:26:8:49 | req.que ... rameter | user-provided value |
|
||||
| tst.js:29:28:29:42 | JSON.parse(str) | tst.js:8:26:8:49 | req.que ... rameter | tst.js:29:28:29:42 | JSON.parse(str) | Template object depends on a $@. | tst.js:8:26:8:49 | req.que ... rameter | user-provided value |
|
||||
edges
|
||||
| tst2.js:6:9:6:46 | bodyParameter | tst2.js:7:28:7:40 | bodyParameter | provenance | |
|
||||
| tst2.js:6:25:6:32 | req.body | tst2.js:6:25:6:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:6:25:6:46 | req.bod ... rameter | tst2.js:6:9:6:46 | bodyParameter | provenance | |
|
||||
| tst2.js:26:9:26:46 | bodyParameter | tst2.js:27:28:27:40 | bodyParameter | provenance | |
|
||||
| tst2.js:26:25:26:32 | req.body | tst2.js:26:25:26:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:26:25:26:46 | req.bod ... rameter | tst2.js:26:9:26:46 | bodyParameter | provenance | |
|
||||
| tst2.js:34:9:34:46 | bodyParameter | tst2.js:35:28:35:40 | bodyParameter | provenance | |
|
||||
| tst2.js:34:25:34:32 | req.body | tst2.js:34:25:34:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:34:25:34:46 | req.bod ... rameter | tst2.js:34:9:34:46 | bodyParameter | provenance | |
|
||||
| tst2.js:42:9:42:46 | bodyParameter | tst2.js:43:28:43:40 | bodyParameter | provenance | |
|
||||
| tst2.js:42:25:42:32 | req.body | tst2.js:42:25:42:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:42:25:42:46 | req.bod ... rameter | tst2.js:42:9:42:46 | bodyParameter | provenance | |
|
||||
| tst2.js:51:9:51:46 | bodyParameter | tst2.js:52:28:52:40 | bodyParameter | provenance | |
|
||||
| tst2.js:51:25:51:32 | req.body | tst2.js:51:25:51:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:51:25:51:46 | req.bod ... rameter | tst2.js:51:9:51:46 | bodyParameter | provenance | |
|
||||
| tst.js:7:9:7:46 | bodyParameter | tst.js:10:28:10:40 | bodyParameter | provenance | |
|
||||
| tst.js:7:25:7:32 | req.body | tst.js:7:25:7:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst.js:7:25:7:46 | req.bod ... rameter | tst.js:7:9:7:46 | bodyParameter | provenance | |
|
||||
| tst.js:8:9:8:49 | queryParameter | tst.js:11:28:11:41 | queryParameter | provenance | |
|
||||
| tst.js:8:9:8:49 | queryParameter | tst.js:20:19:20:32 | queryParameter | provenance | |
|
||||
| tst.js:8:26:8:49 | req.que ... rameter | tst.js:8:9:8:49 | queryParameter | provenance | |
|
||||
| tst.js:20:19:20:32 | queryParameter | tst.js:23:24:23:26 | obj | provenance | |
|
||||
| tst.js:23:24:23:26 | obj | tst.js:24:28:24:30 | obj | provenance | |
|
||||
| tst.js:23:24:23:26 | obj | tst.js:26:17:26:19 | obj | provenance | |
|
||||
| tst.js:26:11:26:24 | str | tst.js:29:39:29:41 | str | provenance | |
|
||||
| tst.js:26:17:26:19 | obj | tst.js:26:17:26:24 | obj + "" | provenance | Config |
|
||||
| tst.js:26:17:26:24 | obj + "" | tst.js:26:11:26:24 | str | provenance | |
|
||||
| tst.js:29:39:29:41 | str | tst.js:29:28:29:42 | JSON.parse(str) | provenance | Config |
|
||||
nodes
|
||||
| routes.js:2:23:2:30 | req.body | semmle.label | req.body |
|
||||
| tst2.js:6:9:6:46 | bodyParameter | semmle.label | bodyParameter |
|
||||
@@ -35,44 +75,12 @@ nodes
|
||||
| tst.js:26:17:26:24 | obj + "" | semmle.label | obj + "" |
|
||||
| tst.js:29:28:29:42 | JSON.parse(str) | semmle.label | JSON.parse(str) |
|
||||
| tst.js:29:39:29:41 | str | semmle.label | str |
|
||||
edges
|
||||
| tst2.js:6:9:6:46 | bodyParameter | tst2.js:7:28:7:40 | bodyParameter | provenance | |
|
||||
| tst2.js:6:25:6:32 | req.body | tst2.js:6:25:6:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:6:25:6:46 | req.bod ... rameter | tst2.js:6:9:6:46 | bodyParameter | provenance | |
|
||||
| tst2.js:26:9:26:46 | bodyParameter | tst2.js:27:28:27:40 | bodyParameter | provenance | |
|
||||
| tst2.js:26:25:26:32 | req.body | tst2.js:26:25:26:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:26:25:26:46 | req.bod ... rameter | tst2.js:26:9:26:46 | bodyParameter | provenance | |
|
||||
| tst2.js:34:9:34:46 | bodyParameter | tst2.js:35:28:35:40 | bodyParameter | provenance | |
|
||||
| tst2.js:34:25:34:32 | req.body | tst2.js:34:25:34:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:34:25:34:46 | req.bod ... rameter | tst2.js:34:9:34:46 | bodyParameter | provenance | |
|
||||
| tst2.js:42:9:42:46 | bodyParameter | tst2.js:43:28:43:40 | bodyParameter | provenance | |
|
||||
| tst2.js:42:25:42:32 | req.body | tst2.js:42:25:42:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:42:25:42:46 | req.bod ... rameter | tst2.js:42:9:42:46 | bodyParameter | provenance | |
|
||||
| tst2.js:51:9:51:46 | bodyParameter | tst2.js:52:28:52:40 | bodyParameter | provenance | |
|
||||
| tst2.js:51:25:51:32 | req.body | tst2.js:51:25:51:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst2.js:51:25:51:46 | req.bod ... rameter | tst2.js:51:9:51:46 | bodyParameter | provenance | |
|
||||
| tst.js:7:9:7:46 | bodyParameter | tst.js:10:28:10:40 | bodyParameter | provenance | |
|
||||
| tst.js:7:25:7:32 | req.body | tst.js:7:25:7:46 | req.bod ... rameter | provenance | Config |
|
||||
| tst.js:7:25:7:46 | req.bod ... rameter | tst.js:7:9:7:46 | bodyParameter | provenance | |
|
||||
| tst.js:8:9:8:49 | queryParameter | tst.js:11:28:11:41 | queryParameter | provenance | |
|
||||
| tst.js:8:9:8:49 | queryParameter | tst.js:20:19:20:32 | queryParameter | provenance | |
|
||||
| tst.js:8:26:8:49 | req.que ... rameter | tst.js:8:9:8:49 | queryParameter | provenance | |
|
||||
| tst.js:20:19:20:32 | queryParameter | tst.js:23:24:23:26 | obj | provenance | |
|
||||
| tst.js:23:24:23:26 | obj | tst.js:24:28:24:30 | obj | provenance | |
|
||||
| tst.js:23:24:23:26 | obj | tst.js:26:17:26:19 | obj | provenance | |
|
||||
| tst.js:26:11:26:24 | str | tst.js:29:39:29:41 | str | provenance | |
|
||||
| tst.js:26:17:26:19 | obj | tst.js:26:17:26:24 | obj + "" | provenance | Config |
|
||||
| tst.js:26:17:26:24 | obj + "" | tst.js:26:11:26:24 | str | provenance | |
|
||||
| tst.js:29:39:29:41 | str | tst.js:29:28:29:42 | JSON.parse(str) | provenance | Config |
|
||||
subpaths
|
||||
#select
|
||||
| routes.js:2:23:2:30 | req.body | routes.js:2:23:2:30 | req.body | routes.js:2:23:2:30 | req.body | Template object depends on a $@. | routes.js:2:23:2:30 | req.body | user-provided value |
|
||||
| tst2.js:7:28:7:40 | bodyParameter | tst2.js:6:25:6:32 | req.body | tst2.js:7:28:7:40 | bodyParameter | Template object depends on a $@. | tst2.js:6:25:6:32 | req.body | user-provided value |
|
||||
| tst2.js:27:28:27:40 | bodyParameter | tst2.js:26:25:26:32 | req.body | tst2.js:27:28:27:40 | bodyParameter | Template object depends on a $@. | tst2.js:26:25:26:32 | req.body | user-provided value |
|
||||
| tst2.js:35:28:35:40 | bodyParameter | tst2.js:34:25:34:32 | req.body | tst2.js:35:28:35:40 | bodyParameter | Template object depends on a $@. | tst2.js:34:25:34:32 | req.body | user-provided value |
|
||||
| tst2.js:43:28:43:40 | bodyParameter | tst2.js:42:25:42:32 | req.body | tst2.js:43:28:43:40 | bodyParameter | Template object depends on a $@. | tst2.js:42:25:42:32 | req.body | user-provided value |
|
||||
| tst2.js:52:28:52:40 | bodyParameter | tst2.js:51:25:51:32 | req.body | tst2.js:52:28:52:40 | bodyParameter | Template object depends on a $@. | tst2.js:51:25:51:32 | req.body | user-provided value |
|
||||
| tst.js:10:28:10:40 | bodyParameter | tst.js:7:25:7:32 | req.body | tst.js:10:28:10:40 | bodyParameter | Template object depends on a $@. | tst.js:7:25:7:32 | req.body | user-provided value |
|
||||
| tst.js:11:28:11:41 | queryParameter | tst.js:8:26:8:49 | req.que ... rameter | tst.js:11:28:11:41 | queryParameter | Template object depends on a $@. | tst.js:8:26:8:49 | req.que ... rameter | user-provided value |
|
||||
| tst.js:24:28:24:30 | obj | tst.js:8:26:8:49 | req.que ... rameter | tst.js:24:28:24:30 | obj | Template object depends on a $@. | tst.js:8:26:8:49 | req.que ... rameter | user-provided value |
|
||||
| tst.js:29:28:29:42 | JSON.parse(str) | tst.js:8:26:8:49 | req.que ... rameter | tst.js:29:28:29:42 | JSON.parse(str) | Template object depends on a $@. | tst.js:8:26:8:49 | req.que ... rameter | user-provided value |
|
||||
testFailures
|
||||
| tst.js:7:25:7:32 | req.body | Unexpected result: Source |
|
||||
| tst.js:8:26:8:49 | req.que ... rameter | Unexpected result: Source |
|
||||
| tst2.js:6:25:6:32 | req.body | Unexpected result: Source |
|
||||
| tst2.js:26:25:26:32 | req.body | Unexpected result: Source |
|
||||
| tst2.js:34:25:34:32 | req.body | Unexpected result: Source |
|
||||
| tst2.js:42:25:42:32 | req.body | Unexpected result: Source |
|
||||
| tst2.js:51:25:51:32 | req.body | Unexpected result: Source |
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user