Skip to content

Commit 21c8834

Browse files
committed
add test case for no weak ref found bug
1 parent 38e894a commit 21c8834

File tree

1 file changed

+23
-0
lines changed
  • test-app/app/src/main/assets/app/tests

1 file changed

+23
-0
lines changed

test-app/app/src/main/assets/app/tests/testGC.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,29 @@ describe("Tests garbage collection", function () {
264264
gc();
265265
java.lang.System.gc();
266266
});
267+
268+
it("should keep array-enclosed objects alive after GC", function () {
269+
function createObjects(name) {
270+
var arr = new Array();
271+
arr.push(new com.tns.tests.Class1());
272+
273+
var cb1 = new com.tns.tests.Class1.Callback1(name, {
274+
getMessage: function() {
275+
var msg = arr[0].getMessage();
276+
return msg;
277+
}
278+
});
279+
280+
return com.tns.tests.Class1.Class2.printMessageWithDelay(cb1, 2 * 1000);
281+
}
282+
283+
expect(createObjects("Callback1")).toBe(true);
284+
expect(createObjects("Callback2")).toBe(true);
285+
expect(createObjects("Callback3")).toBe(true);
286+
287+
gc();
288+
java.lang.System.gc();
289+
})
267290

268291
it("should properly reintroduce Java object back in a callback", function () {
269292
function getTestObject() {

0 commit comments

Comments
 (0)