diff --git a/lib/init.spec.lua b/lib/init.spec.lua index 096e4a9..81ed738 100644 --- a/lib/init.spec.lua +++ b/lib/init.spec.lua @@ -201,6 +201,21 @@ return function() advanceTime(1) expect(promise:getStatus()).to.equal(Promise.Status.Resolved) end) + + it("Should allow for delays to be cancelled", function() + local promise = Promise.delay(2) + + Promise.delay(1):andThen(function() + promise:cancel() + end) + + expect(promise:getStatus()).to.equal(Promise.Status.Started) + advanceTime() + expect(promise:getStatus()).to.equal(Promise.Status.Started) + advanceTime(1) + expect(promise:getStatus()).to.equal(Promise.Status.Cancelled) + advanceTime(1) + end) end) describe("Promise.resolve", function() @@ -1498,4 +1513,4 @@ return function() expect(promise._values[1]).to.equal("foo") end) end) -end \ No newline at end of file +end