summaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorPeng Wu <epico@dhcp-65-116.nay.redhat.com>2010-03-26 17:33:20 +0800
committerPeng Wu <alexepico@gmail.com>2010-05-19 10:09:31 +0800
commit8f63f9f3362e97377bcad584ecb5fb4ac75d5223 (patch)
treeb49099c71434400edab02bcd990dbbe89035e91f /lua
parent0bcdae428741bd8e12692df0cb3f93efb76fdd8e (diff)
downloadibus-libpinyin-8f63f9f3362e97377bcad584ecb5fb4ac75d5223.tar.gz
ibus-libpinyin-8f63f9f3362e97377bcad584ecb5fb4ac75d5223.tar.xz
ibus-libpinyin-8f63f9f3362e97377bcad584ecb5fb4ac75d5223.zip
add new test cases for split/join.
Diffstat (limited to 'lua')
-rw-r--r--lua/lua-plugin-init.c8
-rw-r--r--lua/test.lua9
2 files changed, 14 insertions, 3 deletions
diff --git a/lua/lua-plugin-init.c b/lua/lua-plugin-init.c
index cbd6198..5ee0f08 100644
--- a/lua/lua-plugin-init.c
+++ b/lua/lua-plugin-init.c
@@ -91,15 +91,17 @@ static int ime_join_string(lua_State* L){
static int ime_split_string(lua_State * L){
gchar ** str_vec;
- guint str_vec_len = 0;
+ guint str_vec_len = 0; int i;
const char * sep;
const char * str = lua_tolstring(L, 1, NULL);
+
sep = lua_tolstring(L, 2, NULL);
- str_vec == g_strsplit(str, sep, 0);
+
+ str_vec = g_strsplit(str, sep, 0);
str_vec_len = g_strv_length(str_vec);
lua_createtable(L, str_vec_len, 0);
- for ( int i = 0; i < str_vec_len; ++i){
+ for ( i = 0; i < str_vec_len; ++i){
lua_pushinteger(L, i + 1);
lua_pushstring(L, str_vec[i]);
lua_settable(L, 3);
diff --git a/lua/test.lua b/lua/test.lua
index b225dba..8a8e545 100644
--- a/lua/test.lua
+++ b/lua/test.lua
@@ -4,3 +4,12 @@ print(ime.trim_string(" Hello World! "))
print(ime.trim_string(nil))
print(ime.trim_string_right(" Hello World! "))
+
+tab = ime.split_string("aa..bb..cc", "..");
+for i,v in ipairs(tab) do print(i, v) end
+
+tab = ime.split_string(nil, nil);
+for i,v in ipairs(tab) do print(i, v) end
+
+tab = ime.split_string("aa..bb..cc", "..");
+print(ime.join_string(tab, ", "));