Modified test:
[Test]
def load_func():
#
# code to run (supposedly, anyway)
#
code = """
function lua_func()
print "lua stuff"
end
--
-- need to call the function - like a
-- normal lua program in that respect
--
lua_func()
"""
#
# code embedded in <func> tags
#
source = detab("""
<func>
${code}
</func>
""")
#
# create a reader, jump to the start of the func
#
using r = XmlReader.Create(StringReader(source)):
r.ReadToFollowing("func")
#
# load it
#
func = Func()
func.load(r)
#
# and test!
#
Assert.AreEqual(detab(code), func.code)
Conforming implementation:
class Func:
[Property(code)] _code as string
def load(r as XmlReader):
if r.IsEmptyElement:
print "warning: empty func"
r.Read()
return
_code = /^\n/.Replace(r.ReadString(), "")
r.ReadEndElement()
Now I need to read it as part of an option. Then probably again as part of a Choice...
No comments:
Post a Comment