UNPKG

mermaid

Version:

Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.

335 lines (290 loc) 110 kB
<!DOCTYPE html> <html> <head> <title>HtmlReporterSpec.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/html/HtmlReporterSpec.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="#HtmlReporterSpec.js">HtmlReporterSpec.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="HtmlReporterSpec.js"> <h1> <a href="#HtmlReporterSpec.js" name="HtmlReporterSpec.js" class="pilcrow">&#182;</a>HtmlReporterSpec.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">&#182;</a> </div> </td> <td class="code highlight"><div class="highlight"><pre><span class="nx">describe</span><span class="p">(</span><span class="s2">&quot;New HtmlReporter&quot;</span><span class="p">,</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> </pre></div> </td> </tr> <tr> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-2" id="section-2">&#182;</a> </div> <p>TODO: Figure out why this isn&#39;t rendering...</p> </td> <td class="code highlight"><div class="highlight"><pre> <span class="nx">it</span><span class="p">(</span><span class="s2">&quot;builds the initial DOM elements, including the title banner&quot;</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">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">container</span><span class="p">;</span> <span class="p">},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">createTextNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> </pre></div> </td> </tr> <tr> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-3" id="section-3">&#182;</a> </div> <p>Main top-level elements</p> </td> <td class="code highlight"><div class="highlight"><pre> <span class="nx">expect</span><span class="p">(</span><span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;div.jasmine_html-reporter&quot;</span><span class="p">)).</span><span class="nx">toBeTruthy</span><span class="p">();</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;div.banner&quot;</span><span class="p">)).</span><span class="nx">toBeTruthy</span><span class="p">();</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;div.alert&quot;</span><span class="p">)).</span><span class="nx">toBeTruthy</span><span class="p">();</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;div.results&quot;</span><span class="p">)).</span><span class="nx">toBeTruthy</span><span class="p">();</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;ul.symbol-summary&quot;</span><span class="p">)).</span><span class="nx">toBeTruthy</span><span class="p">();</span> </pre></div> </td> </tr> <tr> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-4" id="section-4">&#182;</a> </div> <p>title banner</p> </td> <td class="code highlight"><div class="highlight"><pre> <span class="kd">var</span> <span class="nx">banner</span> <span class="o">=</span> <span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;.banner&quot;</span><span class="p">);</span> <span class="kd">var</span> <span class="nx">title</span> <span class="o">=</span> <span class="nx">banner</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;a.title&quot;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">title</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s1">&#39;href&#39;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s1">&#39;http://jasmine.github.io/&#39;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">title</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s1">&#39;target&#39;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s1">&#39;_blank&#39;</span><span class="p">);</span> <span class="kd">var</span> <span class="nx">version</span> <span class="o">=</span> <span class="nx">banner</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;.version&quot;</span><span class="p">),</span> <span class="nx">versionText</span> <span class="o">=</span> <span class="s1">&#39;textContent&#39;</span> <span class="k">in</span> <span class="nx">version</span> <span class="o">?</span> <span class="nx">version</span><span class="p">.</span><span class="nx">textContent</span> <span class="o">:</span> <span class="nx">version</span><span class="p">.</span><span class="nx">innerText</span><span class="p">;</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">versionText</span><span class="p">).</span><span class="nx">toEqual</span><span class="p">(</span><span class="nx">j$</span><span class="p">.</span><span class="nx">version</span><span class="p">);</span> <span class="p">});</span> <span class="nx">it</span><span class="p">(</span><span class="s2">&quot;builds a single reporter even if initialized multiple times&quot;</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">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">container</span><span class="p">;</span> <span class="p">},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">createTextNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">container</span><span class="p">.</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="s2">&quot;div.jasmine_html-reporter&quot;</span><span class="p">).</span><span class="nx">length</span><span class="p">).</span><span class="nx">toEqual</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span> <span class="p">});</span> <span class="nx">it</span><span class="p">(</span><span class="s2">&quot;starts the timer when jasmine begins&quot;</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">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">jasmine</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">startTimerSpy</span> <span class="o">=</span> <span class="nx">jasmine</span><span class="p">.</span><span class="nx">createSpy</span><span class="p">(</span><span class="s2">&quot;start-timer-spy&quot;</span><span class="p">),</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">timer</span><span class="o">:</span> <span class="p">{</span> <span class="nx">start</span><span class="o">:</span> <span class="nx">startTimerSpy</span> <span class="p">}</span> <span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">jasmineStarted</span><span class="p">({});</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">startTimerSpy</span><span class="p">).</span><span class="nx">toHaveBeenCalled</span><span class="p">();</span> <span class="p">});</span> <span class="nx">describe</span><span class="p">(</span><span class="s2">&quot;when a spec is done&quot;</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">&quot;logs errors to the console and prints a special symbol if it is an empty spec&quot;</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="o">!</span><span class="nb">window</span><span class="p">.</span><span class="nx">console</span><span class="p">)</span> <span class="p">{</span> <span class="nb">window</span><span class="p">.</span><span class="nx">console</span> <span class="o">=</span> <span class="p">{</span> <span class="nx">error</span><span class="o">:</span> <span class="kd">function</span><span class="p">(){}</span> <span class="p">};</span> <span class="p">}</span> <span class="kd">var</span> <span class="nx">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span><span class="k">return</span> <span class="nx">container</span><span class="p">;},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">createTextNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="nx">spyOn</span><span class="p">(</span><span class="nx">console</span><span class="p">,</span> <span class="s1">&#39;error&#39;</span><span class="p">);</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">specDone</span><span class="p">({</span> <span class="nx">status</span><span class="o">:</span> <span class="s2">&quot;passed&quot;</span><span class="p">,</span> <span class="nx">fullName</span><span class="o">:</span> <span class="s1">&#39;Some Name&#39;</span><span class="p">,</span> <span class="nx">passedExpectations</span><span class="o">:</span> <span class="p">[],</span> <span class="nx">failedExpectations</span><span class="o">:</span> <span class="p">[]</span> <span class="p">});</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">).</span><span class="nx">toHaveBeenCalledWith</span><span class="p">(</span><span class="s2">&quot;Spec \&#39;Some Name\&#39; has no expectations.&quot;</span><span class="p">);</span> <span class="kd">var</span> <span class="nx">specEl</span> <span class="o">=</span> <span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s1">&#39;.symbol-summary li&#39;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;class&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;empty&quot;</span><span class="p">);</span> <span class="p">});</span> <span class="nx">it</span><span class="p">(</span><span class="s2">&quot;reports the status symbol of a disabled spec&quot;</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">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">container</span><span class="p">;</span> <span class="p">},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">createTextNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">specDone</span><span class="p">({</span><span class="nx">id</span><span class="o">:</span> <span class="mi">789</span><span class="p">,</span> <span class="nx">status</span><span class="o">:</span> <span class="s2">&quot;disabled&quot;</span><span class="p">,</span> <span class="nx">fullName</span><span class="o">:</span> <span class="s2">&quot;symbols should have titles&quot;</span><span class="p">,</span> <span class="nx">passedExpectations</span><span class="o">:</span> <span class="p">[],</span> <span class="nx">failedExpectations</span><span class="o">:</span> <span class="p">[]});</span> <span class="kd">var</span> <span class="nx">specEl</span> <span class="o">=</span> <span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s1">&#39;.symbol-summary li&#39;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;class&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;disabled&quot;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;id&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;spec_789&quot;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;title&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;symbols should have titles&quot;</span><span class="p">);</span> <span class="p">});</span> <span class="nx">it</span><span class="p">(</span><span class="s2">&quot;reports the status symbol of a pending spec&quot;</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">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">container</span><span class="p">;</span> <span class="p">},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">createTextNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">specDone</span><span class="p">({</span><span class="nx">id</span><span class="o">:</span> <span class="mi">789</span><span class="p">,</span> <span class="nx">status</span><span class="o">:</span> <span class="s2">&quot;pending&quot;</span><span class="p">,</span> <span class="nx">passedExpectations</span><span class="o">:</span> <span class="p">[],</span> <span class="nx">failedExpectations</span><span class="o">:</span> <span class="p">[]});</span> <span class="kd">var</span> <span class="nx">specEl</span> <span class="o">=</span> <span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s1">&#39;.symbol-summary li&#39;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;class&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;pending&quot;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;id&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;spec_789&quot;</span><span class="p">);</span> <span class="p">});</span> <span class="nx">it</span><span class="p">(</span><span class="s2">&quot;reports the status symbol of a passing spec&quot;</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">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">container</span><span class="p">;</span> <span class="p">},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">createTextNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">specDone</span><span class="p">({</span><span class="nx">id</span><span class="o">:</span> <span class="mi">123</span><span class="p">,</span> <span class="nx">status</span><span class="o">:</span> <span class="s2">&quot;passed&quot;</span><span class="p">,</span> <span class="nx">passedExpectations</span><span class="o">:</span> <span class="p">[{</span><span class="nx">passed</span><span class="o">:</span> <span class="kc">true</span><span class="p">}],</span> <span class="nx">failedExpectations</span><span class="o">:</span> <span class="p">[]});</span> <span class="kd">var</span> <span class="nx">statuses</span> <span class="o">=</span> <span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;.symbol-summary&quot;</span><span class="p">);</span> <span class="kd">var</span> <span class="nx">specEl</span> <span class="o">=</span> <span class="nx">statuses</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;li&quot;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;class&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;passed&quot;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;id&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;spec_123&quot;</span><span class="p">);</span> <span class="p">});</span> <span class="nx">it</span><span class="p">(</span><span class="s2">&quot;reports the status symbol of a failing spec&quot;</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">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">container</span><span class="p">;</span> <span class="p">},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">createTextNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">specDone</span><span class="p">({</span> <span class="nx">id</span><span class="o">:</span> <span class="mi">345</span><span class="p">,</span> <span class="nx">status</span><span class="o">:</span> <span class="s2">&quot;failed&quot;</span><span class="p">,</span> <span class="nx">failedExpectations</span><span class="o">:</span> <span class="p">[],</span> <span class="nx">passedExpectations</span><span class="o">:</span> <span class="p">[]</span> <span class="p">});</span> <span class="kd">var</span> <span class="nx">specEl</span> <span class="o">=</span> <span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;.symbol-summary li&quot;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;class&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;failed&quot;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specEl</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;id&quot;</span><span class="p">)).</span><span class="nx">toEqual</span><span class="p">(</span><span class="s2">&quot;spec_345&quot;</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">&quot;when Jasmine is done&quot;</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">&quot;adds EMPTY to the link title of specs that have no expectations&quot;</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="o">!</span><span class="nb">window</span><span class="p">.</span><span class="nx">console</span><span class="p">)</span> <span class="p">{</span> <span class="nb">window</span><span class="p">.</span><span class="nx">console</span> <span class="o">=</span> <span class="p">{</span> <span class="nx">error</span><span class="o">:</span> <span class="kd">function</span><span class="p">(){}</span> <span class="p">};</span> <span class="p">}</span> <span class="kd">var</span> <span class="nx">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span><span class="k">return</span> <span class="nx">container</span><span class="p">;},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">createTextNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">}</span> <span class="p">});</span> <span class="nx">spyOn</span><span class="p">(</span><span class="nx">console</span><span class="p">,</span> <span class="s1">&#39;error&#39;</span><span class="p">);</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">jasmineStarted</span><span class="p">({});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">suiteStarted</span><span class="p">({</span><span class="nx">id</span><span class="o">:</span> <span class="mi">1</span><span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">specStarted</span><span class="p">({</span><span class="nx">id</span><span class="o">:</span> <span class="mi">1</span><span class="p">,</span> <span class="nx">status</span><span class="o">:</span> <span class="s1">&#39;passed&#39;</span><span class="p">,</span> <span class="nx">passedExpectations</span><span class="o">:</span> <span class="p">[],</span> <span class="nx">failedExpectations</span><span class="o">:</span> <span class="p">[]});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">specDone</span><span class="p">({</span> <span class="nx">id</span><span class="o">:</span> <span class="mi">1</span><span class="p">,</span> <span class="nx">status</span><span class="o">:</span> <span class="s1">&#39;passed&#39;</span><span class="p">,</span> <span class="nx">description</span><span class="o">:</span> <span class="s1">&#39;Spec Description&#39;</span><span class="p">,</span> <span class="nx">passedExpectations</span><span class="o">:</span> <span class="p">[],</span> <span class="nx">failedExpectations</span><span class="o">:</span> <span class="p">[]</span> <span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">suiteDone</span><span class="p">({</span><span class="nx">id</span><span class="o">:</span> <span class="mi">1</span><span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">jasmineDone</span><span class="p">({});</span> <span class="kd">var</span> <span class="nx">summary</span> <span class="o">=</span> <span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s1">&#39;.summary&#39;</span><span class="p">);</span> <span class="kd">var</span> <span class="nx">suite</span> <span class="o">=</span> <span class="nx">summary</span><span class="p">.</span><span class="nx">childNodes</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="kd">var</span> <span class="nx">specs</span> <span class="o">=</span> <span class="nx">suite</span><span class="p">.</span><span class="nx">childNodes</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span> <span class="kd">var</span> <span class="nx">spec</span> <span class="o">=</span> <span class="nx">specs</span><span class="p">.</span><span class="nx">childNodes</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="kd">var</span> <span class="nx">specLink</span> <span class="o">=</span> <span class="nx">spec</span><span class="p">.</span><span class="nx">childNodes</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">specLink</span><span class="p">.</span><span class="nx">innerHTML</span><span class="p">).</span><span class="nx">toMatch</span><span class="p">(</span><span class="sr">/SPEC HAS NO EXPECTATIONS/</span><span class="p">);</span> <span class="p">});</span> <span class="nx">it</span><span class="p">(</span><span class="s2">&quot;reports the run time&quot;</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">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">),</span> <span class="nx">timer</span> <span class="o">=</span> <span class="nx">jasmine</span><span class="p">.</span><span class="nx">createSpyObj</span><span class="p">(</span><span class="s1">&#39;timer&#39;</span><span class="p">,</span> <span class="p">[</span><span class="s1">&#39;start&#39;</span><span class="p">,</span> <span class="s1">&#39;elapsed&#39;</span><span class="p">]),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">container</span><span class="p">;</span> <span class="p">},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">createTextNode</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">.</span><span class="nx">apply</span><span class="p">(</span><span class="nb">document</span><span class="p">,</span> <span class="nx">arguments</span><span class="p">);</span> <span class="p">},</span> <span class="nx">timer</span><span class="o">:</span> <span class="nx">timer</span> <span class="p">});</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">initialize</span><span class="p">();</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">jasmineStarted</span><span class="p">({});</span> <span class="nx">timer</span><span class="p">.</span><span class="nx">elapsed</span><span class="p">.</span><span class="nx">and</span><span class="p">.</span><span class="nx">returnValue</span><span class="p">(</span><span class="mi">100</span><span class="p">);</span> <span class="nx">reporter</span><span class="p">.</span><span class="nx">jasmineDone</span><span class="p">();</span> <span class="kd">var</span> <span class="nx">duration</span> <span class="o">=</span> <span class="nx">container</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;.banner .duration&quot;</span><span class="p">);</span> <span class="nx">expect</span><span class="p">(</span><span class="nx">duration</span><span class="p">.</span><span class="nx">innerHTML</span><span class="p">).</span><span class="nx">toMatch</span><span class="p">(</span><span class="sr">/finished in 0.1s/</span><span class="p">);</span> <span class="p">});</span> <span class="nx">it</span><span class="p">(</span><span class="s2">&quot;reports the suite and spec names with status&quot;</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">env</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">Env</span><span class="p">(),</span> <span class="nx">container</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">),</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">container</span><span class="p">;</span> <span class="p">},</span> <span class="nx">reporter</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">HtmlReporter</span><span class="p">({</span> <span class="nx">env</span><span class="o">:</span> <span class="nx">env</span><span class="p">,</span> <span class="nx">getContainer</span><span class="o">:</span> <span class="nx"