From 6b96e84fd03039f0512ec947ae29841409c96618 Mon Sep 17 00:00:00 2001 From: Henddher Pedroza Date: Tue, 16 Oct 2018 19:31:10 -0500 Subject: [PATCH 1/3] Tests for @desc obj= --- evennia/commands/default/tests.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/evennia/commands/default/tests.py b/evennia/commands/default/tests.py index a3be98984a..6010b008da 100644 --- a/evennia/commands/default/tests.py +++ b/evennia/commands/default/tests.py @@ -263,6 +263,20 @@ class TestBuilding(CommandTest): def test_desc(self): self.call(building.CmdDesc(), "Obj2=TestDesc", "The description was set on Obj2(#5).") + def test_empty_desc(self): + o2d = self.obj2.db.desc + r1d = self.room1.db.desc + self.call(building.CmdDesc(), "Obj2=", "The description was set on Obj2(#5).") + assert self.obj2.db.desc == '' + assert self.room1.db.desc == r1d + + def test_desc_default_to_room(self): + o2d = self.obj2.db.desc + r1d = self.room1.db.desc + self.call(building.CmdDesc(), "Obj2", "The description was set on Room(#1).") + assert self.obj2.db.desc == o2d + assert self.room1.db.desc == 'Obj2' + def test_wipe(self): confirm = building.CmdDestroy.confirm building.CmdDestroy.confirm = False @@ -446,4 +460,4 @@ class TestUnconnectedCommand(CommandTest): settings.SERVERNAME, datetime.datetime.fromtimestamp(gametime.SERVER_START_TIME).ctime(), SESSIONS.account_count(), utils.get_evennia_version()) - self.call(unloggedin.CmdUnconnectedInfo(), "", expected) \ No newline at end of file + self.call(unloggedin.CmdUnconnectedInfo(), "", expected) From dc44dc0176acdb6404f116a798393fae9134f85f Mon Sep 17 00:00:00 2001 From: Henddher Pedroza Date: Tue, 16 Oct 2018 19:49:19 -0500 Subject: [PATCH 2/3] In @desc command, validate rhs based on = sign present in orig args. Default MUX parsing assigns None to rhs if there is nothing on the right of the = sign. --- evennia/commands/default/building.py | 4 ++-- evennia/commands/default/tests.py | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/evennia/commands/default/building.py b/evennia/commands/default/building.py index 0afeea8fe5..aaafea30ac 100644 --- a/evennia/commands/default/building.py +++ b/evennia/commands/default/building.py @@ -589,12 +589,12 @@ class CmdDesc(COMMAND_DEFAULT_CLASS): self.edit_handler() return - if self.rhs: + if '=' in self.args: # We have an = obj = caller.search(self.lhs) if not obj: return - desc = self.rhs + desc = self.rhs or '' else: obj = caller.location or self.msg("|rYou can't describe oblivion.|n") if not obj: diff --git a/evennia/commands/default/tests.py b/evennia/commands/default/tests.py index 6010b008da..6e5877608c 100644 --- a/evennia/commands/default/tests.py +++ b/evennia/commands/default/tests.py @@ -264,6 +264,9 @@ class TestBuilding(CommandTest): self.call(building.CmdDesc(), "Obj2=TestDesc", "The description was set on Obj2(#5).") def test_empty_desc(self): + """ + empty desc sets desc as '' + """ o2d = self.obj2.db.desc r1d = self.room1.db.desc self.call(building.CmdDesc(), "Obj2=", "The description was set on Obj2(#5).") @@ -271,6 +274,7 @@ class TestBuilding(CommandTest): assert self.room1.db.desc == r1d def test_desc_default_to_room(self): + """no rhs changes room's desc""" o2d = self.obj2.db.desc r1d = self.room1.db.desc self.call(building.CmdDesc(), "Obj2", "The description was set on Room(#1).") From e08efc68dc637235592aa25ca2fd4b2951544baa Mon Sep 17 00:00:00 2001 From: Henddher Pedroza Date: Tue, 16 Oct 2018 20:09:17 -0500 Subject: [PATCH 3/3] Harden assertions --- evennia/commands/default/tests.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/evennia/commands/default/tests.py b/evennia/commands/default/tests.py index 6e5877608c..1b97a59f9f 100644 --- a/evennia/commands/default/tests.py +++ b/evennia/commands/default/tests.py @@ -270,7 +270,7 @@ class TestBuilding(CommandTest): o2d = self.obj2.db.desc r1d = self.room1.db.desc self.call(building.CmdDesc(), "Obj2=", "The description was set on Obj2(#5).") - assert self.obj2.db.desc == '' + assert self.obj2.db.desc == '' and self.obj2.db.desc != o2d assert self.room1.db.desc == r1d def test_desc_default_to_room(self): @@ -279,7 +279,7 @@ class TestBuilding(CommandTest): r1d = self.room1.db.desc self.call(building.CmdDesc(), "Obj2", "The description was set on Room(#1).") assert self.obj2.db.desc == o2d - assert self.room1.db.desc == 'Obj2' + assert self.room1.db.desc == 'Obj2' and self.room1.db.desc != r1d def test_wipe(self): confirm = building.CmdDestroy.confirm