diff --git a/src/test/scala/gitbucket/core/view/HelpersSpec.scala b/src/test/scala/gitbucket/core/view/HelpersSpec.scala index fc1a2b2..52fa5cf 100644 --- a/src/test/scala/gitbucket/core/view/HelpersSpec.scala +++ b/src/test/scala/gitbucket/core/view/HelpersSpec.scala @@ -4,6 +4,8 @@ import gitbucket.core.service.RepositoryService.RepositoryInfo import org.scalatest.FunSpec import org.scalatest.mockito.MockitoSugar +import java.util.Date +import java.util.TimeZone class HelpersSpec extends FunSpec with MockitoSugar { @@ -64,4 +66,77 @@ assert(after == """http://exa"mple.com""") } } + + describe("datetimeAgo") { + it("should render a time within a minute") { + val time = System.currentTimeMillis() + val datetime = datetimeAgo(new Date(time)) + assert(datetime == "just now") + } + + it("should render a time 1 minute ago") { + val time = System.currentTimeMillis() - (60 * 1000) + val datetime = datetimeAgo(new Date(time)) + assert(datetime == "1 minute ago") + } + + it("should render a time 2 minute ago") { + val time = System.currentTimeMillis() - (60 * 1000 * 2) + val datetime = datetimeAgo(new Date(time)) + assert(datetime == "2 minutes ago") + } + } + + describe("datetimeRFC3339") { + it("should format date as RFC3339 format") { + val time = 1546961077224L + val datetime = datetimeRFC3339(new Date(time)) + assert(datetime == "2019-01-08T15:24:37Z") + } + } + + describe("date") { + it("should format date as yyyy-MM-dd with default timezone") { + val defaultTimeZone = TimeZone.getDefault + + try { + val time = 1546961077247L + TimeZone.setDefault(TimeZone.getTimeZone("UTC")) + val datetimeUTC = date(new Date(time)) + assert(datetimeUTC == "2019-01-08") + + TimeZone.setDefault(TimeZone.getTimeZone("JST")) + val datetimeJST = date(new Date(time)) + assert(datetimeJST == "2019-01-09") + + } finally { + TimeZone.setDefault(defaultTimeZone) + } + } + } + + describe("hashDate") { + it("should format date as yyyyMMDDHHmmss with default timezone") { + val defaultTimeZone = TimeZone.getDefault + + try { + val time = 1546961077247L + TimeZone.setDefault(TimeZone.getTimeZone("UTC")) + val hash = hashDate(new Date(time)) + assert(hash == "20190108152437") + } finally { + TimeZone.setDefault(defaultTimeZone) + } + } + } + + describe("hashQuery") { + it("should return same value for multiple calls") { + val time = 1546961077247L + val hash1 = hashQuery + Thread.sleep(500) + val hash2 = hashQuery + assert(hash1 == hash2) + } + } }