From 752bc6f8360258966b5501c78b8bc1f5ff759827 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Fri, 23 Dec 2016 11:33:31 +0700 Subject: [PATCH] Test expired.in returns negative ms for stale cache --- test/expired.in.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/expired.in.js b/test/expired.in.js index 9be4ed3..9d7545f 100644 --- a/test/expired.in.js +++ b/test/expired.in.js @@ -1,5 +1,6 @@ import test from 'ava'; import tk from 'timekeeper'; +import subSeconds from 'date-fns/sub_seconds'; import expired from '../'; test('expired.in is a function', t => { @@ -32,3 +33,18 @@ test('expired.in returns zero ms for instantly stale cache', t => { t.is(expired.in(headers), 0); tk.reset(); }); + +test('expired.in returns negative ms for stale cache', t => { + const date = new Date().toUTCString(); + const dateOffset = 600; + const maxAge = 300; + const headers = { + date: subSeconds(date, dateOffset).toUTCString(), + age: 0, + 'cache-control': `public, max-age=${maxAge}` + }; + + tk.freeze(date); + t.is(expired.in(headers), (maxAge - dateOffset) * 1000); + tk.reset(); +});