-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtableparser_test.lua
111 lines (103 loc) · 1.91 KB
/
tableparser_test.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
local parser = require "tableparser"
local sourceTable = { 1, b = { "\r\n\t", { a = 3, c = "abc" }, { true, false, true, true } }, 3, ["\r\n\t"] = 5.0, ["1"] = 5.0, [true] = 12.50 }
print("sourceTable:")
parser.dump(sourceTable)
local targetString = parser.encode(sourceTable)
print("\ntargetString:")
parser.dump(targetString)
local restoreTable = parser.decode(targetString)
print("\nrestoreTable:")
parser.dump(restoreTable)
print("\nwithout strict mode:")
parser.useStrict(false)
local sourceTable = { a = 1, b = true, c = 12.0, d = { 1, 2, true, false }, e = "\t\r\n" }
print("sourceTable:")
parser.dump(sourceTable)
local targetString = parser.encode(sourceTable)
print("\ntargetString:")
parser.dump(targetString)
local restoreTable = parser.decode(targetString)
print("\nrestoreTable:")
parser.dump(restoreTable)
-- results:
--[[
sourceTable:
{
[1]=1
[2]=3
[true]=12.5
["1"]=5.0
["b"]={
[1]="
"
[2]={
["c"]="abc"
["a"]=3
}
[3]={
[1]=true
[2]=false
[3]=true
[4]=true
}
}
["
"]=5.0
}
targetString:
{[1]=1,[2]=3,[true]=12.5,["1"]=5.0,["b"]={"\r\n ",{["c"]="abc",["a"]=3},{true,false,true,true}},["\r\n "]=5.0}
restoreTable:
{
[1]=1
[2]=3
[true]=12.5
["1"]=5.0
["b"]={
[1]="
"
[2]={
["a"]=3
["c"]="abc"
}
[3]={
[1]=true
[2]=false
[3]=true
[4]=true
}
}
["
"]=5.0
}
without strict mode:
sourceTable:
{
["e"]="
"
["c"]=12.0
["d"]={
[1]=1
[2]=2
[3]=true
[4]=false
}
["a"]=1
["b"]=true
}
targetString:
{e=" \r\n",c=12.0,d={1,2,true,false},a=1,b=true}
restoreTable:
{
["e"]="
"
["c"]=12.0
["d"]={
[1]=1
[2]=2
[3]=true
[4]=false
}
["a"]=1
["b"]=true
}
]]