Merge pull request #15883 from RasmusWL/js-cg-tests

JS: show test changes after #15823
This commit is contained in:
Rasmus Wriedt Larsen
2024-03-19 09:58:20 +01:00
committed by GitHub
3 changed files with 49 additions and 0 deletions

View File

@@ -25,3 +25,24 @@ MyOtherStream.prototype.instanceProp = 1; /* def=moduleImport("classes").getMemb
MyOtherStream.classProp = 1; /* def=moduleImport("classes").getMember("exports").getMember("MyOtherStream").getMember("classProp") */
module.exports.MyOtherStream = MyOtherStream;
// function-style class without .prototype reference
function MyThirdStream() { /* use=moduleImport("classes").getMember("exports").getMember("MyThirdStream").getInstance() */
}
let instance = new MyThirdStream(); /* use=moduleImport("classes").getMember("exports").getMember("MyThirdStream").getInstance() */
module.exports.MyThirdStream = MyThirdStream;
// function-style class without .prototype reference (through global variable)
(function(f) {
foo.bar = function() { /* use=moduleImport("classes").getMember("exports").getMember("bar").getInstance() */
}
})(foo = foo || {});
(function(f) {
let x = new f.bar(); /* use=moduleImport("classes").getMember("exports").getMember("bar").getInstance() */
})(foo = foo || {});
module.exports.bar = foo.bar;

View File

@@ -0,0 +1,27 @@
import 'dummy';
let trackedProp = "implicit-receiver-prop"; // name: implicit-receiver-prop
function factory() {
let obj = unknown(); // name: implicit-receiver-obj
obj.foo = function() {
track(this); // track: implicit-receiver-obj
track(this.x); // track: implicit-receiver-obj track: implicit-receiver-prop
}
return obj;
}
let obj = factory();
obj.x = trackedProp;
function factory2() {
let obj2 = { // name: implicit-receiver-obj2
foo: function() {
track(this); // track: implicit-receiver-obj2
track(this.x); // track: implicit-receiver-obj2 track: implicit-receiver-prop
}
}
return obj2;
}
let obj2 = factory2()
obj2.x = trackedProp;