package onboarding

import (
	"strings"
	"testing"

	"github.com/stretchr/testify/require"
)

func TestOnboardingMockContentSelectsSavedLocalizedReplyAndHTML(t *testing.T) {
	t.Parallel()

	tests := []struct {
		locale      string
		htmlLang    string
		replyMarker string
		htmlMarker  string
	}{
		{locale: "zh-CN,zh;q=0.9", htmlLang: "zh-CN", replyMarker: "像素版完成", htmlMarker: "重新开始"},
		{locale: "ja-JP", htmlLang: "ja", replyMarker: "ピクセル版が完成", htmlMarker: "リスタート"},
		{locale: "fr-FR", htmlLang: "en", replyMarker: "pixel-art Angry Birds", htmlMarker: "Restart"},
	}
	for _, test := range tests {
		t.Run(test.locale, func(t *testing.T) {
			content := onboardingMockContent(test.locale)
			require.Contains(t, content.ReplyMarkdown, test.replyMarker)
			require.Contains(t, string(content.HTML), `<html lang="`+test.htmlLang+`">`)
			require.Contains(t, string(content.HTML), test.htmlMarker)
			require.Contains(t, content.ReplyMarkdown, "`index.html`")
			require.True(t, strings.HasPrefix(string(content.HTML), "<!DOCTYPE html>"))
		})
	}
}
