Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Component dev #221

Open
wants to merge 40 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
dbe83b0
add ConfigListReg
shewer Mar 30, 2021
cb90c91
add ConfigItemReg ConfigValue
shewer Mar 31, 2021
a1c75a7
add ProjectionReg
shewer Mar 31, 2021
a4842ab
add sample projection.lua
shewer Mar 31, 2021
e0450e2
add ConfigMapReg
shewer Apr 1, 2021
d5767e5
modify ConfigReg
shewer Apr 1, 2021
36e30b6
ConfigList(append , insert) ConfigMap (set ) 改用 自身 參考(ConfigItem)
shewer Apr 1, 2021
c1e9e56
move Config ..REG code to config.h
shewer Apr 4, 2021
15040ce
update
shewer Apr 12, 2021
7bf6c2c
update sample
shewer Apr 12, 2021
951912f
update types.cc
shewer Apr 12, 2021
c193fd8
add engine:apply_schema() (#98)
shewer Apr 1, 2021
aa0c118
Export KeyEvent (#100)
shewer Apr 1, 2021
ec95adc
remove config.h modules.cc projection.lua
shewer Apr 14, 2021
d1cefd9
restore moduless.cc from fork/master
shewer Jul 28, 2021
9268d3f
rebase from fork/master
shewer Jul 28, 2021
bbdd4b7
Merge branch 'hchunhui:master' into master
shewer Sep 17, 2021
f4638ba
merge fork/master #139
shewer Oct 22, 2021
ee227e8
Merge branch 'hchunhui:master' into master
shewer Oct 30, 2021
590d3d5
Merge remote-tracking branch 'fork/master'
shewer Feb 15, 2022
c219707
Merge branch 'hchunhui:master' into master
shewer Jun 6, 2022
667ff2b
Merge branch 'hchunhui:master' into master
shewer Jul 6, 2022
42618fd
Merge branch 'hchunhui:master' into master
shewer Jul 11, 2022
3298ce7
Merge branch 'hchunhui:master' into master
shewer Jul 11, 2022
311e1e9
Merge branch 'hchunhui:master' into master
shewer Jul 12, 2022
f0c80e3
Merge branch 'hchunhui:master' into master
shewer Jul 12, 2022
052f028
Merge branch 'hchunhui:master' into master
shewer Jul 13, 2022
a13205d
Merge branch 'hchunhui:master' into master
shewer Jul 24, 2022
9d6b14a
Merge remote-tracking branch 'fork/master'
shewer Sep 4, 2022
63cc6b6
add distribution infomation
shewer Sep 7, 2022
ed0346a
Merge branch 'hchunhui:master' into master
shewer Sep 11, 2022
fb1b3bd
Merge branch 'hchunhui:master' into master
shewer Sep 24, 2022
facdc23
Merge branch 'hchunhui:master' into master
shewer Oct 6, 2022
50ee4dc
Merge branch 'hchunhui:master' into master
shewer Oct 9, 2022
ed9bed1
Merge remote-tracking branch 'fork/master'
shewer Nov 7, 2022
2219097
Merge branch 'hchunhui:master' into master
shewer Dec 3, 2022
ea9b511
Merge branch 'hchunhui:master' into master
shewer Dec 8, 2022
2ebd1b9
add Script_translator Table_translator Memory feature
shewer Jan 12, 2023
86417ca
remove LanguageReg
shewer Jan 12, 2023
99625bc
add luaunit test for librime-lua
shewer Jan 12, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions sample/lua/test/test_translator.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
#! /usr/bin/env lua
--
-- test_translator.lua
-- Copyright (C) 2023 Shewer Lu <[email protected]>
--
-- Distributed under terms of the MIT license.
--

local lu = require 'tools/luaunit'
local err_fmt="%s:%s %s"
local M = {}

function M:Setup()
self.tran1=Component.Translator(env.engine,"translator","table_translator")
self.tran2=Component.Translator(env.engine,"translator","script_translator")
self.mem1= Memory(env.engine,Schema('cangjie5'),"translator",'table_translator')
--os.remove(self.fname)
end
function M:tearDown()
self.tran1=nil
self.tran2=nil
self.mem1=nil
--os.remove(self.fname)
end

function M:test_create_translator()
local t1= Ticket(env.engine, "", "table_translator@translator")
local t2= Ticket(env.engine, "translator", "table_translator")
local t3= Ticket(env.engine.schema,"translator")

local args= {
{t1},
{t2},
{t3},
--{t4},
{env.engien,"translator", "table_translator"},
{env.engien,"", "table_translator@translator"},
{env.engien,env.schema,"translator", "table_translator"},
{env.engien,env.schema,"", "table_translator@translator"},
{env.engien,Schema('lua_test'),"translator", "table_translator"},
{env.engien,Schema('lua_test'),"", "table_translator@translator"},
}


end

function M:test_instance()
local tran1_str="table_tran"
for i , v in next, {self.tran1,self.tran2,self.mem1} do
lu.assertNotNil(v, err_fmt:format(i,v,"not exist Component.Translator of ") )
lu.assertNotNil(self.tran1.options, err_fmt:format(self.tran1, "" ,"not exist options from" ))

lu.assertNotNil(v.language, err_fmt:format(i,v,"not exist language from ") )
--lu.assertNotNil(v.language_name, err_fmt:format(i,v,"not exist language_name from " ) )
--lu.assertIsString(v.language_name, err_fmt:format(i,v, "type(string) error language_name ") )
--lu.assertEquals(v.language_name,"cangjie5", err_fmt:format(i,v, "language_name not match cangjie5" ) )

-- test obj.memory
local vm = v.memory
lu.assertNotNil(vm, err_fmt:format(i,vv,"not exist Component.Translator.memory of ") )
lu.assertNotNil(vm.language, err_fmt:format(i,vv,"not exist language from ") )
lu.assertNotNil(vm.language_name, err_fmt:format(i,vv,"not exist language_name from " ) )
lu.assertIsString(vm.language_name, err_fmt:format(i,vv, "type(string) error language_name ") )
lu.assertEquals(vm.language_name,"cangjie5", err_fmt:format(i,v, "language_name not match cangjie5" ) )

lu.assertNotNil(vm.dict , err_fmt:format(i,v, "not exist dict") )
lu.assertNotNil(vm.user_dict , err_fmt:format(i,v, "not exist user_dict") )
end

lu.assertNotNil(self.tran1.table_options, err_fmt:format(self.tran1,"","not exist table_options from") )
lu.assertNil(self.tran1.script_options, err_fmt:format(self.tran1, "","script_options must nil from ") )

lu.assertNil(self.tran2.table_options, err_fmt:format(self.tran2,"","table_options must nil from") )
lu.assertNotNil(self.tran2.script_options, err_fmt:format(self.tran2, "","not exist script_options from ") )
end
function M:test_luamemorydict()
local dict = self.mem1.dict
self.mem1:dict_lookup('ab',true, 0)

local tab={}
for entry in self.mem1:iter_dict() do
table.insert(tab,entry)
end
lu.assertTrue( #tab > 0, "entry not found from dict:lookup_words()")
lu.assertEquals(tab[1].text, "明")

print("---Phrase() and dictentry:to_phrase() test")
local tran = { self.tran1, self.tran2, self.tran1.memory, self.tran2.memory, self.mem1 , self.mem1.memory}
for i,v in next, tran do
--print(i,v)
local ph = Phrase(v,'test', 0, 2,tab[1])
lu.assertNotNil( ph ,("%s:%s %s"):format(i,v,"obj.language can't accept"))
local ph1 = tab[1]:to_phrase(v, "test" , 0,2)
lu.assertNotNil( ph1 ,("%s:%s %s"):format(i,v,"dictentry:to_phrase( obj.language) can't accept"))
end
end

function M:test_dict()
local dict = self.tran1.memory.dict
local tab={}
for entry in dict:lookup_words('ab',true, 0):iter() do
table.insert(tab,entry)
end
lu.assertTrue( #tab > 0, "entry not found from dict:lookup_words()")
lu.assertEquals(tab[1].text, "明")

print("---Phrase() and dictentry:to_phrase() test")
local tran = { self.tran1, self.tran2, self.tran1.memory, self.tran2.memory, self.mem1 , self.mem1.memory}
for i,v in next, tran do
--print(i,v)
local ph = Phrase(v,'test', 0, 2,tab[1])
--print(i,helper(ph))
lu.assertNotNil( ph ,("%s:%s %s"):format(i,v,"obj.language can't accept"))
local ph1 = tab[1]:to_phrase(v, "test" , 0,2)
--print(i,helper(ph))
lu.assertNotNil( ph1 ,("%s:%s %s"):format(i,v,"dictentry:to_phrase( obj.language) can't accept"))
end
end
return M

45 changes: 45 additions & 0 deletions sample/lua/test_proc.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#! /usr/bin/env lua
--
-- test_proc.lua
-- Copyright (C) 2023 Shewer Lu <[email protected]>
--
-- Distributed under terms of the MIT license.
--

local function _test(env,test_list,exit_,format)
local lu = require 'tools/luaunit'
_G['env'] = env
format = format or 'tap'

local lu=require 'tools/luaunit'
lu.LuaUnit:runSuiteByInstances(test_list or {},format)

_G['env'] = nil
if exit_ then
os.exit()
end
end

print('-----pre_test without env.engine -----')
local pretest_list={
{'test_list', require 'test/list_test'},
}
_test(nil, pretest_list)

local M={}
function M.init(env)
print('-----test with env.engine -----')
local test_list={
{'test_translator', require 'test/test_translator'},
}
_test(env,test_list,true)
end

function M.fini(env)
end

function M.func(key,env)
return 2
end

return M
Loading