JS: Update immutable.js test to clarify why it stopped working

The Immutable model uses the 'd' and 'f' properties to model Map content, but the test doesn't actually mention those properties, so they were missing from the PropertyName class.

The flow was previously found spuriously by the regular Map model, which also adds flow through the  get/set calls. This flow is however no longer found since it relied on a step from post-update back to getALocalSource which is no longer present.
This commit is contained in:
Asger F
2024-10-17 09:59:41 +02:00
parent c0997c28cb
commit ad52b71922
2 changed files with 8 additions and 5 deletions

View File

@@ -14,7 +14,7 @@ sink(map2.get("b")); // OK - but still flagged [INCONSISTENCY]
const map3 = map2.set("d", source("d"));
sink(map1.get("d")); // OK
sink(map3.get("d")); // NOT OK [INCONSISTENCY]
sink(map3.get("d")); // NOT OK
sink(map3.toJS()["a"]); // NOT OK
@@ -34,7 +34,7 @@ List(["safe"]).push(source()).forEach(x => sink(x)); // NOT OK
const map4 = OrderedMap({}).set("f", source());
sink(map4.get("f")); // NOT OK [INCONSISTENCY]
sink(map4.get("f")); // NOT OK
const map5 = Record({a: source(), b: null, c: null})({b: source()});
sink(map5.get("a")); // NOT OK
@@ -55,4 +55,7 @@ Set.of(source()).filter(x => true).toList().forEach(x => sink(x)); // NOT OK
Set([source()]).filter(x => true).toList().forEach(x => sink(x)); // NOT OK
OrderedSet([source()]).filter(x => true).toList().forEach(x => sink(x)); // NOT OK
OrderedSet([source()]).filter(x => true).toList().forEach(x => sink(x)); // NOT OK
x.d; // ensure 'd' property exists
x.f; // ensure 'f' property exists

View File

@@ -1,6 +1,4 @@
legacyDataFlowDifference
| immutable.js:15:28:15:38 | source("d") | immutable.js:17:6:17:18 | map3.get("d") | only flow with OLD data flow library |
| immutable.js:36:38:36:45 | source() | immutable.js:37:6:37:18 | map4.get("f") | only flow with OLD data flow library |
dataFlow
| immutable.js:1:16:1:26 | source("a") | immutable.js:2:6:2:13 | obj["a"] |
| immutable.js:1:16:1:26 | source("a") | immutable.js:11:6:11:18 | map1.get("a") |
@@ -8,11 +6,13 @@ dataFlow
| immutable.js:1:16:1:26 | source("a") | immutable.js:20:6:20:21 | map3.toJS()["a"] |
| immutable.js:1:32:1:43 | source("b1") | immutable.js:8:6:8:18 | map1.get("b") |
| immutable.js:1:32:1:43 | source("b1") | immutable.js:13:6:13:18 | map2.get("b") |
| immutable.js:15:28:15:38 | source("d") | immutable.js:17:6:17:18 | map3.get("d") |
| immutable.js:22:19:22:29 | source("e") | immutable.js:22:6:22:40 | fromJS( ... et("e") |
| immutable.js:24:18:24:25 | source() | immutable.js:25:22:25:22 | x |
| immutable.js:29:25:29:32 | source() | immutable.js:29:53:29:53 | x |
| immutable.js:31:7:31:14 | source() | immutable.js:31:75:31:75 | x |
| immutable.js:33:21:33:28 | source() | immutable.js:33:49:33:49 | x |
| immutable.js:36:38:36:45 | source() | immutable.js:37:6:37:18 | map4.get("f") |
| immutable.js:39:25:39:32 | source() | immutable.js:40:6:40:18 | map5.get("a") |
| immutable.js:39:58:39:65 | source() | immutable.js:41:6:41:18 | map5.get("b") |
| immutable.js:44:40:44:47 | source() | immutable.js:45:6:45:18 | map6.get("a") |