From 03f71fa87e1186f2d90ea28109688a03fc34e036 Mon Sep 17 00:00:00 2001 From: Griatch Date: Sun, 25 Feb 2024 19:47:51 +0100 Subject: [PATCH] Made unit test to test case of #3432 --- evennia/objects/objects.py | 3 +-- evennia/objects/tests.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/evennia/objects/objects.py b/evennia/objects/objects.py index 72d09e597c..b974f01ef4 100644 --- a/evennia/objects/objects.py +++ b/evennia/objects/objects.py @@ -11,11 +11,10 @@ import time import typing from collections import defaultdict +import evennia import inflect from django.conf import settings from django.utils.translation import gettext as _ - -import evennia from evennia.commands import cmdset from evennia.commands.cmdsethandler import CmdSetHandler from evennia.objects.manager import ObjectManager diff --git a/evennia/objects/tests.py b/evennia/objects/tests.py index 63ad546473..25701def87 100644 --- a/evennia/objects/tests.py +++ b/evennia/objects/tests.py @@ -114,6 +114,19 @@ class DefaultObjectTest(BaseEvenniaTest): # partial match to 'colon' - multimatch error since stack is not homogenous self.assertEqual(self.char1.search("co", stacked=2), None) + def test_search_plural_form(self): + """Test searching for plural form of objects""" + coin1 = DefaultObject.create("coin", location=self.room1)[0] + coin2 = DefaultObject.create("coin", location=self.room1)[0] + coin3 = DefaultObject.create("coin", location=self.room1)[0] + # build the numbered aliases + coin1.get_numbered_name(2, self.char1) + coin2.get_numbered_name(3, self.char1) + coin3.get_numbered_name(4, self.char1) + + self.assertEqual(self.char1.search("coin", quiet=True), [coin1, coin2, coin3]) + self.assertEqual(self.char1.search("coins", quiet=True), [coin1, coin2, coin3]) + def test_get_default_lockstring_base(self): pattern = ( f"control:pid({self.account.id}) or id({self.char1.id}) or"