From 350ef90a829fc7ee0f3585fa102e5505abfaf46e Mon Sep 17 00:00:00 2001 From: Griatch Date: Sat, 26 Sep 2015 22:24:45 +0200 Subject: [PATCH] Fixed unittests to match changes to regex patterns. --- evennia/contrib/rpsystem.py | 3 +-- evennia/contrib/tests.py | 17 ++++++++++------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/evennia/contrib/rpsystem.py b/evennia/contrib/rpsystem.py index 20ca716ae8..c227a671fa 100644 --- a/evennia/contrib/rpsystem.py +++ b/evennia/contrib/rpsystem.py @@ -73,7 +73,6 @@ Tall man (assuming his name is Tom) sees: import re from re import escape as re_escape import itertools -from copy import copy from evennia import DefaultObject, DefaultCharacter from evennia import Command, CmdSet from evennia import ansi @@ -212,7 +211,7 @@ def ordered_permutation_regex(sentence): elif comb: break if comb: - solution.append(_PREFIX + r"[0-9]*%s*%s(?=\s|$)+" % (_NUM_SEP, re_escape(" ".join(comb)).rstrip("\\"))) + solution.append(_PREFIX + r"[0-9]*%s*%s(?=\W|$)+" % (_NUM_SEP, re_escape(" ".join(comb)).rstrip("\\"))) # combine into a match regex, first matching the longest down to the shortest components regex = r"|".join(sorted(set(solution), key=lambda o:len(o), reverse=True)) diff --git a/evennia/contrib/tests.py b/evennia/contrib/tests.py index 0375f1117d..e22c1de8ae 100644 --- a/evennia/contrib/tests.py +++ b/evennia/contrib/tests.py @@ -77,10 +77,12 @@ class TestRPSystem(EvenniaTest): def test_ordered_permutation_regex(self): self.assertEqual(rpsystem.ordered_permutation_regex(sdesc0), - '/[0-9]*-*A nice sender of emotes|/[0-9]*-*nice sender of emotes|/[0-9]*-*sender ' \ - 'of emotes|/[0-9]*-*A nice sender of|/[0-9]*-*nice sender of|/[0-9]*-*A nice ' \ - 'sender|/[0-9]*-*nice sender|/[0-9]*-*of emotes|/[0-9]*-*sender of|/[0-9]*-*emotes|/[0-9]*-*' \ - 'A nice|/[0-9]*-*sender|/[0-9]*-*nice|/[0-9]*-*of|/[0-9]*-*A') + '/[0-9]*-*A\\ nice\\ sender\\ of\\ emotes(?=\\W|$)+|/[0-9]*-*nice\\ sender\\ ' \ + 'of\\ emotes(?=\\W|$)+|/[0-9]*-*A\\ nice\\ sender\\ of(?=\\W|$)+|/[0-9]*-*sender\\ ' \ + 'of\\ emotes(?=\\W|$)+|/[0-9]*-*nice\\ sender\\ of(?=\\W|$)+|/[0-9]*-*A\\ nice\\ ' \ + 'sender(?=\\W|$)+|/[0-9]*-*nice\\ sender(?=\\W|$)+|/[0-9]*-*of\\ emotes(?=\\W|$)+' \ + '|/[0-9]*-*sender\\ of(?=\\W|$)+|/[0-9]*-*A\\ nice(?=\\W|$)+|/[0-9]*-*sender(?=\\W|$)+' \ + '|/[0-9]*-*emotes(?=\\W|$)+|/[0-9]*-*nice(?=\\W|$)+|/[0-9]*-*of(?=\\W|$)+|/[0-9]*-*A(?=\\W|$)+') def test_sdesc_handler(self): self.speaker.sdesc.add(sdesc0) @@ -89,8 +91,9 @@ class TestRPSystem(EvenniaTest): self.assertEqual(self.speaker.sdesc.get(), "This is 324 ignored") self.speaker.sdesc.add("Testing three words") self.assertEqual(self.speaker.sdesc.get_regex_tuple()[0].pattern, - '/[0-9]*-*Testing three words|/[0-9]*-*Testing three|/[0-9]' \ - '*-*three words|/[0-9]*-*Testing|/[0-9]*-*words|/[0-9]*-*three') + '/[0-9]*-*Testing\\ three\\ words(?=\\W|$)+|/[0-9]*-*Testing\\ ' \ + 'three(?=\\W|$)+|/[0-9]*-*three\\ words(?=\\W|$)+|/[0-9]*-*Testing'\ + '(?=\\W|$)+|/[0-9]*-*three(?=\\W|$)+|/[0-9]*-*words(?=\\W|$)+') def test_recog_handler(self): self.speaker.sdesc.add(sdesc0) @@ -100,7 +103,7 @@ class TestRPSystem(EvenniaTest): self.assertEqual(self.speaker.recog.get(self.receiver1), recog01) self.assertEqual(self.speaker.recog.get(self.receiver2), recog02) self.assertEqual(self.speaker.recog.get_regex_tuple(self.receiver1)[0].pattern, - '/[0-9]*-*Mr Receiver|/[0-9]*-*Receiver|/[0-9]*-*Mr') + '/[0-9]*-*Mr\\ Receiver(?=\\W|$)+|/[0-9]*-*Receiver(?=\\W|$)+|/[0-9]*-*Mr(?=\\W|$)+') self.speaker.recog.remove(self.receiver1) self.assertEqual(self.speaker.recog.get(self.receiver1), sdesc1)