Example #1
0
    def test_autocmdsets(self):
        import evennia
        from evennia.commands.default.cmdset_account import AccountCmdSet
        from evennia.comms.channelhandler import CHANNEL_HANDLER
        testchannel = evennia.create_channel("channeltest",
                                             locks="listen:all();send:all()")
        CHANNEL_HANDLER.add(testchannel)
        CHANNEL_HANDLER.update()
        self.assertTrue(testchannel.connect(self.account))
        self.assertTrue(testchannel.has_connection(self.account))
        a, b, c, d = self.cmdset_a, self.cmdset_b, self.cmdset_c, self.cmdset_d
        self.set_cmdsets(self.account, a, b, c, d)
        deferred = cmdhandler.get_and_merge_cmdsets(self.session, self.session,
                                                    self.account, self.char1,
                                                    "session", "")

        def _callback(cmdset):
            pcmdset = AccountCmdSet()
            pcmdset.at_cmdset_creation()
            pcmds = [cmd.key for cmd in pcmdset.commands
                     ] + ["a", "b", "c", "d"] + ["out"]
            self.assertTrue(
                all(cmd.key or hasattr(cmd, "is_channel") in pcmds
                    for cmd in cmdset.commands))
            self.assertTrue(
                any(hasattr(cmd, "is_channel") for cmd in cmdset.commands))

        deferred.addCallback(_callback)
        return deferred
Example #2
0
 def test_from_object(self):
     self.set_cmdsets(self.obj1, self.cmdset_a)
     deferred = cmdhandler.get_and_merge_cmdsets(self.obj1, None, None, self.obj1, "object", "")
     # get_and_merge_cmdsets converts  to lower-case internally.
     _callback = lambda cmdset: self.assertEqual(sum(1 for cmd in cmdset.commands if cmd.key in ("a", "b", "c", "d")), 4)
     deferred.addCallback(_callback)
     return deferred
Example #3
0
 def test_from_object(self):
     self.set_cmdsets(self.obj1, self.cmdset_a)
     deferred = cmdhandler.get_and_merge_cmdsets(self.obj1, None, None, self.obj1, "object")
     # get_and_merge_cmdsets converts  to lower-case internally.
     _callback = lambda cmdset: self.assertEqual(sum(1 for cmd in cmdset.commands if cmd.key in ("a", "b", "c", "d")), 4)
     deferred.addCallback(_callback)
     return deferred
Example #4
0
 def test_from_session(self):
     a = self.cmdset_a
     a.no_channels = True
     self.set_cmdsets(self.session, a)
     deferred = cmdhandler.get_and_merge_cmdsets(self.session, self.session, None, None, "session", "")
     def _callback(cmdset):
         self.assertEqual(cmdset.key, "A")
     deferred.addCallback(_callback)
     return deferred
Example #5
0
 def test_from_session(self):
     a = self.cmdset_a
     a.no_channels = True
     self.set_cmdsets(self.session, a)
     deferred = cmdhandler.get_and_merge_cmdsets(self.session, self.session, None, None, "session")
     def _callback(cmdset):
         self.assertEqual(cmdset.key, "A")
     deferred.addCallback(_callback)
     return deferred
Example #6
0
 def test_duplicates(self):
     a, b, c, d = self.cmdset_a, self.cmdset_b, self.cmdset_c, self.cmdset_d
     a.no_exits = True
     a.no_channels = True
     b.duplicates = True
     d.duplicates = True
     self.set_cmdsets(self.obj1, a, b, c, d)
     deferred = cmdhandler.get_and_merge_cmdsets(self.obj1, None, None, self.obj1, "object", "")
     def _callback(cmdset):
         self.assertEqual(len(cmdset.commands), 9)
     deferred.addCallback(_callback)
     return deferred
Example #7
0
 def test_multimerge(self):
     a, b, c, d = self.cmdset_a, self.cmdset_b, self.cmdset_c, self.cmdset_d
     a.no_exits = True
     a.no_channels = True
     self.set_cmdsets(self.obj1, a, b, c, d)
     deferred = cmdhandler.get_and_merge_cmdsets(self.obj1, None, None, self.obj1, "object", "")
     def _callback(cmdset):
         self.assertTrue(cmdset.no_exits)
         self.assertTrue(cmdset.no_channels)
         self.assertEqual(cmdset.key, "D")
     deferred.addCallback(_callback)
     return deferred
Example #8
0
 def test_duplicates(self):
     a, b, c, d = self.cmdset_a, self.cmdset_b, self.cmdset_c, self.cmdset_d
     a.no_exits = True
     a.no_channels = True
     b.duplicates = True
     d.duplicates = True
     self.set_cmdsets(self.obj1, a, b, c, d)
     deferred = cmdhandler.get_and_merge_cmdsets(self.obj1, None, None, self.obj1, "object")
     def _callback(cmdset):
         self.assertEqual(len(cmdset.commands), 9)
     deferred.addCallback(_callback)
     return deferred
Example #9
0
 def test_multimerge(self):
     a, b, c, d = self.cmdset_a, self.cmdset_b, self.cmdset_c, self.cmdset_d
     a.no_exits = True
     a.no_channels = True
     self.set_cmdsets(self.obj1, a, b, c, d)
     deferred = cmdhandler.get_and_merge_cmdsets(self.obj1, None, None, self.obj1, "object")
     def _callback(cmdset):
         self.assertTrue(cmdset.no_exits)
         self.assertTrue(cmdset.no_channels)
         self.assertEqual(cmdset.key, "D")
     deferred.addCallback(_callback)
     return deferred
Example #10
0
 def test_from_player(self):
     from evennia.commands.default.cmdset_player import PlayerCmdSet
     a = self.cmdset_a
     a.no_channels = True
     self.set_cmdsets(self.player, a)
     deferred = cmdhandler.get_and_merge_cmdsets(self.player, None, self.player, None, "player", "")
     # get_and_merge_cmdsets converts  to lower-case internally.
     def _callback(cmdset):
         pcmdset = PlayerCmdSet()
         pcmdset.at_cmdset_creation()
         pcmds = [cmd.key for cmd in pcmdset.commands] + ["a", "b", "c", "d"]
         self.assertTrue(all(cmd.key in pcmds for cmd in cmdset.commands))
     #_callback = lambda cmdset: self.assertEqual(sum(1 for cmd in cmdset.commands if cmd.key in ("a", "b", "c", "d")), 4)
     deferred.addCallback(_callback)
     return deferred
Example #11
0
 def test_from_player(self):
     from evennia.commands.default.cmdset_player import PlayerCmdSet
     a = self.cmdset_a
     a.no_channels = True
     self.set_cmdsets(self.player, a)
     deferred = cmdhandler.get_and_merge_cmdsets(self.player, None, self.player, None, "player")
     # get_and_merge_cmdsets converts  to lower-case internally.
     def _callback(cmdset):
         pcmdset = PlayerCmdSet()
         pcmdset.at_cmdset_creation()
         pcmds = [cmd.key for cmd in pcmdset.commands] + ["a", "b", "c", "d"]
         self.assertTrue(all(cmd.key in pcmds for cmd in cmdset.commands))
     #_callback = lambda cmdset: self.assertEqual(sum(1 for cmd in cmdset.commands if cmd.key in ("a", "b", "c", "d")), 4)
     deferred.addCallback(_callback)
     return deferred
Example #12
0
 def test_autocmdsets(self):
     import evennia
     from evennia.commands.default.cmdset_player import PlayerCmdSet
     from evennia.comms.channelhandler import CHANNEL_HANDLER
     testchannel = evennia.create_channel("channeltest", locks="listen:all();send:all()")
     CHANNEL_HANDLER.add(testchannel)
     CHANNEL_HANDLER.update()
     self.assertTrue(testchannel.connect(self.player))
     self.assertTrue(testchannel.has_connection(self.player))
     a, b, c, d = self.cmdset_a, self.cmdset_b, self.cmdset_c, self.cmdset_d
     self.set_cmdsets(self.player, a, b, c, d)
     deferred = cmdhandler.get_and_merge_cmdsets(self.session, self.session, self.player, self.char1, "session", "")
     def _callback(cmdset):
         pcmdset = PlayerCmdSet()
         pcmdset.at_cmdset_creation()
         pcmds = [cmd.key for cmd in pcmdset.commands] + ["a", "b", "c", "d"] + ["out"]
         self.assertTrue(all(cmd.key or hasattr(cmd, "is_channel") in pcmds for cmd in cmdset.commands))
         self.assertTrue(any(hasattr(cmd, "is_channel") for cmd in cmdset.commands))
     deferred.addCallback(_callback)
     return deferred