JS: Add test for SourceNode not depending on flowsTo

This commit is contained in:
Asger Feldthaus
2020-04-08 10:23:47 +01:00
parent ffbbdd7779
commit 171b131eb1
3 changed files with 22 additions and 0 deletions

View File

@@ -0,0 +1 @@
| Success |

View File

@@ -0,0 +1,19 @@
/**
* Test that fails to compile if the domain of `SourceNode` depends on `SourceNode.flowsTo` (recursively).
*
* This tests adds a negative dependency `flowsTo --!--> SourceNode`
* so that the undesired edge `SourceNode --> flowsTo` completes a negative cycle.
*/
import javascript
class BadSourceNode extends DataFlow::SourceNode {
BadSourceNode() {
this.(DataFlow::PropRead).getPropertyName() = "foo"
}
override predicate flowsTo(DataFlow::Node node) {
not node instanceof DataFlow::SourceNode
}
}
select "Success"

View File

@@ -0,0 +1,2 @@
// The contents of this file don't matter
let x = 1;