You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

datetime_test.go 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package timeutil
  4. import (
  5. "testing"
  6. "time"
  7. "code.gitea.io/gitea/modules/setting"
  8. "code.gitea.io/gitea/modules/test"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func TestDateTime(t *testing.T) {
  12. testTz, _ := time.LoadLocation("America/New_York")
  13. defer test.MockVariableValue(&setting.DefaultUILocation, testTz)()
  14. refTimeStr := "2018-01-01T00:00:00Z"
  15. refDateStr := "2018-01-01"
  16. refTime, _ := time.Parse(time.RFC3339, refTimeStr)
  17. refTimeStamp := TimeStamp(refTime.Unix())
  18. assert.EqualValues(t, "-", DateTime("short", nil))
  19. assert.EqualValues(t, "-", DateTime("short", 0))
  20. assert.EqualValues(t, "-", DateTime("short", time.Time{}))
  21. assert.EqualValues(t, "-", DateTime("short", TimeStamp(0)))
  22. actual := DateTime("short", "invalid")
  23. assert.EqualValues(t, `<gitea-absolute-date weekday="" year="numeric" month="short" day="numeric" date="invalid">invalid</gitea-absolute-date>`, actual)
  24. actual = DateTime("short", refTimeStr)
  25. assert.EqualValues(t, `<gitea-absolute-date weekday="" year="numeric" month="short" day="numeric" date="2018-01-01T00:00:00Z">2018-01-01T00:00:00Z</gitea-absolute-date>`, actual)
  26. actual = DateTime("short", refTime)
  27. assert.EqualValues(t, `<gitea-absolute-date weekday="" year="numeric" month="short" day="numeric" date="2018-01-01T00:00:00Z">2018-01-01</gitea-absolute-date>`, actual)
  28. actual = DateTime("short", refDateStr)
  29. assert.EqualValues(t, `<gitea-absolute-date weekday="" year="numeric" month="short" day="numeric" date="2018-01-01">2018-01-01</gitea-absolute-date>`, actual)
  30. actual = DateTime("short", refTimeStamp)
  31. assert.EqualValues(t, `<gitea-absolute-date weekday="" year="numeric" month="short" day="numeric" date="2017-12-31T19:00:00-05:00">2017-12-31</gitea-absolute-date>`, actual)
  32. actual = DateTime("full", refTimeStamp)
  33. assert.EqualValues(t, `<relative-time weekday="" year="numeric" format="datetime" month="short" day="numeric" hour="numeric" minute="numeric" second="numeric" data-tooltip-content data-tooltip-interactive="true" datetime="2017-12-31T19:00:00-05:00">2017-12-31 19:00:00 -05:00</relative-time>`, actual)
  34. }