diff options
author | Martin Fischer <martin@push-f.com> | 2025-04-07 07:20:58 +0200 |
---|---|---|
committer | Martin Fischer <martin@push-f.com> | 2025-04-13 23:18:01 +0200 |
commit | 27034501fe93a829256289f51b65d90dd2785a23 (patch) | |
tree | 5f56a8d2ed6259741dece39472a1363f45b99c04 | |
parent | 766ec45bb50c4e4335e7529f070e87af510c3914 (diff) |
test: codes in countries.toml must be in cc-tlds.txt
-rw-r--r-- | lex-serve/data_test.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lex-serve/data_test.go b/lex-serve/data_test.go new file mode 100644 index 0000000..7093b9f --- /dev/null +++ b/lex-serve/data_test.go @@ -0,0 +1,33 @@ +package main + +import ( + "bytes" + "os" + "slices" + "strings" + "testing" + + "github.com/BurntSushi/toml" +) + +func TestCountryCodesAreInCCTLDs(t *testing.T) { + countries := map[string]country{} + _, err := toml.NewDecoder(bytes.NewReader(countriesTOML)).Decode(&countries) + if err != nil { + t.Fatalf("failed to parse countries.toml: %s", err) + } + + if err != nil { + t.Fatalf("expected no error, got %s", err) + } + tldBytes, err := os.ReadFile("../cc-tlds.txt") + if err != nil { + t.Fatalf("expected no error, got %s", err) + } + ccTLDs := strings.Split(string(tldBytes), "\n") + for code, _ := range countries { + if !slices.Contains(ccTLDs, code) { + t.Fatalf("expected country code (%s) defined in countries.toml to also be in cc-tlds.txt", code) + } + } +} |