diff options
Diffstat (limited to 'tests/unit_tests')
| -rw-r--r-- | tests/unit_tests/utils_test.coffee | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/tests/unit_tests/utils_test.coffee b/tests/unit_tests/utils_test.coffee index 67c3b333..9b71ca72 100644 --- a/tests/unit_tests/utils_test.coffee +++ b/tests/unit_tests/utils_test.coffee @@ -102,3 +102,26 @@ context "compare versions",      assert.equal -1, Utils.compareVersions("1.40.1", "1.40.2")      assert.equal -1, Utils.compareVersions("1.40.1", "1.41")      assert.equal 1, Utils.compareVersions("1.41", "1.40") + +context "makeIdempotent", +  setup -> +    @count = 0 +    @func = Utils.makeIdempotent (n = 1) => @count += n + +  should "call a function once", -> +    @func() +    assert.equal 1, @count + +  should "call a function once with an argument", -> +    @func 2 +    assert.equal 2, @count + +  should "not call a function a second time", -> +    @func() +    assert.equal 1, @count + +  should "not call a function a second time", -> +    @func() +    assert.equal 1, @count +    @func() +    assert.equal 1, @count | 
