mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 08:54:55 +08:00
feat(glossary): 实现 Rust Glossary V1
This commit is contained in:
@@ -198,3 +198,44 @@ func TestTranslationMemoryRustContractMirror(t *testing.T) {
|
||||
t.Fatalf("missing TM summary=%+v", missing)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGlossaryRustContractMirror(t *testing.T) {
|
||||
raw := readContractFixture(t, "glossary-query.json")
|
||||
if bytes.Contains(raw, []byte("/tmp/")) {
|
||||
t.Fatal("Glossary mirror contains a local temporary path")
|
||||
}
|
||||
var report backendrpc.GlossaryQueryReport
|
||||
if err := json.Unmarshal(raw, &report); err != nil {
|
||||
t.Fatalf("decode Glossary query mirror: %v", err)
|
||||
}
|
||||
if !report.Available || report.Path != "${GLOSSARY_PATH}" ||
|
||||
report.SourceText != "${SOURCE_TEXT}" || len(report.Terms) != 1 {
|
||||
t.Fatalf("Glossary report=%+v", report)
|
||||
}
|
||||
term := report.Terms[0]
|
||||
if term.TermID != "${TERM_ID}" ||
|
||||
term.SourceTerm != "${SOURCE_TERM}" ||
|
||||
term.RecommendedTranslation != "${RECOMMENDED_TRANSLATION}" ||
|
||||
term.ReviewStatus != backendrpc.GlossaryStatusApproved ||
|
||||
term.Source.SourceKind != "manual" ||
|
||||
term.Source.ObservedUnixSeconds != 100 ||
|
||||
len(term.History) != 2 ||
|
||||
term.History[0].ReviewStatus != backendrpc.GlossaryStatusDraft ||
|
||||
term.History[1].Action != "approved" ||
|
||||
term.History[1].ReviewStatus != backendrpc.GlossaryStatusApproved ||
|
||||
term.History[1].Snapshot.Priority != 10 {
|
||||
t.Fatalf("Glossary term=%+v", term)
|
||||
}
|
||||
var missing backendrpc.GlossarySummaryReport
|
||||
if err := json.Unmarshal([]byte(`{
|
||||
"available": false,
|
||||
"path": "${GLOSSARY_PATH}",
|
||||
"reason": "database_missing"
|
||||
}`), &missing); err != nil {
|
||||
t.Fatalf("decode missing Glossary summary mirror: %v", err)
|
||||
}
|
||||
if missing.Available || missing.Summary != nil || missing.SchemaVersion != nil ||
|
||||
missing.Reason != "database_missing" {
|
||||
t.Fatalf("missing Glossary summary=%+v", missing)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user