add gs
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
return function()
|
||||
local LocalizationContext = require(script.Parent.LocalizationContext)
|
||||
|
||||
it("should pull from the correct language if available", function()
|
||||
local context = LocalizationContext.new({
|
||||
["es-mx"] = {
|
||||
["SomeKey"] = "Foo",
|
||||
},
|
||||
["es"] = {
|
||||
["SomeKey"] = "Bar",
|
||||
},
|
||||
["en-us"] = {
|
||||
["SomeKey"] = "Baz",
|
||||
},
|
||||
})
|
||||
|
||||
expect(context:getString("es-mx", "SomeKey")).to.equal("Foo")
|
||||
expect(context:getString("es", "SomeKey")).to.equal("Bar")
|
||||
expect(context:getString("en", "SomeKey")).to.equal("Baz")
|
||||
end)
|
||||
|
||||
it("should fall through to a language's base language", function()
|
||||
local context = LocalizationContext.new({
|
||||
["es-mx"] = {},
|
||||
["es"] = {
|
||||
["SomeKey"] = "Bar",
|
||||
},
|
||||
["en"] = {
|
||||
["SomeKey"] = "Baz",
|
||||
},
|
||||
})
|
||||
|
||||
expect(context:getString("es-mx", "SomeKey")).to.equal("Bar")
|
||||
expect(context:getString("es", "SomeKey")).to.equal("Bar")
|
||||
expect(context:getString("en", "SomeKey")).to.equal("Baz")
|
||||
end)
|
||||
|
||||
it("should fall through to English if keys are missing in each table", function()
|
||||
local context = LocalizationContext.new({
|
||||
["es-mx"] = {},
|
||||
["es"] = {},
|
||||
["en-us"] = {
|
||||
["SomeKey"] = "Baz",
|
||||
},
|
||||
})
|
||||
|
||||
expect(context:getString("es-mx", "SomeKey")).to.equal("Baz")
|
||||
expect(context:getString("es", "SomeKey")).to.equal("Baz")
|
||||
expect(context:getString("en_us", "SomeKey")).to.equal("Baz")
|
||||
end)
|
||||
|
||||
it("should replace formatting identifiers of the form {name}", function()
|
||||
local context = LocalizationContext.new({
|
||||
["en-us"] = {
|
||||
["SomeKey"] = "{greeting}, {target}!",
|
||||
},
|
||||
})
|
||||
|
||||
local value = context:getString("en-us", "SomeKey", {
|
||||
greeting = "Hello",
|
||||
target = "world",
|
||||
})
|
||||
|
||||
expect(value).to.equal("Hello, world!")
|
||||
end)
|
||||
end
|
||||
Reference in New Issue
Block a user