From 7ed10c9f15e03faa841449cf480df50b6fb25eee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristj=C3=A1n=20Oddsson?= Date: Thu, 11 Apr 2019 11:49:09 +0100 Subject: [PATCH 1/2] add tests for special cases in relative-time --- test/relative-time.js | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/test/relative-time.js b/test/relative-time.js index b41166e6..ecf324a5 100644 --- a/test/relative-time.js +++ b/test/relative-time.js @@ -1,4 +1,46 @@ suite('relative-time', function() { + test('rewrites from now past datetime to days ago', function() { + const now = new Date(Date.now() - 3 * 60 * 60 * 24 * 1000).toISOString() + const time = document.createElement('relative-time') + time.setAttribute('datetime', now) + assert.equal(time.textContent, '3 days ago') + }) + + test('rewrites from now future datetime to days from now', function() { + const now = new Date(Date.now() + 3 * 60 * 60 * 24 * 1000).toISOString() + const time = document.createElement('relative-time') + time.setAttribute('datetime', now) + assert.equal(time.textContent, '3 days from now') + }) + + test('rewrites from now past datetime to a day ago', function() { + const now = new Date(Date.now() - 1 * 60 * 60 * 24 * 1000).toISOString() + const time = document.createElement('relative-time') + time.setAttribute('datetime', now) + assert.equal(time.textContent, 'a day ago') + }) + + test('rewrites from now past datetime to hours ago', function() { + const now = new Date(Date.now() - 3 * 60 * 60 * 1000).toISOString() + const time = document.createElement('relative-time') + time.setAttribute('datetime', now) + assert.equal(time.textContent, '3 hours ago') + }) + + test('rewrites from now future datetime to minutes from now', function() { + const now = new Date(Date.now() + 3 * 60 * 60 * 1000).toISOString() + const time = document.createElement('relative-time') + time.setAttribute('datetime', now) + assert.equal(time.textContent, '3 hours from now') + }) + + test('rewrites from now past datetime to a hour ago', function() { + const now = new Date(Date.now() - 1 * 60 * 60 * 1000).toISOString() + const time = document.createElement('relative-time') + time.setAttribute('datetime', now) + assert.equal(time.textContent, 'an hour ago') + }) + test('rewrites from now past datetime to minutes ago', function() { const now = new Date(Date.now() - 3 * 60 * 1000).toISOString() const time = document.createElement('relative-time') @@ -13,6 +55,13 @@ suite('relative-time', function() { assert.equal(time.textContent, '3 minutes from now') }) + test('rewrites from now past datetime to a minute ago', function() { + const now = new Date(Date.now() - 1 * 60 * 1000).toISOString() + const time = document.createElement('relative-time') + time.setAttribute('datetime', now) + assert.equal(time.textContent, 'a minute ago') + }) + test('rewrites a few seconds ago to just now', function() { const now = new Date().toISOString() const time = document.createElement('relative-time') From 5608351e85a7b0cd765474e5bd81bf5568179460 Mon Sep 17 00:00:00 2001 From: David Graham Date: Mon, 15 Apr 2019 08:50:19 +0100 Subject: [PATCH 2/2] fix speling Co-Authored-By: koddsson --- test/relative-time.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/relative-time.js b/test/relative-time.js index ecf324a5..d9eeb439 100644 --- a/test/relative-time.js +++ b/test/relative-time.js @@ -34,7 +34,7 @@ suite('relative-time', function() { assert.equal(time.textContent, '3 hours from now') }) - test('rewrites from now past datetime to a hour ago', function() { + test('rewrites from now past datetime to an hour ago', function() { const now = new Date(Date.now() - 1 * 60 * 60 * 1000).toISOString() const time = document.createElement('relative-time') time.setAttribute('datetime', now)