JS: Add test case for spurious flow from lack of use-use

This commit is contained in:
Asger F
2024-09-19 15:09:55 +02:00
parent 7363b578b1
commit 81e74d8bb5

View File

@@ -0,0 +1,30 @@
import 'dummy';
function t1() {
const obj = {};
sink(obj.field); // $ SPURIOUS: hasValueFlow=t1.1 hasValueFlow=t1.2
obj.field = source('t1.1');
sink(obj.field); // $ hasValueFlow=t1.1 SPURIOUS: hasValueFlow=t1.2
obj.field = "safe";
sink(obj.field); // $ SPURIOUS: hasValueFlow=t1.1 hasValueFlow=t1.2
obj.field = source('t1.2');
sink(obj.field); // $ hasValueFlow=t1.2 SPURIOUS: hasValueFlow=t1.1
}
function t2() {
let obj;
if (Math.random()) {
obj = {};
sink(obj.field);
} else {
obj = {};
obj.field = source('t2.1');
sink(obj.field); // $ hasValueFlow=t2.1
}
sink(obj.field); // $ hasValueFlow=t2.1
}