From dcac203049b98db9be47649d47e70ee9204babb2 Mon Sep 17 00:00:00 2001 From: Matthijs van Duin Date: Wed, 28 Jun 2017 12:57:15 +0200 Subject: [PATCH] add tests for weak.get() --- test/get.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 test/get.js diff --git a/test/get.js b/test/get.js new file mode 100644 index 0000000..050253f --- /dev/null +++ b/test/get.js @@ -0,0 +1,28 @@ +var assert = require('assert'); +var weak = require('../'); + +describe('weak.get()', function () { + + afterEach(gc); + + it('should return the target if it is still accessible', function () { + var obj = {}; + var r = weak(obj); + assert.equal(obj, weak.get(r)); + }); + + it('should return undefined after the target is gc\'d', function () { + var r = weak({}); + gc(); + assert.equal(undefined, weak.get(r)); + }); + + it('should not crash inside garbage collection callback', function () { + var result; + var r = weak({}, function () { + result = typeof(weak.get(r)); + }); + gc(); + }); + +});