summaryrefslogtreecommitdiffstats
path: root/dom/base/test/unit/test_chromeutils_defineLazyGetter.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/test/unit/test_chromeutils_defineLazyGetter.js')
-rw-r--r--dom/base/test/unit/test_chromeutils_defineLazyGetter.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/dom/base/test/unit/test_chromeutils_defineLazyGetter.js b/dom/base/test/unit/test_chromeutils_defineLazyGetter.js
new file mode 100644
index 0000000000..a3dae487cf
--- /dev/null
+++ b/dom/base/test/unit/test_chromeutils_defineLazyGetter.js
@@ -0,0 +1,25 @@
+"use strict";
+
+add_task(function test_defineLazyGetter() {
+ let accessCount = 0;
+ let obj = {
+ inScope: false,
+ };
+ const TEST_VALUE = "test value";
+ ChromeUtils.defineLazyGetter(obj, "foo", function () {
+ accessCount++;
+ this.inScope = true;
+ return TEST_VALUE;
+ });
+ Assert.equal(accessCount, 0);
+
+ // Get the property, making sure the access count has increased.
+ Assert.equal(obj.foo, TEST_VALUE);
+ Assert.equal(accessCount, 1);
+ Assert.ok(obj.inScope);
+
+ // Get the property once more, making sure the access count has not
+ // increased.
+ Assert.equal(obj.foo, TEST_VALUE);
+ Assert.equal(accessCount, 1);
+});