Example #1
0
 def it_calls_methods_following_its_patterns(self):
     parser = Parser()
     parser.register(r"a", lambda: "foo")
     return_list = parser.search("abc")
     return_list |should| equal_to(["foo"])
     parser.register(r"b", lambda: "bar")
     return_list = parser.search("abca")
     return_list |should| equal_to(["foo", "bar", "foo"])
Example #2
0
 def it_passes_regex_groups_by_args(self):
     parser = Parser()
     example = lambda foo: "foo=%s" % foo
     parser.register(r"^(?P<foo>.*)$", example)
     return_list = parser.search("bar\nbaar")
     return_list |should |equal_to(["foo=bar", "foo=baar"])
     parser.methods.clear()
     example2 = lambda key, value: "%s = %s" % (key, value)
     parser.register(r"^(?P<key>[^=]*)=(?P<value>.*)$", example2)
     return_list = parser.search("a=1\nb=2")
     return_list |should |equal_to(["a = 1", "b = 2"])
     parser.methods.clear()
     example3 = lambda year, month, day: "%s/%s/%s" % (year, month, day)
     parser.register(r"^(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})$", example3)
     return_list = parser.search("1970-01-01")
     return_list |should |equal_to(["1970/01/01"])