| |
| |
| |
|
|
| package time_test |
|
|
| import ( |
| "internal/syscall/windows/registry" |
| "testing" |
| . "time" |
| ) |
|
|
| func testZoneAbbr(t *testing.T) { |
| t1 := Now() |
| |
| t1 = Date(t1.Year(), t1.Month(), t1.Day(), t1.Hour(), t1.Minute(), t1.Second(), 0, t1.Location()) |
|
|
| t2, err := Parse(RFC1123, t1.Format(RFC1123)) |
| if err != nil { |
| t.Fatalf("Parse failed: %v", err) |
| } |
| if t1 != t2 { |
| t.Fatalf("t1 (%v) is not equal to t2 (%v)", t1, t2) |
| } |
| } |
|
|
| func TestUSPacificZoneAbbr(t *testing.T) { |
| ForceUSPacificFromTZIForTesting() |
| defer ForceUSPacificForTesting() |
| testZoneAbbr(t) |
| } |
|
|
| func TestAusZoneAbbr(t *testing.T) { |
| ForceAusFromTZIForTesting() |
| defer ForceUSPacificForTesting() |
| testZoneAbbr(t) |
| } |
|
|
| func TestToEnglishName(t *testing.T) { |
| const want = "Central Europe Standard Time" |
| k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\`+want, registry.READ) |
| if err != nil { |
| t.Fatalf("cannot open CEST time zone information from registry: %s", err) |
| } |
| defer k.Close() |
|
|
| var std, dlt string |
| |
| std, err = k.GetMUIStringValue("MUI_Std") |
| if err == nil { |
| dlt, err = k.GetMUIStringValue("MUI_Dlt") |
| } |
| if err != nil { |
| if std, _, err = k.GetStringValue("Std"); err != nil { |
| t.Fatalf("cannot read CEST Std registry key: %s", err) |
| } |
| if dlt, _, err = k.GetStringValue("Dlt"); err != nil { |
| t.Fatalf("cannot read CEST Dlt registry key: %s", err) |
| } |
| } |
|
|
| name, err := ToEnglishName(std, dlt) |
| if err != nil { |
| t.Fatalf("toEnglishName failed: %s", err) |
| } |
| if name != want { |
| t.Fatalf("english name: %q, want: %q", name, want) |
| } |
| } |
|
|