date_parser_test.go 1014 B

12345678910111213141516171819202122232425262728293031
  1. package goja
  2. import (
  3. "testing"
  4. "time"
  5. )
  6. func TestParseDate(t *testing.T) {
  7. tst := func(layout, value string, expectedTs int64) func(t *testing.T) {
  8. return func(t *testing.T) {
  9. t.Parallel()
  10. tm, err := parseDate(layout, value, time.UTC)
  11. if err != nil {
  12. t.Fatal(err)
  13. }
  14. if tm.Unix() != expectedTs {
  15. t.Fatal(tm)
  16. }
  17. }
  18. }
  19. t.Run("1", tst("2006-01-02T15:04:05.000Z070000", "2006-01-02T15:04:05.000+07:00:00", 1136189045))
  20. t.Run("2", tst("2006-01-02T15:04:05.000Z07:00:00", "2006-01-02T15:04:05.000+07:00:00", 1136189045))
  21. t.Run("3", tst("2006-01-02T15:04:05.000Z07:00", "2006-01-02T15:04:05.000+07:00", 1136189045))
  22. t.Run("4", tst("2006-01-02T15:04:05.000Z070000", "2006-01-02T15:04:05.000+070000", 1136189045))
  23. t.Run("5", tst("2006-01-02T15:04:05.000Z070000", "2006-01-02T15:04:05.000Z", 1136214245))
  24. t.Run("6", tst("2006-01-02T15:04:05.000Z0700", "2006-01-02T15:04:05.000Z", 1136214245))
  25. t.Run("7", tst("2006-01-02T15:04:05.000Z07", "2006-01-02T15:04:05.000Z", 1136214245))
  26. }