mirror of
https://github.com/evennia/evennia.git
synced 2026-03-25 01:06:32 +01:00
574 lines
No EOL
106 KiB
HTML
574 lines
No EOL
106 KiB
HTML
|
|
<!DOCTYPE html>
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>evennia.commands.tests — Evennia 1.0-dev documentation</title>
|
|
<link rel="stylesheet" href="../../../_static/alabaster.css" type="text/css" />
|
|
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
|
|
<script id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
|
|
<script src="../../../_static/jquery.js"></script>
|
|
<script src="../../../_static/underscore.js"></script>
|
|
<script src="../../../_static/doctools.js"></script>
|
|
<script src="../../../_static/language_data.js"></script>
|
|
<link rel="index" title="Index" href="../../../genindex.html" />
|
|
<link rel="search" title="Search" href="../../../search.html" />
|
|
|
|
<link rel="stylesheet" href="../../../_static/custom.css" type="text/css" />
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
|
|
|
</head><body>
|
|
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
|
|
|
|
<div class="body" role="main">
|
|
|
|
<h1>Source code for evennia.commands.tests</h1><div class="highlight"><pre>
|
|
<span></span><span class="sd">"""</span>
|
|
<span class="sd">Unit testing for the Command system itself.</span>
|
|
|
|
<span class="sd">"""</span>
|
|
|
|
<span class="kn">from</span> <span class="nn">django.test</span> <span class="k">import</span> <span class="n">override_settings</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.utils.test_resources</span> <span class="k">import</span> <span class="n">EvenniaTest</span><span class="p">,</span> <span class="n">TestCase</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.commands.cmdset</span> <span class="k">import</span> <span class="n">CmdSet</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.commands.command</span> <span class="k">import</span> <span class="n">Command</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.commands</span> <span class="k">import</span> <span class="n">cmdparser</span>
|
|
|
|
|
|
<span class="c1"># Testing-command sets</span>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdA"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdA">[docs]</a><span class="k">class</span> <span class="nc">_CmdA</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"A"</span>
|
|
|
|
<div class="viewcode-block" id="_CmdA.__init__"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdA.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cmdset</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">=</span> <span class="n">cmdset</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdB"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdB">[docs]</a><span class="k">class</span> <span class="nc">_CmdB</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"B"</span>
|
|
|
|
<div class="viewcode-block" id="_CmdB.__init__"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdB.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cmdset</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">=</span> <span class="n">cmdset</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdC"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdC">[docs]</a><span class="k">class</span> <span class="nc">_CmdC</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"C"</span>
|
|
|
|
<div class="viewcode-block" id="_CmdC.__init__"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdC.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cmdset</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">=</span> <span class="n">cmdset</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdD"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdD">[docs]</a><span class="k">class</span> <span class="nc">_CmdD</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"D"</span>
|
|
|
|
<div class="viewcode-block" id="_CmdD.__init__"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdD.__init__">[docs]</a> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cmdset</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">=</span> <span class="n">cmdset</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdSetA"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetA">[docs]</a><span class="k">class</span> <span class="nc">_CmdSetA</span><span class="p">(</span><span class="n">CmdSet</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"A"</span>
|
|
|
|
<div class="viewcode-block" id="_CmdSetA.at_cmdset_creation"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetA.at_cmdset_creation">[docs]</a> <span class="k">def</span> <span class="nf">at_cmdset_creation</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdA</span><span class="p">(</span><span class="s2">"A"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdB</span><span class="p">(</span><span class="s2">"A"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdC</span><span class="p">(</span><span class="s2">"A"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdD</span><span class="p">(</span><span class="s2">"A"</span><span class="p">))</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdSetB"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetB">[docs]</a><span class="k">class</span> <span class="nc">_CmdSetB</span><span class="p">(</span><span class="n">CmdSet</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"B"</span>
|
|
|
|
<div class="viewcode-block" id="_CmdSetB.at_cmdset_creation"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetB.at_cmdset_creation">[docs]</a> <span class="k">def</span> <span class="nf">at_cmdset_creation</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdA</span><span class="p">(</span><span class="s2">"B"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdB</span><span class="p">(</span><span class="s2">"B"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdC</span><span class="p">(</span><span class="s2">"B"</span><span class="p">))</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdSetC"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetC">[docs]</a><span class="k">class</span> <span class="nc">_CmdSetC</span><span class="p">(</span><span class="n">CmdSet</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"C"</span>
|
|
|
|
<div class="viewcode-block" id="_CmdSetC.at_cmdset_creation"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetC.at_cmdset_creation">[docs]</a> <span class="k">def</span> <span class="nf">at_cmdset_creation</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdA</span><span class="p">(</span><span class="s2">"C"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdB</span><span class="p">(</span><span class="s2">"C"</span><span class="p">))</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdSetD"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetD">[docs]</a><span class="k">class</span> <span class="nc">_CmdSetD</span><span class="p">(</span><span class="n">CmdSet</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"D"</span>
|
|
|
|
<div class="viewcode-block" id="_CmdSetD.at_cmdset_creation"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetD.at_cmdset_creation">[docs]</a> <span class="k">def</span> <span class="nf">at_cmdset_creation</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdA</span><span class="p">(</span><span class="s2">"D"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdB</span><span class="p">(</span><span class="s2">"D"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdC</span><span class="p">(</span><span class="s2">"D"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdD</span><span class="p">(</span><span class="s2">"D"</span><span class="p">))</span></div></div>
|
|
|
|
|
|
<span class="c1"># testing Command Sets</span>
|
|
|
|
|
|
<div class="viewcode-block" id="TestCmdSetMergers"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdSetMergers">[docs]</a><span class="k">class</span> <span class="nc">TestCmdSetMergers</span><span class="p">(</span><span class="n">TestCase</span><span class="p">):</span>
|
|
<span class="s2">"Test merging of cmdsets"</span>
|
|
|
|
<div class="viewcode-block" id="TestCmdSetMergers.setUp"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdSetMergers.setUp">[docs]</a> <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">setUp</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span> <span class="o">=</span> <span class="n">_CmdSetA</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">cmdset_b</span> <span class="o">=</span> <span class="n">_CmdSetB</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span> <span class="o">=</span> <span class="n">_CmdSetC</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">cmdset_d</span> <span class="o">=</span> <span class="n">_CmdSetD</span><span class="p">()</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdSetMergers.test_union"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdSetMergers.test_union">[docs]</a> <span class="k">def</span> <span class="nf">test_union</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">c</span> <span class="c1"># same-prio</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">c</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># same-prio, inverse order</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">1</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">c</span> <span class="c1"># high prio A</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdSetMergers.test_intersect"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdSetMergers.test_intersect">[docs]</a> <span class="k">def</span> <span class="nf">test_intersect</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">mergetype</span> <span class="o">=</span> <span class="s2">"Intersect"</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">c</span> <span class="c1"># same-prio - c's Union kicks in</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">c</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># same-prio - a's Intersect kicks in</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">1</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">c</span> <span class="c1"># high prio A, intersect kicks in</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdSetMergers.test_replace"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdSetMergers.test_replace">[docs]</a> <span class="k">def</span> <span class="nf">test_replace</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">mergetype</span> <span class="o">=</span> <span class="s2">"Replace"</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">c</span> <span class="c1"># same-prio. C's Replace kicks in</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">c</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># same-prio. A's Union kicks in</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">1</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">c</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># c higher prio. C's Replace kicks in</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdSetMergers.test_remove"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdSetMergers.test_remove">[docs]</a> <span class="k">def</span> <span class="nf">test_remove</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">mergetype</span> <span class="o">=</span> <span class="s2">"Remove"</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">c</span> <span class="c1"># same-prio. C's Remove kicks in</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">c</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># same-prio. A's Union kicks in</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">1</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">c</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># c higher prio. C's Remove kicks in</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">),</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"C"</span><span class="p">),</span> <span class="mi">0</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdSetMergers.test_order"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdSetMergers.test_order">[docs]</a> <span class="k">def</span> <span class="nf">test_order</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Merge in reverse- and forward orders, same priorities"</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_b</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_d</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">d</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># merge in reverse order of priority</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">priority</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">mergetype</span><span class="p">,</span> <span class="s2">"Union"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="nb">all</span><span class="p">(</span><span class="kc">True</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">))</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">d</span> <span class="c1"># merge in order of priority</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">priority</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">mergetype</span><span class="p">,</span> <span class="s2">"Union"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span> <span class="c1"># duplicates setting from A transfers</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="nb">all</span><span class="p">(</span><span class="kc">True</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"D"</span><span class="p">))</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdSetMergers.test_priority_order"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdSetMergers.test_priority_order">[docs]</a> <span class="k">def</span> <span class="nf">test_priority_order</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Merge in reverse- and forward order with well-defined prioritities"</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_b</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_d</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">2</span>
|
|
<span class="n">b</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">1</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="n">d</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">d</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># merge in reverse order of priority</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">priority</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">mergetype</span><span class="p">,</span> <span class="s2">"Union"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="nb">all</span><span class="p">(</span><span class="kc">True</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">))</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">d</span> <span class="c1"># merge in order of priority</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">priority</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">mergetype</span><span class="p">,</span> <span class="s2">"Union"</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="nb">all</span><span class="p">(</span><span class="kc">True</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">from_cmdset</span> <span class="o">==</span> <span class="s2">"A"</span><span class="p">))</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdSetMergers.test_option_transfer"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdSetMergers.test_option_transfer">[docs]</a> <span class="k">def</span> <span class="nf">test_option_transfer</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="s2">"Test transfer of cmdset options"</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_b</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_d</span>
|
|
<span class="c1"># the options should pass through since none of the other cmdsets care</span>
|
|
<span class="c1"># to change the setting from None.</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">no_exits</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">no_objs</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">no_channels</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">duplicates</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">d</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># reverse, same-prio</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_exits</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_objs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_channels</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">duplicates</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">8</span><span class="p">)</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">d</span> <span class="c1"># forward, same-prio</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_exits</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_objs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_channels</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">duplicates</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">2</span>
|
|
<span class="n">b</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">1</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="n">d</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">d</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># reverse, A top priority</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_exits</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_objs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_channels</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">duplicates</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">d</span> <span class="c1"># forward, A top priority. This never happens in practice.</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_exits</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_objs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_channels</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">duplicates</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
|
|
<span class="n">b</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">1</span>
|
|
<span class="n">d</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">2</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">d</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># reverse, A low prio. This never happens in practice.</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_exits</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_objs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_channels</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">duplicates</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">d</span> <span class="c1"># forward, A low prio</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_exits</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_objs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_channels</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">duplicates</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">no_exits</span> <span class="o">=</span> <span class="kc">False</span>
|
|
<span class="n">b</span><span class="o">.</span><span class="n">no_objs</span> <span class="o">=</span> <span class="kc">False</span>
|
|
<span class="n">d</span><span class="o">.</span><span class="n">duplicates</span> <span class="o">=</span> <span class="kc">False</span>
|
|
<span class="c1"># higher-prio sets will change the option up the chain</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">d</span> <span class="c1"># forward, A low prio</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_exits</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_objs</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">no_channels</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertFalse</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">duplicates</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">4</span><span class="p">)</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="n">b</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="n">d</span><span class="o">.</span><span class="n">priority</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="n">c</span><span class="o">.</span><span class="n">duplicates</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">cmdset_f</span> <span class="o">=</span> <span class="n">d</span> <span class="o">+</span> <span class="n">b</span> <span class="o">+</span> <span class="n">c</span> <span class="o">+</span> <span class="n">a</span> <span class="c1"># two last mergers duplicates=True</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset_f</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">10</span><span class="p">)</span></div></div>
|
|
|
|
|
|
<span class="c1"># test cmdhandler functions</span>
|
|
|
|
|
|
<span class="kn">import</span> <span class="nn">sys</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.commands</span> <span class="k">import</span> <span class="n">cmdhandler</span>
|
|
<span class="kn">from</span> <span class="nn">twisted.trial.unittest</span> <span class="k">import</span> <span class="n">TestCase</span> <span class="k">as</span> <span class="n">TwistedTestCase</span>
|
|
|
|
|
|
<div class="viewcode-block" id="_mockdelay"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._mockdelay">[docs]</a><span class="k">def</span> <span class="nf">_mockdelay</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">func</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
<span class="k">return</span> <span class="n">func</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div>
|
|
|
|
|
|
<div class="viewcode-block" id="TestGetAndMergeCmdSets"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestGetAndMergeCmdSets">[docs]</a><span class="k">class</span> <span class="nc">TestGetAndMergeCmdSets</span><span class="p">(</span><span class="n">TwistedTestCase</span><span class="p">,</span> <span class="n">EvenniaTest</span><span class="p">):</span>
|
|
<span class="s2">"Test the cmdhandler.get_and_merge_cmdsets function."</span>
|
|
|
|
<div class="viewcode-block" id="TestGetAndMergeCmdSets.setUp"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestGetAndMergeCmdSets.setUp">[docs]</a> <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">patch</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="s2">"evennia.server.sessionhandler"</span><span class="p">],</span> <span class="s2">"delay"</span><span class="p">,</span> <span class="n">_mockdelay</span><span class="p">)</span>
|
|
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">setUp</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span> <span class="o">=</span> <span class="n">_CmdSetA</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">cmdset_b</span> <span class="o">=</span> <span class="n">_CmdSetB</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span> <span class="o">=</span> <span class="n">_CmdSetC</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">cmdset_d</span> <span class="o">=</span> <span class="n">_CmdSetD</span><span class="p">()</span></div>
|
|
|
|
<div class="viewcode-block" id="TestGetAndMergeCmdSets.set_cmdsets"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestGetAndMergeCmdSets.set_cmdsets">[docs]</a> <span class="k">def</span> <span class="nf">set_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">obj</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
|
|
<span class="s2">"Set cmdets on obj in the order given in *args"</span>
|
|
<span class="k">for</span> <span class="n">cmdset</span> <span class="ow">in</span> <span class="n">args</span><span class="p">:</span>
|
|
<span class="n">obj</span><span class="o">.</span><span class="n">cmdset</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">cmdset</span><span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestGetAndMergeCmdSets.test_from_session"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestGetAndMergeCmdSets.test_from_session">[docs]</a> <span class="k">def</span> <span class="nf">test_from_session</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">a</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">no_channels</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">set_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">,</span> <span class="n">a</span><span class="p">)</span>
|
|
<span class="n">deferred</span> <span class="o">=</span> <span class="n">cmdhandler</span><span class="o">.</span><span class="n">get_and_merge_cmdsets</span><span class="p">(</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="s2">"session"</span><span class="p">,</span> <span class="s2">""</span>
|
|
<span class="p">)</span>
|
|
|
|
<span class="k">def</span> <span class="nf">_callback</span><span class="p">(</span><span class="n">cmdset</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset</span><span class="o">.</span><span class="n">key</span><span class="p">,</span> <span class="s2">"A"</span><span class="p">)</span>
|
|
|
|
<span class="n">deferred</span><span class="o">.</span><span class="n">addCallback</span><span class="p">(</span><span class="n">_callback</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">deferred</span></div>
|
|
|
|
<div class="viewcode-block" id="TestGetAndMergeCmdSets.test_from_account"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestGetAndMergeCmdSets.test_from_account">[docs]</a> <span class="k">def</span> <span class="nf">test_from_account</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.commands.default.cmdset_account</span> <span class="k">import</span> <span class="n">AccountCmdSet</span>
|
|
|
|
<span class="n">a</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">no_channels</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">set_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">,</span> <span class="n">a</span><span class="p">)</span>
|
|
<span class="n">deferred</span> <span class="o">=</span> <span class="n">cmdhandler</span><span class="o">.</span><span class="n">get_and_merge_cmdsets</span><span class="p">(</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="s2">"account"</span><span class="p">,</span> <span class="s2">""</span>
|
|
<span class="p">)</span>
|
|
<span class="c1"># get_and_merge_cmdsets converts to lower-case internally.</span>
|
|
|
|
<span class="k">def</span> <span class="nf">_callback</span><span class="p">(</span><span class="n">cmdset</span><span class="p">):</span>
|
|
<span class="n">pcmdset</span> <span class="o">=</span> <span class="n">AccountCmdSet</span><span class="p">()</span>
|
|
<span class="n">pcmdset</span><span class="o">.</span><span class="n">at_cmdset_creation</span><span class="p">()</span>
|
|
<span class="n">pcmds</span> <span class="o">=</span> <span class="p">[</span><span class="n">cmd</span><span class="o">.</span><span class="n">key</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">pcmdset</span><span class="o">.</span><span class="n">commands</span><span class="p">]</span> <span class="o">+</span> <span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b"</span><span class="p">,</span> <span class="s2">"c"</span><span class="p">,</span> <span class="s2">"d"</span><span class="p">]</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="nb">all</span><span class="p">(</span><span class="n">cmd</span><span class="o">.</span><span class="n">key</span> <span class="ow">in</span> <span class="n">pcmds</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset</span><span class="o">.</span><span class="n">commands</span><span class="p">))</span>
|
|
|
|
<span class="c1"># _callback = lambda cmdset: self.assertEqual(sum(1 for cmd in cmdset.commands if cmd.key in ("a", "b", "c", "d")), 4)</span>
|
|
<span class="n">deferred</span><span class="o">.</span><span class="n">addCallback</span><span class="p">(</span><span class="n">_callback</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">deferred</span></div>
|
|
|
|
<div class="viewcode-block" id="TestGetAndMergeCmdSets.test_from_object"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestGetAndMergeCmdSets.test_from_object">[docs]</a> <span class="k">def</span> <span class="nf">test_from_object</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">set_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">)</span>
|
|
<span class="n">deferred</span> <span class="o">=</span> <span class="n">cmdhandler</span><span class="o">.</span><span class="n">get_and_merge_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="s2">"object"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
|
|
<span class="c1"># get_and_merge_cmdsets converts to lower-case internally.</span>
|
|
|
|
<span class="k">def</span> <span class="nf">_callback</span><span class="p">(</span><span class="n">cmdset</span><span class="p">):</span>
|
|
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
|
|
<span class="nb">sum</span><span class="p">(</span><span class="mi">1</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">key</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b"</span><span class="p">,</span> <span class="s2">"c"</span><span class="p">,</span> <span class="s2">"d"</span><span class="p">)),</span> <span class="mi">4</span>
|
|
<span class="p">)</span>
|
|
|
|
<span class="n">deferred</span><span class="o">.</span><span class="n">addCallback</span><span class="p">(</span><span class="n">_callback</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">deferred</span></div>
|
|
|
|
<div class="viewcode-block" id="TestGetAndMergeCmdSets.test_multimerge"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestGetAndMergeCmdSets.test_multimerge">[docs]</a> <span class="k">def</span> <span class="nf">test_multimerge</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_b</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_d</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">no_exits</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">no_channels</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">set_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span>
|
|
|
|
<span class="n">deferred</span> <span class="o">=</span> <span class="n">cmdhandler</span><span class="o">.</span><span class="n">get_and_merge_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="s2">"object"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
|
|
|
|
<span class="k">def</span> <span class="nf">_callback</span><span class="p">(</span><span class="n">cmdset</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset</span><span class="o">.</span><span class="n">no_exits</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">cmdset</span><span class="o">.</span><span class="n">no_channels</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdset</span><span class="o">.</span><span class="n">key</span><span class="p">,</span> <span class="s2">"D"</span><span class="p">)</span>
|
|
|
|
<span class="n">deferred</span><span class="o">.</span><span class="n">addCallback</span><span class="p">(</span><span class="n">_callback</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">deferred</span></div>
|
|
|
|
<div class="viewcode-block" id="TestGetAndMergeCmdSets.test_autocmdsets"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestGetAndMergeCmdSets.test_autocmdsets">[docs]</a> <span class="k">def</span> <span class="nf">test_autocmdsets</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="kn">import</span> <span class="nn">evennia</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.commands.default.cmdset_account</span> <span class="k">import</span> <span class="n">AccountCmdSet</span>
|
|
<span class="kn">from</span> <span class="nn">evennia.comms.channelhandler</span> <span class="k">import</span> <span class="n">CHANNEL_HANDLER</span>
|
|
|
|
<span class="n">testchannel</span> <span class="o">=</span> <span class="n">evennia</span><span class="o">.</span><span class="n">create_channel</span><span class="p">(</span><span class="s2">"channeltest"</span><span class="p">,</span> <span class="n">locks</span><span class="o">=</span><span class="s2">"listen:all();send:all()"</span><span class="p">)</span>
|
|
<span class="n">CHANNEL_HANDLER</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">testchannel</span><span class="p">)</span>
|
|
<span class="n">CHANNEL_HANDLER</span><span class="o">.</span><span class="n">update</span><span class="p">()</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">testchannel</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="n">testchannel</span><span class="o">.</span><span class="n">has_connection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">))</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_b</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_d</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">set_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span>
|
|
<span class="n">deferred</span> <span class="o">=</span> <span class="n">cmdhandler</span><span class="o">.</span><span class="n">get_and_merge_cmdsets</span><span class="p">(</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">session</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">account</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">char1</span><span class="p">,</span> <span class="s2">"session"</span><span class="p">,</span> <span class="s2">""</span>
|
|
<span class="p">)</span>
|
|
|
|
<span class="k">def</span> <span class="nf">_callback</span><span class="p">(</span><span class="n">cmdset</span><span class="p">):</span>
|
|
<span class="n">pcmdset</span> <span class="o">=</span> <span class="n">AccountCmdSet</span><span class="p">()</span>
|
|
<span class="n">pcmdset</span><span class="o">.</span><span class="n">at_cmdset_creation</span><span class="p">()</span>
|
|
<span class="n">pcmds</span> <span class="o">=</span> <span class="p">[</span><span class="n">cmd</span><span class="o">.</span><span class="n">key</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">pcmdset</span><span class="o">.</span><span class="n">commands</span><span class="p">]</span> <span class="o">+</span> <span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b"</span><span class="p">,</span> <span class="s2">"c"</span><span class="p">,</span> <span class="s2">"d"</span><span class="p">]</span> <span class="o">+</span> <span class="p">[</span><span class="s2">"out"</span><span class="p">]</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span>
|
|
<span class="nb">all</span><span class="p">(</span><span class="n">cmd</span><span class="o">.</span><span class="n">key</span> <span class="ow">or</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s2">"is_channel"</span><span class="p">)</span> <span class="ow">in</span> <span class="n">pcmds</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset</span><span class="o">.</span><span class="n">commands</span><span class="p">)</span>
|
|
<span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertTrue</span><span class="p">(</span><span class="nb">any</span><span class="p">(</span><span class="nb">hasattr</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="s2">"is_channel"</span><span class="p">)</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmdset</span><span class="o">.</span><span class="n">commands</span><span class="p">))</span>
|
|
|
|
<span class="n">deferred</span><span class="o">.</span><span class="n">addCallback</span><span class="p">(</span><span class="n">_callback</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">deferred</span></div>
|
|
|
|
<div class="viewcode-block" id="TestGetAndMergeCmdSets.test_duplicates"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestGetAndMergeCmdSets.test_duplicates">[docs]</a> <span class="k">def</span> <span class="nf">test_duplicates</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_a</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_b</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_c</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cmdset_d</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">no_exits</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">a</span><span class="o">.</span><span class="n">no_channels</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">b</span><span class="o">.</span><span class="n">duplicates</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="n">d</span><span class="o">.</span><span class="n">duplicates</span> <span class="o">=</span> <span class="kc">True</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">set_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span>
|
|
<span class="n">deferred</span> <span class="o">=</span> <span class="n">cmdhandler</span><span class="o">.</span><span class="n">get_and_merge_cmdsets</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">obj1</span><span class="p">,</span> <span class="s2">"object"</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
|
|
|
|
<span class="k">def</span> <span class="nf">_callback</span><span class="p">(</span><span class="n">cmdset</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">cmdset</span><span class="o">.</span><span class="n">commands</span><span class="p">),</span> <span class="mi">9</span><span class="p">)</span>
|
|
|
|
<span class="n">deferred</span><span class="o">.</span><span class="n">addCallback</span><span class="p">(</span><span class="n">_callback</span><span class="p">)</span>
|
|
<span class="k">return</span> <span class="n">deferred</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="AccessableCommand"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.AccessableCommand">[docs]</a><span class="k">class</span> <span class="nc">AccessableCommand</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
|
<div class="viewcode-block" id="AccessableCommand.access"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.AccessableCommand.access">[docs]</a> <span class="k">def</span> <span class="nf">access</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
<span class="k">return</span> <span class="kc">True</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdTest1"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdTest1">[docs]</a><span class="k">class</span> <span class="nc">_CmdTest1</span><span class="p">(</span><span class="n">AccessableCommand</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"test1"</span></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdTest2"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdTest2">[docs]</a><span class="k">class</span> <span class="nc">_CmdTest2</span><span class="p">(</span><span class="n">AccessableCommand</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"another command"</span></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdTest3"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdTest3">[docs]</a><span class="k">class</span> <span class="nc">_CmdTest3</span><span class="p">(</span><span class="n">AccessableCommand</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"&the third command"</span></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdTest4"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdTest4">[docs]</a><span class="k">class</span> <span class="nc">_CmdTest4</span><span class="p">(</span><span class="n">AccessableCommand</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"test2"</span></div>
|
|
|
|
|
|
<div class="viewcode-block" id="_CmdSetTest"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetTest">[docs]</a><span class="k">class</span> <span class="nc">_CmdSetTest</span><span class="p">(</span><span class="n">CmdSet</span><span class="p">):</span>
|
|
<span class="n">key</span> <span class="o">=</span> <span class="s2">"test_cmdset"</span>
|
|
|
|
<div class="viewcode-block" id="_CmdSetTest.at_cmdset_creation"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests._CmdSetTest.at_cmdset_creation">[docs]</a> <span class="k">def</span> <span class="nf">at_cmdset_creation</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdTest1</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdTest2</span><span class="p">)</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">_CmdTest3</span><span class="p">)</span></div></div>
|
|
|
|
|
|
<div class="viewcode-block" id="TestCmdParser"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdParser">[docs]</a><span class="k">class</span> <span class="nc">TestCmdParser</span><span class="p">(</span><span class="n">TestCase</span><span class="p">):</span>
|
|
<div class="viewcode-block" id="TestCmdParser.test_create_match"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdParser.test_create_match">[docs]</a> <span class="k">def</span> <span class="nf">test_create_match</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="k">class</span> <span class="nc">DummyCmd</span><span class="p">:</span>
|
|
<span class="k">pass</span>
|
|
|
|
<span class="n">dummy</span> <span class="o">=</span> <span class="n">DummyCmd</span><span class="p">()</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
|
|
<span class="n">cmdparser</span><span class="o">.</span><span class="n">create_match</span><span class="p">(</span><span class="s2">"look at"</span><span class="p">,</span> <span class="s2">"look at target"</span><span class="p">,</span> <span class="n">dummy</span><span class="p">,</span> <span class="s2">"look"</span><span class="p">),</span>
|
|
<span class="p">(</span><span class="s2">"look at"</span><span class="p">,</span> <span class="s2">" target"</span><span class="p">,</span> <span class="n">dummy</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">,</span> <span class="s2">"look"</span><span class="p">),</span>
|
|
<span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdParser.test_build_matches"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdParser.test_build_matches">[docs]</a> <span class="nd">@override_settings</span><span class="p">(</span><span class="n">CMD_IGNORE_PREFIXES</span><span class="o">=</span><span class="s2">"@&/+"</span><span class="p">)</span>
|
|
<span class="k">def</span> <span class="nf">test_build_matches</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">a_cmdset</span> <span class="o">=</span> <span class="n">_CmdSetTest</span><span class="p">()</span>
|
|
<span class="n">bcmd</span> <span class="o">=</span> <span class="p">[</span><span class="n">cmd</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">a_cmdset</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s2">"test1"</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
|
|
|
|
<span class="c1"># normal parsing</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
|
|
<span class="n">cmdparser</span><span class="o">.</span><span class="n">build_matches</span><span class="p">(</span><span class="s2">"test1 rock"</span><span class="p">,</span> <span class="n">a_cmdset</span><span class="p">,</span> <span class="n">include_prefixes</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
|
|
<span class="p">[(</span><span class="s2">"test1"</span><span class="p">,</span> <span class="s2">" rock"</span><span class="p">,</span> <span class="n">bcmd</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">,</span> <span class="s2">"test1"</span><span class="p">)],</span>
|
|
<span class="p">)</span>
|
|
|
|
<span class="c1"># test prefix exclusion</span>
|
|
<span class="n">bcmd</span> <span class="o">=</span> <span class="p">[</span><span class="n">cmd</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">a_cmdset</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s2">"another command"</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
|
|
<span class="n">cmdparser</span><span class="o">.</span><span class="n">build_matches</span><span class="p">(</span>
|
|
<span class="s2">"@another command smiles to me "</span><span class="p">,</span> <span class="n">a_cmdset</span><span class="p">,</span> <span class="n">include_prefixes</span><span class="o">=</span><span class="kc">False</span>
|
|
<span class="p">),</span>
|
|
<span class="p">[(</span><span class="s2">"another command"</span><span class="p">,</span> <span class="s2">" smiles to me "</span><span class="p">,</span> <span class="n">bcmd</span><span class="p">,</span> <span class="mi">15</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">,</span> <span class="s2">"another command"</span><span class="p">)],</span>
|
|
<span class="p">)</span>
|
|
<span class="c1"># test prefix exclusion on the cmd class</span>
|
|
<span class="n">bcmd</span> <span class="o">=</span> <span class="p">[</span><span class="n">cmd</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">a_cmdset</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s2">"&the third command"</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
|
|
<span class="n">cmdparser</span><span class="o">.</span><span class="n">build_matches</span><span class="p">(</span><span class="s2">"the third command"</span><span class="p">,</span> <span class="n">a_cmdset</span><span class="p">,</span> <span class="n">include_prefixes</span><span class="o">=</span><span class="kc">False</span><span class="p">),</span>
|
|
<span class="p">[(</span><span class="s2">"the third command"</span><span class="p">,</span> <span class="s2">""</span><span class="p">,</span> <span class="n">bcmd</span><span class="p">,</span> <span class="mi">17</span><span class="p">,</span> <span class="mf">1.0</span><span class="p">,</span> <span class="s2">"&the third command"</span><span class="p">)],</span>
|
|
<span class="p">)</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdParser.test_num_prefixes"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdParser.test_num_prefixes">[docs]</a> <span class="nd">@override_settings</span><span class="p">(</span><span class="n">SEARCH_MULTIMATCH_REGEX</span><span class="o">=</span><span class="sa">r</span><span class="s2">"(?P<number>[0-9]+)-(?P<name>.*)"</span><span class="p">)</span>
|
|
<span class="k">def</span> <span class="nf">test_num_prefixes</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdparser</span><span class="o">.</span><span class="n">try_num_prefixes</span><span class="p">(</span><span class="s2">"look me"</span><span class="p">),</span> <span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdparser</span><span class="o">.</span><span class="n">try_num_prefixes</span><span class="p">(</span><span class="s2">"3-look me"</span><span class="p">),</span> <span class="p">(</span><span class="s2">"3"</span><span class="p">,</span> <span class="s2">"look me"</span><span class="p">))</span>
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">cmdparser</span><span class="o">.</span><span class="n">try_num_prefixes</span><span class="p">(</span><span class="s2">"567-look me"</span><span class="p">),</span> <span class="p">(</span><span class="s2">"567"</span><span class="p">,</span> <span class="s2">"look me"</span><span class="p">))</span></div>
|
|
|
|
<div class="viewcode-block" id="TestCmdParser.test_cmdparser"><a class="viewcode-back" href="../../../api/evennia.commands.html#evennia.commands.tests.TestCmdParser.test_cmdparser">[docs]</a> <span class="nd">@override_settings</span><span class="p">(</span>
|
|
<span class="n">SEARCH_MULTIMATCH_REGEX</span><span class="o">=</span><span class="sa">r</span><span class="s2">"(?P<number>[0-9]+)-(?P<name>.*)"</span><span class="p">,</span> <span class="n">CMD_IGNORE_PREFIXES</span><span class="o">=</span><span class="s2">"@&/+"</span>
|
|
<span class="p">)</span>
|
|
<span class="k">def</span> <span class="nf">test_cmdparser</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
<span class="n">a_cmdset</span> <span class="o">=</span> <span class="n">_CmdSetTest</span><span class="p">()</span>
|
|
<span class="n">bcmd</span> <span class="o">=</span> <span class="p">[</span><span class="n">cmd</span> <span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">a_cmdset</span><span class="o">.</span><span class="n">commands</span> <span class="k">if</span> <span class="n">cmd</span><span class="o">.</span><span class="n">key</span> <span class="o">==</span> <span class="s2">"test1"</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
|
|
|
|
<span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span>
|
|
<span class="n">cmdparser</span><span class="o">.</span><span class="n">cmdparser</span><span class="p">(</span><span class="s2">"test1hello"</span><span class="p">,</span> <span class="n">a_cmdset</span><span class="p">,</span> <span class="kc">None</span><span class="p">),</span>
|
|
<span class="p">[(</span><span class="s2">"test1"</span><span class="p">,</span> <span class="s2">"hello"</span><span class="p">,</span> <span class="n">bcmd</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">,</span> <span class="s2">"test1"</span><span class="p">)],</span>
|
|
<span class="p">)</span></div></div>
|
|
</pre></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
<div class="sphinxsidebarwrapper">
|
|
<div id="searchbox" style="display: none" role="search">
|
|
<h3 id="searchlabel">Quick search</h3>
|
|
<div class="searchformwrapper">
|
|
<form class="search" action="../../../search.html" method="get">
|
|
<input type="text" name="q" aria-labelledby="searchlabel" />
|
|
<input type="submit" value="Go" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<script>$('#searchbox').show(0);</script><div class="relations">
|
|
<h3>Related Topics</h3>
|
|
<ul>
|
|
<li><a href="../../../index.html">Documentation overview</a><ul>
|
|
<li><a href="../../index.html">Module code</a><ul>
|
|
<li><a href="../../evennia.html">evennia</a><ul>
|
|
</ul></li>
|
|
</ul></li>
|
|
</ul></li>
|
|
</ul>
|
|
</div>
|
|
<h3>Versions</h3>
|
|
<ul>
|
|
<li><a href="tests.html">1.0-dev (develop branch)</a></li>
|
|
<li><a href="../../../../../versions/0.9.1/index.html">0.9.1 (master branch)</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="footer">
|
|
©2020, The Evennia developer community.
|
|
|
|
|
|
|
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.4.4</a>
|
|
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |