# evennia.commands.default.tests

This is part of the Evennia unittest framework, for testing the stability and integrity of the codebase during updates. This module test the default command set. It is instantiated by the evennia/objects/tests.py module, which in turn is run by as part of the main test suite started with

> > python game/manage.py test.

class `evennia.commands.default.tests.``TestGeneral`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `test_look`()
  `test_look_no_location`()
  `test_look_nonexisting`()
  `test_home`()
  `test_go_home`()
  `test_no_home`()
  `test_inventory`()
  `test_pose`()
  `test_nick`()
  `test_nick_list`()
  `test_get_and_drop`()
  `test_give`()
  `test_mux_command`()
  `test_say`()
  `test_whisper`()
  `test_access`()

class `evennia.commands.default.tests.``TestHelp`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `maxDiff` = None
  `setUp`()

    Sets up testing environment

  `tearDown`()

    Hook method for deconstructing the test fixture after testing it.

  `test_help`()
  `test_set_help`()
  `test_subtopic_fetch` = None
  `test_subtopic_fetch_00_test`()

    Check retrieval of subtopics [with helparg=’test’, expected=’Help for testnnMain help text… test/something else test/more’].

  `test_subtopic_fetch_01_test_creating_extra_stuff`()

    Check retrieval of subtopics [with helparg=’test/creating extra stuff’, expected=’Help for test/creating extra st…ating extra stuff/subsubtopicn’].

  `test_subtopic_fetch_02_test_creating`()

    Check retrieval of subtopics [with helparg=’test/creating’, expected=’Help for test/creating extra st…ating extra stuff/subsubtopicn’].

  `test_subtopic_fetch_03_test_extra`()

    Check retrieval of subtopics [with helparg=’test/extra’, expected=’Help for test/creating extra st…ating extra stuff/subsubtopicn’].

  `test_subtopic_fetch_04_test_extra_subsubtopic`()

    Check retrieval of subtopics [with helparg=’test/extra/subsubtopic’, expected=’Help for test/creating extra st…bsubtopicnnA subsubtopic text’].

  `test_subtopic_fetch_05_test_creating_extra_subsub`()

    Check retrieval of subtopics [with helparg=’test/creating extra/subsub’, expected=’Help for test/creating extra st…bsubtopicnnA subsubtopic text’].

  `test_subtopic_fetch_06_test_Something_else`()

    Check retrieval of subtopics [with helparg=’test/Something else’, expected=’Help for test/something elsennSomething else’].

  `test_subtopic_fetch_07_test_More`()

    Check retrieval of subtopics [with helparg=’test/More’, expected=’Help for test/morennAnother t…opics:n test/more/second-more’].

  `test_subtopic_fetch_08_test_More_Second_more`()

    Check retrieval of subtopics [with helparg=’test/More/Second-more’, expected=’Help for test/more/second-more...est/more/second-more/third more’].

  `test_subtopic_fetch_09_test_More_more`()

    Check retrieval of subtopics [with helparg=’test/More/-more’, expected=’Help for test/more/second-more...est/more/second-more/third more’].

  `test_subtopic_fetch_10_test_more_second_more_again`()

    Check retrieval of subtopics [with helparg=’test/more/second/more again’, expected=’Help for test/more/second-more/more againnnEven more text.n’].

  `test_subtopic_fetch_11_test_more_second_third`()

    Check retrieval of subtopics [with helparg=’test/more/second/third’, expected=’Help for test/more/second-more/third morennThird more textn’].

class `evennia.commands.default.tests.``TestSystem`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `test_py`()
  `test_scripts`()
  `test_objects`()
  `test_about`()
  `test_server_load`()

`evennia.commands.default.tests.``func_test_cmd_tasks`()

class `evennia.commands.default.tests.``TestCmdTasks`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `setUp`()

    Sets up testing environment

  `tearDown`()

    Hook method for deconstructing the test fixture after testing it.

  `test_no_tasks`()
  `test_active_task`()
  `test_persistent_task`()
  `test_pause_unpause`()
  `test_do_task`()
  `test_remove`()
  `test_call`()
  `test_cancel`()
  `test_func_name_manipulation`()
  `test_wrong_func_name`()
  `test_no_input`()
  `test_responce_of_yes`()
  `test_task_complete_waiting_input`()

    Test for task completing while waiting for input.

  `test_new_task_waiting_input`()

    Test task completing than a new task with the same ID being made while waitinf for input.

  `test_misformed_command`()

class `evennia.commands.default.tests.``TestAdmin`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `test_emit`()
  `test_perm`()
  `test_wall`()
  `test_ban`()
  `test_force`()

class `evennia.commands.default.tests.``TestAccount`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  Test different account-specific modes

  `test_ooc_look` = None
  `test_ooc`()
  `test_ic`()
  `test_ic__other_object`()
  `test_ic__nonaccess`()
  `test_password`()
  `test_option`()
  `test_who`()
  `test_quit`()
  `test_sessions`()
  `test_color_test`()
  `test_char_create`()
  `test_char_delete`()
  `test_quell`()
  `test_ooc_look_00`()
  `test_ooc_look_01`()
  `test_ooc_look_02`()
  `test_ooc_look_03`()
  `test_ooc_look_04`()
  `test_ooc_look_05`()
  `test_ooc_look_06`()
  `test_ooc_look_07`()
  `test_ooc_look_08`()
  `test_ooc_look_09`()
  `test_ooc_look_10`()
  `test_ooc_look_11`()
  `test_ooc_look_12`()
  `test_ooc_look_13`()
  `test_ooc_look_14`()
  `test_ooc_look_15`()

class `evennia.commands.default.tests.``TestBuilding`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `test_create`()
  `test_examine`()
  `test_set_obj_alias`()
  `test_copy`()
  `test_attribute_commands`()
  `test_nested_attribute_commands`()
  `test_split_nested_attr`()
  `test_do_nested_lookup`()
  `test_name`()
  `test_desc`()
  `test_empty_desc`()

    empty desc sets desc as ‘’

  `test_desc_default_to_room`()

    no rhs changes room’s desc

  `test_destroy`()
  `test_destroy_sequence`()
  `test_dig`()
  `test_tunnel`()
  `test_tunnel_exit_typeclass`()
  `test_exit_commands`()
  `test_set_home`()
  `test_list_cmdsets`()
  `test_typeclass`()
  `test_lock`()
  `test_find`()
  `test_script`()
  `test_script_multi_delete`()
  `test_teleport`()
  `test_tag`()
  `test_spawn`()

class `evennia.commands.default.tests.``TestCommsChannel`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  Test the central channel command.

  `setUp`()

    Sets up testing environment

  `tearDown`()

    Hook method for deconstructing the test fixture after testing it.

  `test_channel__noarg`()
  `test_channel__msg`()
  `test_channel__list`()
  `test_channel__all`()
  `test_channel__history`()
  `test_channel__sub`()
  `test_channel__unsub`()
  `test_channel__alias__unalias`()

    Add and then remove a channel alias

  `test_channel__mute`()
  `test_channel__unmute`()
  `test_channel__create`()
  `test_channel__destroy`()
  `test_channel__desc`()
  `test_channel__lock`()
  `test_channel__unlock`()
  `test_channel__boot`()
  `test_channel__ban__unban`()

    Test first ban and then unban

  `test_channel__who`()

class `evennia.commands.default.tests.``TestComms`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `test_page`()

class `evennia.commands.default.tests.``TestBatchProcess`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  Test the batch processor.

  `red_button` = <module 'evennia.contrib.tutorials.red_button.red_button' from '/tmp/tmp7lm6f8x_/e0b099b1837f13ac0ab4d9002b7d091780c8b493/evennia/contrib/tutorials/red_button/red_button.py'>
  `test_batch_commands`(mock_tutorials, mock_repeat)

class `evennia.commands.default.tests.``CmdInterrupt`(**kwargs)

  Bases: `evennia.commands.command.Command`

  (you may see this if a child command had no help text defined)

  Usage:

    command [args]

  This is the base command class. Inherit from this to create new commands.

  The cmdhandler makes the following variables available to the command methods (so you can always assume them to be there): self.caller - the game object calling the command self.cmdstring - the command name used to trigger this command (allows

  > you to know which alias was used, for example)

  cmd.args - everything supplied to the command following the cmdstring

    (this is usually what is parsed in self.parse())

  cmd.cmdset - the cmdset from which this command was matched (useful only

    seldomly, notably for help-type commands, to create dynamic help entries and lists)

  cmd.obj - the object on which this command is defined. If a default command,

    this is usually the same as caller.

  cmd.rawstring - the full raw string input, including any args and no parsing.

  The following class properties can/should be defined on your child class:

  key - identifier for command (e.g. “look”) aliases - (optional) list of aliases (e.g. [“l”, “loo”]) locks - lock string (default is “cmd:all()”) help_category - how to organize this help entry in help system

  > (default is “General”)

  auto_help - defaults to True. Allows for turning off auto-help generation arg_regex - (optional) raw string regex defining how the argument part of

  > the command should look in order to match for this command (e.g. must it be a space between cmdname and arg?)

  auto_help_display_key - (optional) if given, this replaces the string shown

    in the auto-help listing. This is particularly useful for system-commands whose actual key is not really meaningful.

  (Note that if auto_help is on, this initial string is also used by the system to create the help entry for the command, so it’s a good idea to format it similar to this one). This behavior can be changed by overriding the method ‘get_help’ of a command: by default, this method returns cmd.__doc__ (that is, this very docstring, or the docstring of your command). You can, however, extend or replace this without disabling auto_help.

  `key` = 'interrupt'
  `parse`()

    Once the cmdhandler has identified this as the command we want, this function is run. If many of your commands have a similar syntax (for example ‘cmd arg1 = arg2’) you should simply define this once and just let other commands of the same form inherit from this. See the docstring of this module for which object properties are available to use (notably self.args).

  `func`()

    This is the actual executing part of the command. It is called directly after self.parse(). See the docstring of this module for which object properties are available (beyond those set in self.parse())

  `aliases` = []
  `help_category` = 'general'
  `lock_storage` = 'cmd:all();'
  `search_index_entry` = {'aliases': '', 'category': 'general', 'key': 'interrupt', 'no_prefix': ' ', 'tags': '', 'text': '\n ## Base command\n\n (you may see this if a child command had no help text defined)\n\n Usage:\n command [args]\n\n This is the base command class. Inherit from this\n to create new commands.\n\n The cmdhandler makes the following variables available to the\n command methods (so you can always assume them to be there):\n self.caller - the game object calling the command\n self.cmdstring - the command name used to trigger this command (allows\n you to know which alias was used, for example)\n cmd.args - everything supplied to the command following the cmdstring\n (this is usually what is parsed in self.parse())\n cmd.cmdset - the cmdset from which this command was matched (useful only\n seldomly, notably for help-type commands, to create dynamic\n help entries and lists)\n cmd.obj - the object on which this command is defined. If a default command,\n this is usually the same as caller.\n cmd.rawstring - the full raw string input, including any args and no parsing.\n\n The following class properties can/should be defined on your child class:\n\n key - identifier for command (e.g. "look")\n aliases - (optional) list of aliases (e.g. ["l", "loo"])\n locks - lock string (default is "cmd:all()")\n help_category - how to organize this help entry in help system\n (default is "General")\n auto_help - defaults to True. Allows for turning off auto-help generation\n arg_regex - (optional) raw string regex defining how the argument part of\n the command should look in order to match for this command\n (e.g. must it be a space between cmdname and arg?)\n auto_help_display_key - (optional) if given, this replaces the string shown\n in the auto-help listing. This is particularly useful for system-commands\n whose actual key is not really meaningful.\n\n (Note that if auto_help is on, this initial string is also used by the\n system to create the help entry for the command, so it\'s a good idea to\n format it similar to this one). This behavior can be changed by\n overriding the method \'get_help\' of a command: by default, this\n method returns cmd.__doc__ (that is, this very docstring, or\n the docstring of your command). You can, however, extend or\n replace this without disabling auto_help.\n '}

class `evennia.commands.default.tests.``TestInterruptCommand`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `test_interrupt_command`()

class `evennia.commands.default.tests.``TestUnconnectedCommand`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `test_info_command`()

class `evennia.commands.default.tests.``TestSystemCommands`(methodName='runTest')

  Bases: `evennia.utils.test_resources.BaseEvenniaCommandTest`

  `test_simple_defaults`()
  `test_multimatch`()