mermaid
Version:
Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.
296 lines (234 loc) • 47 kB
HTML
<html>
<head>
<title>matchersUtilSpec.js</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" media="all" href="../../../../../doc-style.css" />
<script src="../../../../../doc-filelist.js"></script>
<script>
var relativeDir = "../../../../../", thisFile = "Users/knut/Documents/source/mermaid/bower_components/jasmine/spec/core/matchers/matchersUtilSpec.js", defaultSidebar = true;
</script>
<script src="../../../../../doc-script.js"></script>
<script src="../../../../../mermaid.js"></script>
<link rel="stylesheet" href="../../../../../mermaid.css" />
</head>
<body>
<div id="sidebar_wrapper">
<div id="sidebar_switch">
<span class="tree">Files</span>
<span class="headings">Headings</span>
</div>
<div id="tree"></div>
<div id="headings">
<div class="heading h1">
<a href="#matchersUtilSpec.js">matchersUtilSpec.js</a>
</div>
</div>
</div>
<div id="sidebar-toggle"></div>
<div id="container"><div class="background highlight"></div>
<table cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="docs">
<div class="pilwrap" id="matchersUtilSpec.js">
<h1>
<a href="#matchersUtilSpec.js" name="matchersUtilSpec.js" class="pilcrow">¶</a>matchersUtilSpec.js
</h1>
</div>
</td>
<td class="code highlight"></td>
</tr>
<tr>
<td class="docs">
<div class="pilwrap">
<a class="pilcrow" href="#section-1" id="section-1">¶</a>
</div>
</td>
<td class="code highlight"><div class="highlight"><pre><span class="nx">describe</span><span class="p">(</span><span class="s2">"matchersUtil"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">describe</span><span class="p">(</span><span class="s2">"equals"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for literals that are triple-equal"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span> <span class="kc">null</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="k">void</span> <span class="mi">0</span><span class="p">,</span> <span class="k">void</span> <span class="mi">0</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for things that are not equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">({</span><span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span><span class="p">},</span> <span class="mi">1</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for Strings that are equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">,</span> <span class="s2">"foo"</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for Strings that are not equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">,</span> <span class="s2">"bar"</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for Numbers that are equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="mi">123</span><span class="p">,</span> <span class="mi">123</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for Numbers that are not equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="mi">123</span><span class="p">,</span> <span class="mi">456</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for Dates that are equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="k">new</span> <span class="nb">Date</span><span class="p">(</span><span class="s2">"Jan 1, 1970"</span><span class="p">),</span> <span class="k">new</span> <span class="nb">Date</span><span class="p">(</span><span class="s2">"Jan 1, 1970"</span><span class="p">))).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for Dates that are not equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="k">new</span> <span class="nb">Date</span><span class="p">(</span><span class="s2">"Jan 1, 1970"</span><span class="p">),</span> <span class="k">new</span> <span class="nb">Date</span><span class="p">(</span><span class="s2">"Feb 3, 1991"</span><span class="p">))).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for Booleans that are equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="kc">true</span><span class="p">,</span> <span class="kc">true</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for Booleans that are not equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="kc">true</span><span class="p">,</span> <span class="kc">false</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for RegExps that are equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="sr">/foo/</span><span class="p">,</span> <span class="sr">/foo/</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for RegExps that are not equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="sr">/foo/</span><span class="p">,</span> <span class="sr">/bar/</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="k">new</span> <span class="nb">RegExp</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">,</span> <span class="s2">"i"</span><span class="p">),</span> <span class="k">new</span> <span class="nb">RegExp</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">))).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for Arrays that are equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">])).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for Arrays that are not equivalent"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">])).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for Errors that are the same type and have the same message"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">),</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">))).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for Errors that are the same type and have different messages"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s2">"foo"</span><span class="p">),</span> <span class="k">new</span> <span class="nb">Error</span><span class="p">(</span><span class="s2">"bar"</span><span class="p">))).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for Objects that are equivalent (simple case)"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">({</span><span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span><span class="p">},</span> <span class="p">{</span><span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span><span class="p">})).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for Objects that are not equivalent (simple case)"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">({</span><span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span><span class="p">},</span> <span class="p">{</span><span class="nx">a</span><span class="o">:</span> <span class="s2">"bar"</span><span class="p">})).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for Objects that are equivalent (deep case)"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">({</span><span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span><span class="p">,</span> <span class="nx">b</span><span class="o">:</span> <span class="p">{</span> <span class="nx">c</span><span class="o">:</span> <span class="s2">"bar"</span><span class="p">}},</span> <span class="p">{</span><span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span><span class="p">,</span> <span class="nx">b</span><span class="o">:</span> <span class="p">{</span> <span class="nx">c</span><span class="o">:</span> <span class="s2">"bar"</span><span class="p">}})).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for Objects that are not equivalent (deep case)"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">({</span><span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span><span class="p">,</span> <span class="nx">b</span><span class="o">:</span> <span class="p">{</span> <span class="nx">c</span><span class="o">:</span> <span class="s2">"baz"</span><span class="p">}},</span> <span class="p">{</span><span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span><span class="p">,</span> <span class="nx">b</span><span class="o">:</span> <span class="p">{</span> <span class="nx">c</span><span class="o">:</span> <span class="s2">"bar"</span><span class="p">}})).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for Objects that are equivalent (with cycles)"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">actual</span> <span class="o">=</span> <span class="p">{</span> <span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span> <span class="p">},</span>
<span class="nx">expected</span> <span class="o">=</span> <span class="p">{</span> <span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span> <span class="p">};</span>
<span class="nx">actual</span><span class="p">.</span><span class="nx">b</span> <span class="o">=</span> <span class="nx">actual</span><span class="p">;</span>
<span class="nx">expected</span><span class="p">.</span><span class="nx">b</span> <span class="o">=</span> <span class="nx">actual</span><span class="p">;</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">actual</span><span class="p">,</span> <span class="nx">expected</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for Objects that are not equivalent (with cycles)"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">actual</span> <span class="o">=</span> <span class="p">{</span> <span class="nx">a</span><span class="o">:</span> <span class="s2">"foo"</span> <span class="p">},</span>
<span class="nx">expected</span> <span class="o">=</span> <span class="p">{</span> <span class="nx">a</span><span class="o">:</span> <span class="s2">"bar"</span> <span class="p">};</span>
<span class="nx">actual</span><span class="p">.</span><span class="nx">b</span> <span class="o">=</span> <span class="nx">actual</span><span class="p">;</span>
<span class="nx">expected</span><span class="p">.</span><span class="nx">b</span> <span class="o">=</span> <span class="nx">actual</span><span class="p">;</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">actual</span><span class="p">,</span> <span class="nx">expected</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails when comparing an empty object to an empty array (issue #114)"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">emptyObject</span> <span class="o">=</span> <span class="p">{},</span>
<span class="nx">emptyArray</span> <span class="o">=</span> <span class="p">[];</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">emptyObject</span><span class="p">,</span> <span class="nx">emptyArray</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">emptyArray</span><span class="p">,</span> <span class="nx">emptyObject</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for equivalent frozen objects (GitHub issue #266)"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">jasmine</span><span class="p">.</span><span class="nx">getEnv</span><span class="p">().</span><span class="nx">ieVersion</span> <span class="o"><</span> <span class="mi">9</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span>
<span class="kd">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="p">{</span> <span class="nx">foo</span><span class="o">:</span> <span class="mi">1</span> <span class="p">},</span>
<span class="nx">b</span> <span class="o">=</span> <span class="p">{</span><span class="nx">foo</span><span class="o">:</span> <span class="mi">1</span> <span class="p">};</span>
<span class="nb">Object</span><span class="p">.</span><span class="nx">freeze</span><span class="p">(</span><span class="nx">a</span><span class="p">);</span>
<span class="nb">Object</span><span class="p">.</span><span class="nx">freeze</span><span class="p">(</span><span class="nx">b</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span><span class="nx">b</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes when Any is used"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">number</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
<span class="nx">anyNumber</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Any</span><span class="p">(</span><span class="nb">Number</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">number</span><span class="p">,</span> <span class="nx">anyNumber</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">anyNumber</span><span class="p">,</span> <span class="nx">number</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails when Any is compared to something unexpected"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">number</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span>
<span class="nx">anyString</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Any</span><span class="p">(</span><span class="nb">String</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">number</span><span class="p">,</span> <span class="nx">anyString</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">anyString</span><span class="p">,</span> <span class="nx">number</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes when ObjectContaining is used"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">obj</span> <span class="o">=</span> <span class="p">{</span>
<span class="nx">foo</span><span class="o">:</span> <span class="mi">3</span><span class="p">,</span>
<span class="nx">bar</span><span class="o">:</span> <span class="mi">7</span>
<span class="p">};</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="nx">obj</span><span class="p">,</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">ObjectContaining</span><span class="p">({</span><span class="nx">foo</span><span class="o">:</span> <span class="mi">3</span><span class="p">}))).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes when a custom equality matcher returns true"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">tester</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span> <span class="nx">b</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="kc">true</span><span class="p">;</span> <span class="p">};</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="nx">tester</span><span class="p">])).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for two empty Objects"</span><span class="p">,</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">({},</span> <span class="p">{})).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">describe</span><span class="p">(</span><span class="s2">"when a custom equality matcher is installed that returns 'undefined'"</span><span class="p">,</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">tester</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span> <span class="nx">b</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">jasmine</span><span class="p">.</span><span class="kc">undefined</span><span class="p">;</span> <span class="p">};</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes for two empty Objects"</span><span class="p">,</span> <span class="kd">function</span> <span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">({},</span> <span class="p">{},</span> <span class="p">[</span><span class="nx">tester</span><span class="p">])).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails for equivalents when a custom equality matcher returns false"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">tester</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span> <span class="nx">b</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="kc">false</span><span class="p">;</span> <span class="p">};</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">equals</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="p">[</span><span class="nx">tester</span><span class="p">])).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="p">});</span>
<span class="nx">describe</span><span class="p">(</span><span class="s2">"contains"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes when expected is a substring of actual"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">contains</span><span class="p">(</span><span class="s2">"ABC"</span><span class="p">,</span> <span class="s2">"B"</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails when expected is a not substring of actual"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">contains</span><span class="p">(</span><span class="s2">"ABC"</span><span class="p">,</span> <span class="s2">"X"</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes when expected is an element in an actual array"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">contains</span><span class="p">([</span><span class="s1">'foo'</span><span class="p">,</span> <span class="s1">'bar'</span><span class="p">],</span> <span class="s1">'foo'</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails when expected is not an element in an actual array"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">contains</span><span class="p">([</span><span class="s1">'foo'</span><span class="p">,</span> <span class="s1">'bar'</span><span class="p">],</span> <span class="s1">'baz'</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"passes with mixed-element arrays"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">contains</span><span class="p">([</span><span class="s2">"foo"</span><span class="p">,</span> <span class="p">{</span><span class="nx">some</span><span class="o">:</span> <span class="s2">"bar"</span><span class="p">}],</span> <span class="s2">"foo"</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">contains</span><span class="p">([</span><span class="s2">"foo"</span><span class="p">,</span> <span class="p">{</span><span class="nx">some</span><span class="o">:</span> <span class="s2">"bar"</span><span class="p">}],</span> <span class="p">{</span><span class="nx">some</span><span class="o">:</span> <span class="s2">"bar"</span><span class="p">})).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"uses custom equality testers if passed in and actual is an Array"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">customTester</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">a</span><span class="p">,</span> <span class="nx">b</span><span class="p">)</span> <span class="p">{</span><span class="k">return</span> <span class="kc">true</span><span class="p">;};</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">contains</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">],</span> <span class="mi">2</span><span class="p">,</span> <span class="p">[</span><span class="nx">customTester</span><span class="p">])).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">true</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails when actual is undefined"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">contains</span><span class="p">(</span><span class="kc">undefined</span><span class="p">,</span> <span class="s1">'A'</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"fails when actual is null"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">contains</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span> <span class="s1">'A'</span><span class="p">)).</span><span class="nx">toBe</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span>
<span class="p">});</span>
<span class="p">});</span>
<span class="nx">describe</span><span class="p">(</span><span class="s2">"buildMessage"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"builds an English sentence for a failure case"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">actual</span> <span class="o">=</span> <span class="s2">"foo"</span><span class="p">,</span>
<span class="nx">name</span> <span class="o">=</span> <span class="s2">"toBar"</span><span class="p">,</span>
<span class="nx">message</span> <span class="o">=</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">buildFailureMessage</span><span class="p">(</span><span class="nx">name</span><span class="p">,</span> <span class="kc">false</span><span class="p">,</span> <span class="nx">actual</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">message</span><span class="p">).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">"Expected 'foo' to bar."</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"builds an English sentence for a 'not' failure case"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">actual</span> <span class="o">=</span> <span class="s2">"foo"</span><span class="p">,</span>
<span class="nx">name</span> <span class="o">=</span> <span class="s2">"toBar"</span><span class="p">,</span>
<span class="nx">isNot</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span>
<span class="nx">message</span> <span class="o">=</span> <span class="nx">message</span> <span class="o">=</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">buildFailureMessage</span><span class="p">(</span><span class="nx">name</span><span class="p">,</span> <span class="nx">isNot</span><span class="p">,</span> <span class="nx">actual</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">message</span><span class="p">).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">"Expected 'foo' not to bar."</span><span class="p">);</span>
<span class="p">});</span>
<span class="nx">it</span><span class="p">(</span><span class="s2">"builds an English sentence for an arbitrary array of expected arguments"</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">actual</span> <span class="o">=</span> <span class="s2">"foo"</span><span class="p">,</span>
<span class="nx">name</span> <span class="o">=</span> <span class="s2">"toBar"</span><span class="p">,</span>
<span class="nx">message</span> <span class="o">=</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">matchersUtil</span><span class="p">.</span><span class="nx">buildFailureMessage</span><span class="p">(</span><span class="nx">name</span><span class="p">,</span> <span class="kc">false</span><span class="p">,</span> <span class="nx">actual</span><span class="p">,</span> <span class="s2">"quux"</span><span class="p">,</span> <span class="s2">"corge"</span><span class="p">);</span>
<span class="nx">expect</span><span class="p">(</span><span class="nx">message</span><span class="p">).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">"Expected 'foo' to bar 'quux', 'corge'."</span><span class="p">);</span>
<span class="p">});</span>
<span class="p">});</span>
<span class="p">});</span>
</pre></div>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>