You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
3.2 KiB
112 lines
3.2 KiB
dofile("wow_api.lua")
|
|
dofile("LibStub.lua")
|
|
dofile("../AceLocale-3.0/AceLocale-3.0.lua")
|
|
|
|
local AceLocale = LibStub("AceLocale-3.0")
|
|
|
|
local loc = AceLocale:NewLocale("test", "enUS")
|
|
loc["a"] = "A"
|
|
loc["c"] = "C"
|
|
|
|
local loc = AceLocale:NewLocale("test", "deDE", true)
|
|
loc["a"] = "aa"
|
|
loc["b"] = "bb"
|
|
loc["c"] = "cc"
|
|
|
|
local loc = AceLocale:NewLocale("test", "frFR")
|
|
assert(loc == nil)
|
|
|
|
|
|
local test = AceLocale:GetLocale("test")
|
|
|
|
assert(test["a"] == "A")
|
|
assert(test["b"] == "bb")
|
|
assert(test["c"] == "C")
|
|
|
|
-- Test requesting an unknown string
|
|
local oldgeterrorhandler = geterrorhandler
|
|
local errors=0
|
|
_G.geterrorhandler = function() return function() errors=errors+1 end end
|
|
assert(test["thisdoesntexist"]=="thisdoesntexist")
|
|
assert(errors==1)
|
|
_G.geterrorhandler=oldgeterrorhandler
|
|
|
|
------------------------------------------------
|
|
-- Test the silent flag working
|
|
|
|
local loc = AceLocale:NewLocale("test2", "enUS", true, true) -- silent flag set on first locale to be registered
|
|
loc["This Exists"]=true
|
|
AceLocale:NewLocale("test2", "deDE")
|
|
AceLocale:NewLocale("test2", "frFR")
|
|
|
|
local test2=AceLocale:GetLocale("test2")
|
|
assert(test2["thisdoesntexist"]=="thisdoesntexist")
|
|
assert(test2["This Exists"]=="This Exists")
|
|
|
|
|
|
------------------------------------------------
|
|
-- Test the silent flag working even if the default locale is registered second
|
|
|
|
AceLocale:NewLocale("test3", "deDE", false, true) -- silent flag set on first locale to be registered
|
|
AceLocale:NewLocale("test3", "enUS", true)
|
|
AceLocale:NewLocale("test3", "frFR")
|
|
|
|
local test3=AceLocale:GetLocale("test3")
|
|
assert(test3["thisdoesntexist"]=="thisdoesntexist")
|
|
assert(test3["This Exists"]=="This Exists")
|
|
|
|
|
|
------------------------------------------------
|
|
-- Test the silent flag warning when using it on nonfirst
|
|
|
|
local oldgeterrorhandler = geterrorhandler
|
|
local errors=0
|
|
_G.geterrorhandler = function() return function() errors=errors+1 end end
|
|
|
|
AceLocale:NewLocale("test3a", "deDE")
|
|
AceLocale:NewLocale("test3a", "enUS", true, true)
|
|
AceLocale:NewLocale("test3a", "frFR")
|
|
|
|
assert(errors==1)
|
|
_G.geterrorhandler=oldgeterrorhandler
|
|
|
|
|
|
------------------------------------------------
|
|
-- Test silent="raw" working
|
|
|
|
local loc = AceLocale:NewLocale("test4", "enUS", true, "raw")
|
|
loc["This Exists"]=true
|
|
AceLocale:NewLocale("test4", "deDE")
|
|
AceLocale:NewLocale("test4", "frFR")
|
|
|
|
local test4=AceLocale:GetLocale("test4")
|
|
assert(test4["thisdoesntexist"]==nil)
|
|
assert(test4["This Exists"]=="This Exists")
|
|
|
|
|
|
------------------------------------------------
|
|
-- Test that we can re-get an already-created locale so we can write more to it
|
|
|
|
local loc = AceLocale:NewLocale("test5", "enUS")
|
|
loc["orig1"]=true
|
|
loc["orig2"]="orig2"
|
|
loc["orig3"]=true
|
|
loc["orig4"]="orig4"
|
|
|
|
local loc = AceLocale:NewLocale("unrelatedLocale", "enUS") -- touch something else in between to make extra sure
|
|
|
|
local loc = AceLocale:NewLocale("test5", "enUS")
|
|
loc["orig3"]="NEWorig3"
|
|
loc["orig4"]="NEWorig4"
|
|
loc["orig5"]="thisneverexisted"
|
|
|
|
local test5=AceLocale:GetLocale("test5")
|
|
assert(test5["orig1"]=="orig1")
|
|
assert(test5["orig2"]=="orig2")
|
|
assert(test5["orig3"]=="NEWorig3")
|
|
assert(test5["orig4"]=="NEWorig4")
|
|
assert(test5["orig5"]=="thisneverexisted")
|
|
|
|
|
|
------------------------------------------------
|
|
print "OK"
|
|
|