ref: f687e6c99642a5d07d57685acde993a70882dc1d
dir: /test.lua/
#!/bin/lu9
insp = require "inspect"
local attrdb = require "attrdb"
local teststring = {
[[unquoted]],
[[""]],
[["string"]],
[["string with spaces"]],
[['single quote ('')']],
[["double quote ("")"]],
[['outer single quote ('') (")']],
[["outer double quote (') ("")"]],
[["multiline
strings
work"]],
[['("'') mix']],
}
local testpair = {
[[novalue=]],
[["long key no value"=]],
[[key=value]],
[["long key"="long value"]],
[["multiline
key"="multiline
value"]],
[[=nokey]],
[[=]],
}
local testentry = {
[[key=value k=v]],
[[
key=value
newline=nl
]],
[[
k1=v1 "k2"="v2"
newline=nl
another="newline is here"
nextentry=
]],
[[
k1=v1
continuation=
even=this
]],
[[
k=v k2=v2
cont=space
cont=tab
many=tabs
next=entry
]],
[[
k=v
next=entry
]]
}
local testdb = {
[[
nick=a
mail=a@example.com
mail=bla@example.com preffered=
www=http://a.example.com
git=https://git.example.com/a
nick=b
mail=b@example.com
www=http://b.example.com
nick=c nick=C
mail=c@example.com
www=http://c.example.com www=http://cccc.example.com
git=https://git.example.com/c
]]
}
for _, buf in ipairs(testdb) do
local m = attrdb.Db:match(buf)
io.write(string.format("%s\n%s\n", ln, insp(m)))
end