aboutsummaryrefslogtreecommitdiff
path: root/testlabel.lua
diff options
context:
space:
mode:
authorSergio Queiroz <sqmedeiros@gmail.com>2016-05-27 15:00:23 -0300
committerSergio Queiroz <sqmedeiros@gmail.com>2016-05-27 15:00:23 -0300
commit06fcbfd8d3f1c1cd0ae76d726778cebc3bcde9bd (patch)
treef58ca4cceddb17e2cc61ac2cec22a9d2390777d9 /testlabel.lua
parent49fa2fc52c6913abfce7d0cd5fac24b2c88bce05 (diff)
downloadlpeglabel-06fcbfd8d3f1c1cd0ae76d726778cebc3bcde9bd.tar.gz
lpeglabel-06fcbfd8d3f1c1cd0ae76d726778cebc3bcde9bd.tar.bz2
lpeglabel-06fcbfd8d3f1c1cd0ae76d726778cebc3bcde9bd.zip
Fixing a bug reported by Matthew Allen.
Result of p = m.Lc(m.P"A", m.P(true), 1) + m.P("B") was "nil" instead of "2"
Diffstat (limited to 'testlabel.lua')
-rw-r--r--testlabel.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/testlabel.lua b/testlabel.lua
index d4cc815..1962fbf 100644
--- a/testlabel.lua
+++ b/testlabel.lua
@@ -101,6 +101,15 @@ assert(p:match("aa") == nil)
101p = (m.P"a" + m.T(0))^0 101p = (m.P"a" + m.T(0))^0
102assert(p:match("aa") == 3) 102assert(p:match("aa") == 3)
103 103
104-- Bug reported by Matthew Allen
105-- some optmizations performed by LPeg should not be
106-- applied in case of labeled choices
107p = m.Lc(m.P"A", m.P(true), 1) + m.P("B")
108assert(p:match("B") == 2)
109
110p = m.Lc(m.P"A", m.P(false), 1) + m.P("B")
111assert(p:match("B") == 2)
112
104 113
105--[[ 114--[[
106S -> A /{1} 'a' 115S -> A /{1} 'a'