package torrentLanguages import ( "io/ioutil" "path" "strings" "testing" "fmt" "github.com/NyaaPantsu/nyaa/config" "github.com/NyaaPantsu/nyaa/utils/publicSettings" ) // run before config/parse.go:init() var _ = func() (_ struct{}) { config.Configpaths[1] = path.Join("..", "..", config.Configpaths[1]) config.Configpaths[0] = path.Join("..", "..", config.Configpaths[0]) config.Reload() config.Get().I18n.Directory = path.Join("..", "..", config.Get().I18n.Directory) return }() func TestCSSFlags(t *testing.T) { var retriever publicSettings.UserRetriever // not required during initialization err := publicSettings.InitI18n(config.Get().I18n, retriever) if err != nil { t.Errorf("failed to initialize language translations: %v", err) } languages := GetTorrentLanguages() flagsCSSPath := path.Join("..", "..", "public", "css", "flags", "flags.css") file, err := ioutil.ReadFile(flagsCSSPath) if err != nil { t.Errorf("Failed to load flags.css: %v", err) return } contents := string(file) for _, language := range languages { flag := publicSettings.Flag(language.Code, true) fmt.Printf("Finding css class for: %s (%s)\n", flag, language.Name) if !strings.Contains(contents, ".flag-"+flag) { t.Errorf("flags.css does not contains class .flag-%s. You probably need to update it.", flag) } } }