joeybloggs 9 лет назад
Родитель
Сommit
50152c26d7
2 измененных файлов с 33 добавлено и 9 удалено
  1. 0 2
      calendar.go
  2. 33 7
      calendar_test.go

+ 0 - 2
calendar.go

@@ -83,7 +83,6 @@ const (
 // These still need to be implemented. For now they are ignored.
 var (
 	datetimeFormatUnitCutset = []rune{
-		// datetimeFormatUnitEra,
 		datetimeForamtUnitQuarter,
 		datetimeFormatUnitTimeZone1,
 		datetimeFormatUnitTimeZone2,
@@ -307,7 +306,6 @@ func (c Calendar) formatDateTimeComponent(datetime time.Time, pattern string) (s
 // TODO: not yet implemented
 func (c Calendar) formatDateTimeComponentEra(datetime time.Time, length int) (string, error) {
 
-	fmt.Println(datetime.Year(), c.FormatNames.Eras.AD.Abbrev, c.FormatNames.Eras.BC.Abbrev)
 	if datetime.Year() < 0 {
 		return c.FormatNames.Eras.BC.Abbrev, nil
 	}

+ 33 - 7
calendar_test.go

@@ -21,7 +21,10 @@ import (
 // go test -coverprofile cover.out && go tool cover -html=cover.out -o cover.html
 //
 
-var dateTimeString = "Jan 2, 2006 at 3:04:05pm"
+var (
+	dateTimeString = "Jan 2, 2006 at 3:04:05pm"
+	bc300DateTime  = time.Date(-300, 1, 2, 3, 4, 5, 0, time.UTC)
+)
 
 func TestDateTimeEn(t *testing.T) {
 
@@ -137,26 +140,35 @@ func TestDateTimeTh(t *testing.T) {
 	datetime, err := time.Parse(dateTimeString, dateTimeString)
 	Equal(t, err, nil)
 
-	bcDateTime := time.Date(-300, 1, 2, 3, 4, 5, 0, time.UTC)
-	dt, err := th.FmtDateFullSafe(bcDateTime)
-	Equal(t, err, nil)
-	Equal(t, dt, "วันเสาร์ที่ 2 มกราคม ปีก่อน ค.ศ. 300")
-
 	// test the public method
-	dt, err = th.FmtDateFullSafe(datetime)
+	dt, err := th.FmtDateFullSafe(datetime)
 	Equal(t, err, nil)
 	Equal(t, dt, "วันจันทร์ที่ 2 มกราคม ค.ศ. 2006")
 
+	dt, err = th.FmtDateFullSafe(bc300DateTime)
+	Equal(t, err, nil)
+	Equal(t, dt, "วันเสาร์ที่ 2 มกราคม ปีก่อน ค.ศ. 300")
+
 	dt = th.FmtDateFull(datetime)
 	Equal(t, dt, "วันจันทร์ที่ 2 มกราคม ค.ศ. 2006")
 
+	dt = th.FmtDateFull(bc300DateTime)
+	Equal(t, dt, "วันเสาร์ที่ 2 มกราคม ปีก่อน ค.ศ. 300")
+
 	dt, err = th.FmtDateLongSafe(datetime)
 	Equal(t, err, nil)
 	Equal(t, dt, "2 มกราคม ค.ศ. 2006")
 
+	dt, err = th.FmtDateLongSafe(bc300DateTime)
+	Equal(t, err, nil)
+	Equal(t, dt, "2 มกราคม ปีก่อน ค.ศ. 300")
+
 	dt = th.FmtDateLong(datetime)
 	Equal(t, dt, "2 มกราคม ค.ศ. 2006")
 
+	dt = th.FmtDateLong(bc300DateTime)
+	Equal(t, dt, "2 มกราคม ปีก่อน ค.ศ. 300")
+
 	dt, err = th.FmtDateMediumSafe(datetime)
 	Equal(t, err, nil)
 	Equal(t, dt, "2 ม.ค. 2006")
@@ -203,16 +215,30 @@ func TestDateTimeTh(t *testing.T) {
 	Equal(t, err, nil)
 	Equal(t, dt, "วันจันทร์ที่ 2 มกราคม ค.ศ. 2006 15 นาฬิกา 04 นาที 05 วินาที")
 
+	dt, err = th.FmtDateTimeFullSafe(bc300DateTime)
+	Equal(t, err, nil)
+	Equal(t, dt, "วันเสาร์ที่ 2 มกราคม ปีก่อน ค.ศ. 300 3 นาฬิกา 04 นาที 05 วินาที")
+
 	dt = th.FmtDateTimeFull(datetime)
 	Equal(t, dt, "วันจันทร์ที่ 2 มกราคม ค.ศ. 2006 15 นาฬิกา 04 นาที 05 วินาที")
 
+	dt = th.FmtDateTimeFull(bc300DateTime)
+	Equal(t, dt, "วันเสาร์ที่ 2 มกราคม ปีก่อน ค.ศ. 300 3 นาฬิกา 04 นาที 05 วินาที")
+
 	dt, err = th.FmtDateTimeLongSafe(datetime)
 	Equal(t, err, nil)
 	Equal(t, dt, "2 มกราคม ค.ศ. 2006 15 นาฬิกา 04 นาที 05 วินาที")
 
+	dt, err = th.FmtDateTimeLongSafe(bc300DateTime)
+	Equal(t, err, nil)
+	Equal(t, dt, "2 มกราคม ปีก่อน ค.ศ. 300 3 นาฬิกา 04 นาที 05 วินาที")
+
 	dt = th.FmtDateTimeLong(datetime)
 	Equal(t, dt, "2 มกราคม ค.ศ. 2006 15 นาฬิกา 04 นาที 05 วินาที")
 
+	dt = th.FmtDateTimeLong(bc300DateTime)
+	Equal(t, dt, "2 มกราคม ปีก่อน ค.ศ. 300 3 นาฬิกา 04 นาที 05 วินาที")
+
 	dt, err = th.FmtDateTimeMediumSafe(datetime)
 	Equal(t, err, nil)
 	Equal(t, dt, "2 ม.ค. 2006 15:04:05")