UNPKG

mermaid

Version:

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

349 lines (296 loc) 46.6 kB
<!DOCTYPE html> <html> <head> <title>HtmlReporter.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/src/html/HtmlReporter.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="#HtmlReporter.js">HtmlReporter.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="HtmlReporter.js"> <h1> <a href="#HtmlReporter.js" name="HtmlReporter.js" class="pilcrow">&#182;</a>HtmlReporter.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">jasmineRequire</span><span class="p">.</span><span class="nx">HtmlReporter</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">j$</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">noopTimer</span> <span class="o">=</span> <span class="p">{</span> <span class="nx">start</span><span class="o">:</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{},</span> <span class="nx">elapsed</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="mi">0</span><span class="p">;</span> <span class="p">}</span> <span class="p">};</span> <span class="kd">function</span> <span class="nx">HtmlReporter</span><span class="p">(</span><span class="nx">options</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="nx">options</span><span class="p">.</span><span class="nx">env</span> <span class="o">||</span> <span class="p">{},</span> <span class="nx">getContainer</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">getContainer</span><span class="p">,</span> <span class="nx">createElement</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">createElement</span><span class="p">,</span> <span class="nx">createTextNode</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">createTextNode</span><span class="p">,</span> <span class="nx">onRaiseExceptionsClick</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">onRaiseExceptionsClick</span> <span class="o">||</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{},</span> <span class="nx">timer</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">timer</span> <span class="o">||</span> <span class="nx">noopTimer</span><span class="p">,</span> <span class="nx">results</span> <span class="o">=</span> <span class="p">[],</span> <span class="nx">specsExecuted</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="nx">failureCount</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="nx">pendingSpecCount</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="nx">htmlReporterMain</span><span class="p">,</span> <span class="nx">symbols</span><span class="p">;</span> <span class="k">this</span><span class="p">.</span><span class="nx">initialize</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="nx">clearPrior</span><span class="p">();</span> <span class="nx">htmlReporterMain</span> <span class="o">=</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;jasmine_html-reporter&#39;</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;banner&#39;</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;title&#39;</span><span class="p">,</span> <span class="nx">href</span><span class="o">:</span> <span class="s1">&#39;http://jasmine.github.io/&#39;</span><span class="p">,</span> <span class="nx">target</span><span class="o">:</span> <span class="s1">&#39;_blank&#39;</span><span class="p">}),</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;version&#39;</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">createDom</span><span class="p">(</span><span class="s1">&#39;ul&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;symbol-summary&#39;</span><span class="p">}),</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;alert&#39;</span><span class="p">}),</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;results&#39;</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;failures&#39;</span><span class="p">})</span> <span class="p">)</span> <span class="p">);</span> <span class="nx">getContainer</span><span class="p">().</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">htmlReporterMain</span><span class="p">);</span> <span class="nx">symbols</span> <span class="o">=</span> <span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.symbol-summary&#39;</span><span class="p">);</span> <span class="p">};</span> <span class="kd">var</span> <span class="nx">totalSpecsDefined</span><span class="p">;</span> <span class="k">this</span><span class="p">.</span><span class="nx">jasmineStarted</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">options</span><span class="p">)</span> <span class="p">{</span> <span class="nx">totalSpecsDefined</span> <span class="o">=</span> <span class="nx">options</span><span class="p">.</span><span class="nx">totalSpecsDefined</span> <span class="o">||</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">timer</span><span class="p">.</span><span class="nx">start</span><span class="p">();</span> <span class="p">};</span> <span class="kd">var</span> <span class="nx">summary</span> <span class="o">=</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;summary&#39;</span><span class="p">});</span> <span class="kd">var</span> <span class="nx">topResults</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">j$</span><span class="p">.</span><span class="nx">ResultsNode</span><span class="p">({},</span> <span class="s1">&#39;&#39;</span><span class="p">,</span> <span class="kc">null</span><span class="p">),</span> <span class="nx">currentParent</span> <span class="o">=</span> <span class="nx">topResults</span><span class="p">;</span> <span class="k">this</span><span class="p">.</span><span class="nx">suiteStarted</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="p">{</span> <span class="nx">currentParent</span><span class="p">.</span><span class="nx">addChild</span><span class="p">(</span><span class="nx">result</span><span class="p">,</span> <span class="s1">&#39;suite&#39;</span><span class="p">);</span> <span class="nx">currentParent</span> <span class="o">=</span> <span class="nx">currentParent</span><span class="p">.</span><span class="nx">last</span><span class="p">();</span> <span class="p">};</span> <span class="k">this</span><span class="p">.</span><span class="nx">suiteDone</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="nx">currentParent</span> <span class="o">==</span> <span class="nx">topResults</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span><span class="p">;</span> <span class="p">}</span> <span class="nx">currentParent</span> <span class="o">=</span> <span class="nx">currentParent</span><span class="p">.</span><span class="nx">parent</span><span class="p">;</span> <span class="p">};</span> <span class="k">this</span><span class="p">.</span><span class="nx">specStarted</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="p">{</span> <span class="nx">currentParent</span><span class="p">.</span><span class="nx">addChild</span><span class="p">(</span><span class="nx">result</span><span class="p">,</span> <span class="s1">&#39;spec&#39;</span><span class="p">);</span> <span class="p">};</span> <span class="kd">var</span> <span class="nx">failures</span> <span class="o">=</span> <span class="p">[];</span> <span class="k">this</span><span class="p">.</span><span class="nx">specDone</span> <span class="o">=</span> <span class="kd">function</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="p">{</span> <span class="k">if</span><span class="p">(</span><span class="nx">noExpectations</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="o">&amp;&amp;</span> <span class="nx">console</span> <span class="o">&amp;&amp;</span> <span class="nx">console</span><span class="p">.</span><span class="nx">error</span><span class="p">)</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="s1">&#39;Spec \&#39;&#39;</span> <span class="o">+</span> <span class="nx">result</span><span class="p">.</span><span class="nx">fullName</span> <span class="o">+</span> <span class="s1">&#39;\&#39; has no expectations.&#39;</span><span class="p">);</span> <span class="p">}</span> <span class="k">if</span> <span class="p">(</span><span class="nx">result</span><span class="p">.</span><span class="nx">status</span> <span class="o">!=</span> <span class="s1">&#39;disabled&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="nx">specsExecuted</span><span class="o">++</span><span class="p">;</span> <span class="p">}</span> <span class="nx">symbols</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;li&#39;</span><span class="p">,</span> <span class="p">{</span> <span class="nx">className</span><span class="o">:</span> <span class="nx">noExpectations</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="o">?</span> <span class="s1">&#39;empty&#39;</span> <span class="o">:</span> <span class="nx">result</span><span class="p">.</span><span class="nx">status</span><span class="p">,</span> <span class="nx">id</span><span class="o">:</span> <span class="s1">&#39;spec_&#39;</span> <span class="o">+</span> <span class="nx">result</span><span class="p">.</span><span class="nx">id</span><span class="p">,</span> <span class="nx">title</span><span class="o">:</span> <span class="nx">result</span><span class="p">.</span><span class="nx">fullName</span> <span class="p">}</span> <span class="p">));</span> <span class="k">if</span> <span class="p">(</span><span class="nx">result</span><span class="p">.</span><span class="nx">status</span> <span class="o">==</span> <span class="s1">&#39;failed&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="nx">failureCount</span><span class="o">++</span><span class="p">;</span> <span class="kd">var</span> <span class="nx">failure</span> <span class="o">=</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;spec-detail failed&#39;</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;description&#39;</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">title</span><span class="o">:</span> <span class="nx">result</span><span class="p">.</span><span class="nx">fullName</span><span class="p">,</span> <span class="nx">href</span><span class="o">:</span> <span class="nx">specHref</span><span class="p">(</span><span class="nx">result</span><span class="p">)},</span> <span class="nx">result</span><span class="p">.</span><span class="nx">fullName</span><span class="p">)</span> <span class="p">),</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;messages&#39;</span><span class="p">})</span> <span class="p">);</span> <span class="kd">var</span> <span class="nx">messages</span> <span class="o">=</span> <span class="nx">failure</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="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">result</span><span class="p">.</span><span class="nx">failedExpectations</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">expectation</span> <span class="o">=</span> <span class="nx">result</span><span class="p">.</span><span class="nx">failedExpectations</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span> <span class="nx">messages</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;result-message&#39;</span><span class="p">},</span> <span class="nx">expectation</span><span class="p">.</span><span class="nx">message</span><span class="p">));</span> <span class="nx">messages</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;div&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;stack-trace&#39;</span><span class="p">},</span> <span class="nx">expectation</span><span class="p">.</span><span class="nx">stack</span><span class="p">));</span> <span class="p">}</span> <span class="nx">failures</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">failure</span><span class="p">);</span> <span class="p">}</span> <span class="k">if</span> <span class="p">(</span><span class="nx">result</span><span class="p">.</span><span class="nx">status</span> <span class="o">==</span> <span class="s1">&#39;pending&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="nx">pendingSpecCount</span><span class="o">++</span><span class="p">;</span> <span class="p">}</span> <span class="p">};</span> <span class="k">this</span><span class="p">.</span><span class="nx">jasmineDone</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">banner</span> <span class="o">=</span> <span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.banner&#39;</span><span class="p">);</span> <span class="nx">banner</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;duration&#39;</span><span class="p">},</span> <span class="s1">&#39;finished in &#39;</span> <span class="o">+</span> <span class="nx">timer</span><span class="p">.</span><span class="nx">elapsed</span><span class="p">()</span> <span class="o">/</span> <span class="mi">1000</span> <span class="o">+</span> <span class="s1">&#39;s&#39;</span><span class="p">));</span> <span class="kd">var</span> <span class="nx">alert</span> <span class="o">=</span> <span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.alert&#39;</span><span class="p">);</span> <span class="nx">alert</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="p">,</span> <span class="p">{</span> <span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;exceptions&#39;</span> <span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;label&#39;</span><span class="p">,</span> <span class="p">{</span> <span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;label&#39;</span><span class="p">,</span> <span class="s1">&#39;for&#39;</span><span class="o">:</span> <span class="s1">&#39;raise-exceptions&#39;</span> <span class="p">},</span> <span class="s1">&#39;raise exceptions&#39;</span><span class="p">),</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="p">{</span> <span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;raise&#39;</span><span class="p">,</span> <span class="nx">id</span><span class="o">:</span> <span class="s1">&#39;raise-exceptions&#39;</span><span class="p">,</span> <span class="nx">type</span><span class="o">:</span> <span class="s1">&#39;checkbox&#39;</span> <span class="p">})</span> <span class="p">));</span> <span class="kd">var</span> <span class="nx">checkbox</span> <span class="o">=</span> <span class="nx">find</span><span class="p">(</span><span class="s1">&#39;#raise-exceptions&#39;</span><span class="p">);</span> <span class="nx">checkbox</span><span class="p">.</span><span class="nx">checked</span> <span class="o">=</span> <span class="o">!</span><span class="nx">env</span><span class="p">.</span><span class="nx">catchingExceptions</span><span class="p">();</span> <span class="nx">checkbox</span><span class="p">.</span><span class="nx">onclick</span> <span class="o">=</span> <span class="nx">onRaiseExceptionsClick</span><span class="p">;</span> <span class="k">if</span> <span class="p">(</span><span class="nx">specsExecuted</span> <span class="o">&lt;</span> <span class="nx">totalSpecsDefined</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">skippedMessage</span> <span class="o">=</span> <span class="s1">&#39;Ran &#39;</span> <span class="o">+</span> <span class="nx">specsExecuted</span> <span class="o">+</span> <span class="s1">&#39; of &#39;</span> <span class="o">+</span> <span class="nx">totalSpecsDefined</span> <span class="o">+</span> <span class="s1">&#39; specs - run all&#39;</span><span class="p">;</span> <span class="nx">alert</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;bar skipped&#39;</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">href</span><span class="o">:</span> <span class="s1">&#39;?&#39;</span><span class="p">,</span> <span class="nx">title</span><span class="o">:</span> <span class="s1">&#39;Run all specs&#39;</span><span class="p">},</span> <span class="nx">skippedMessage</span><span class="p">)</span> <span class="p">)</span> <span class="p">);</span> <span class="p">}</span> <span class="kd">var</span> <span class="nx">statusBarMessage</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="p">;</span> <span class="kd">var</span> <span class="nx">statusBarClassName</span> <span class="o">=</span> <span class="s1">&#39;bar &#39;</span><span class="p">;</span> <span class="k">if</span> <span class="p">(</span><span class="nx">totalSpecsDefined</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="p">{</span> <span class="nx">statusBarMessage</span> <span class="o">+=</span> <span class="nx">pluralize</span><span class="p">(</span><span class="s1">&#39;spec&#39;</span><span class="p">,</span> <span class="nx">specsExecuted</span><span class="p">)</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="nx">pluralize</span><span class="p">(</span><span class="s1">&#39;failure&#39;</span><span class="p">,</span> <span class="nx">failureCount</span><span class="p">);</span> <span class="k">if</span> <span class="p">(</span><span class="nx">pendingSpecCount</span><span class="p">)</span> <span class="p">{</span> <span class="nx">statusBarMessage</span> <span class="o">+=</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="nx">pluralize</span><span class="p">(</span><span class="s1">&#39;pending spec&#39;</span><span class="p">,</span> <span class="nx">pendingSpecCount</span><span class="p">);</span> <span class="p">}</span> <span class="nx">statusBarClassName</span> <span class="o">+=</span> <span class="p">(</span><span class="nx">failureCount</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="o">?</span> <span class="s1">&#39;failed&#39;</span> <span class="o">:</span> <span class="s1">&#39;passed&#39;</span><span class="p">;</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="nx">statusBarClassName</span> <span class="o">+=</span> <span class="s1">&#39;skipped&#39;</span><span class="p">;</span> <span class="nx">statusBarMessage</span> <span class="o">+=</span> <span class="s1">&#39;No specs found&#39;</span><span class="p">;</span> <span class="p">}</span> <span class="nx">alert</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="nx">statusBarClassName</span><span class="p">},</span> <span class="nx">statusBarMessage</span><span class="p">));</span> <span class="kd">var</span> <span class="nx">results</span> <span class="o">=</span> <span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.results&#39;</span><span class="p">);</span> <span class="nx">results</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">summary</span><span class="p">);</span> <span class="nx">summaryList</span><span class="p">(</span><span class="nx">topResults</span><span class="p">,</span> <span class="nx">summary</span><span class="p">);</span> <span class="kd">function</span> <span class="nx">summaryList</span><span class="p">(</span><span class="nx">resultsTree</span><span class="p">,</span> <span class="nx">domParent</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">specListNode</span><span class="p">;</span> <span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">resultsTree</span><span class="p">.</span><span class="nx">children</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">resultNode</span> <span class="o">=</span> <span class="nx">resultsTree</span><span class="p">.</span><span class="nx">children</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span> <span class="k">if</span> <span class="p">(</span><span class="nx">resultNode</span><span class="p">.</span><span class="nx">type</span> <span class="o">==</span> <span class="s1">&#39;suite&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">suiteListNode</span> <span class="o">=</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;ul&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;suite&#39;</span><span class="p">,</span> <span class="nx">id</span><span class="o">:</span> <span class="s1">&#39;suite-&#39;</span> <span class="o">+</span> <span class="nx">resultNode</span><span class="p">.</span><span class="nx">result</span><span class="p">.</span><span class="nx">id</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;li&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;suite-detail&#39;</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">href</span><span class="o">:</span> <span class="nx">specHref</span><span class="p">(</span><span class="nx">resultNode</span><span class="p">.</span><span class="nx">result</span><span class="p">)},</span> <span class="nx">resultNode</span><span class="p">.</span><span class="nx">result</span><span class="p">.</span><span class="nx">description</span><span class="p">)</span> <span class="p">)</span> <span class="p">);</span> <span class="nx">summaryList</span><span class="p">(</span><span class="nx">resultNode</span><span class="p">,</span> <span class="nx">suiteListNode</span><span class="p">);</span> <span class="nx">domParent</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">suiteListNode</span><span class="p">);</span> <span class="p">}</span> <span class="k">if</span> <span class="p">(</span><span class="nx">resultNode</span><span class="p">.</span><span class="nx">type</span> <span class="o">==</span> <span class="s1">&#39;spec&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="nx">domParent</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s1">&#39;class&#39;</span><span class="p">)</span> <span class="o">!=</span> <span class="s1">&#39;specs&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="nx">specListNode</span> <span class="o">=</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;ul&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;specs&#39;</span><span class="p">});</span> <span class="nx">domParent</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">specListNode</span><span class="p">);</span> <span class="p">}</span> <span class="kd">var</span> <span class="nx">specDescription</span> <span class="o">=</span> <span class="nx">resultNode</span><span class="p">.</span><span class="nx">result</span><span class="p">.</span><span class="nx">description</span><span class="p">;</span> <span class="k">if</span><span class="p">(</span><span class="nx">noExpectations</span><span class="p">(</span><span class="nx">resultNode</span><span class="p">.</span><span class="nx">result</span><span class="p">))</span> <span class="p">{</span> <span class="nx">specDescription</span> <span class="o">=</span> <span class="s1">&#39;SPEC HAS NO EXPECTATIONS &#39;</span> <span class="o">+</span> <span class="nx">specDescription</span><span class="p">;</span> <span class="p">}</span> <span class="nx">specListNode</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;li&#39;</span><span class="p">,</span> <span class="p">{</span> <span class="nx">className</span><span class="o">:</span> <span class="nx">resultNode</span><span class="p">.</span><span class="nx">result</span><span class="p">.</span><span class="nx">status</span><span class="p">,</span> <span class="nx">id</span><span class="o">:</span> <span class="s1">&#39;spec-&#39;</span> <span class="o">+</span> <span class="nx">resultNode</span><span class="p">.</span><span class="nx">result</span><span class="p">.</span><span class="nx">id</span> <span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">href</span><span class="o">:</span> <span class="nx">specHref</span><span class="p">(</span><span class="nx">resultNode</span><span class="p">.</span><span class="nx">result</span><span class="p">)},</span> <span class="nx">specDescription</span><span class="p">)</span> <span class="p">)</span> <span class="p">);</span> <span class="p">}</span> <span class="p">}</span> <span class="p">}</span> <span class="k">if</span> <span class="p">(</span><span class="nx">failures</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="p">{</span> <span class="nx">alert</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;menu bar spec-list&#39;</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="p">,</span> <span class="p">{},</span> <span class="s1">&#39;Spec List | &#39;</span><span class="p">),</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;failures-menu&#39;</span><span class="p">,</span> <span class="nx">href</span><span class="o">:</span> <span class="s1">&#39;#&#39;</span><span class="p">},</span> <span class="s1">&#39;Failures&#39;</span><span class="p">)));</span> <span class="nx">alert</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;menu bar failure-list&#39;</span><span class="p">},</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span> <span class="p">{</span><span class="nx">className</span><span class="o">:</span> <span class="s1">&#39;spec-list-menu&#39;</span><span class="p">,</span> <span class="nx">href</span><span class="o">:</span> <span class="s1">&#39;#&#39;</span><span class="p">},</span> <span class="s1">&#39;Spec List&#39;</span><span class="p">),</span> <span class="nx">createDom</span><span class="p">(</span><span class="s1">&#39;span&#39;</span><span class="p">,</span> <span class="p">{},</span> <span class="s1">&#39; | Failures &#39;</span><span class="p">)));</span> <span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.failures-menu&#39;</span><span class="p">).</span><span class="nx">onclick</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="nx">setMenuModeTo</span><span class="p">(</span><span class="s1">&#39;failure-list&#39;</span><span class="p">);</span> <span class="p">};</span> <span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.spec-list-menu&#39;</span><span class="p">).</span><span class="nx">onclick</span> <span class="o">=</span> <span class="kd">function</span><span class="p">()</span> <span class="p">{</span> <span class="nx">setMenuModeTo</span><span class="p">(</span><span class="s1">&#39;spec-list&#39;</span><span class="p">);</span> <span class="p">};</span> <span class="nx">setMenuModeTo</span><span class="p">(</span><span class="s1">&#39;failure-list&#39;</span><span class="p">);</span> <span class="kd">var</span> <span class="nx">failureNode</span> <span class="o">=</span> <span class="nx">find</span><span class="p">(</span><span class="s1">&#39;.failures&#39;</span><span class="p">);</span> <span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">failures</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> <span class="nx">failureNode</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">failures</span><span class="p">[</span><span class="nx">i</span><span class="p">]);</span> <span class="p">}</span> <span class="p">}</span> <span class="p">};</span> <span class="k">return</span> <span class="k">this</span><span class="p">;</span> <span class="kd">function</span> <span class="nx">find</span><span class="p">(</span><span class="nx">selector</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="nx">getContainer</span><span class="p">().</span><span class="nx">querySelector</span><span class="p">(</span><span class="s1">&#39;.jasmine_html-reporter &#39;</span> <span class="o">+</span> <span class="nx">selector</span><span class="p">);</span> <span class="p">}</span> <span class="kd">function</span> <span class="nx">clearPrior</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>return the reporter</p> </td> <td class="code highlight"><div class="highlight"><pre> <span class="kd">var</span> <span class="nx">oldReporter</span> <span class="o">=</span> <span class="nx">find</span><span class="p">(</span><span class="s1">&#39;&#39;</span><span class="p">);</span> <span class="k">if</span><span class="p">(</span><span class="nx">oldReporter</span><span class="p">)</span> <span class="p">{</span> <span class="nx">getContainer</span><span class="p">().</span><span class="nx">removeChild</span><span class="p">(</span><span class="nx">oldReporter</span><span class="p">);</span> <span class="p">}</span> <span class="p">}</span> <span class="kd">function</span> <span class="nx">createDom</span><span class="p">(</span><span class="nx">type</span><span class="p">,</span> <span class="nx">attrs</span><span class="p">,</span> <span class="nx">childrenVarArgs</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">el</span> <span class="o">=</span> <span class="nx">createElement</span><span class="p">(</span><span class="nx">type</span><span class="p">);</span> <span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span> <span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">arguments</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span> <span class="nx">i</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">child</span> <span class="o">=</span> <span class="nx">arguments</span><span class="p">[</span><span class="nx">i</span><span class="p">];</span> <span class="k">if</span> <span class="p">(</span><span class="k">typeof</span> <span class="nx">child</span> <span class="o">===</span> <span class="s1">&#39;string&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="nx">el</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">createTextNode</span><span class="p">(</span><span class="nx">child</span><span class="p">));</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="nx">child</span><span class="p">)</span> <span class="p">{</span> <span class="nx">el</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">child</span><span class="p">);</span> <span class="p">}</span> <span class="p">}</span> <span class="p">}</span> <span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">attr</span> <span class="k">in</span> <span class="nx">attrs</span><span class="p">)</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="nx">attr</span> <span class="o">==</span> <span class="s1">&#39;className&#39;</span><span class="p">)</span> <span class="p">{</span> <span class="nx">el</span><span class="p">[</span><span class="nx">attr</span><span class="p">]</span> <span class="o">=</span> <span class="nx">attrs</span><span class="p">[</span><span class="nx">attr</span><span class="p">];</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="nx">el</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="nx">attr</span><span class="p">,</span> <span class="nx">attrs</span><span class="p">[</span><span class="nx">attr</span><span class="p">]);</span> <span class="p">}</span> <span class="p">}</span> <span class="k">return</span> <span class="nx">el</span><span class="p">;</span> <span class="p">}</span> <span class="kd">function</span> <span class="nx">pluralize</span><span class="p">(</span><span class="nx">singular</span><span class="p">,</span> <span class="nx">count</span><span class="p">)</span> <span class="p">{</span> <span class="kd">var</span> <span class="nx">word</span> <span class="o">=</span> <span class="p">(</span><span class="nx">count</span> <span class="o">==</span> <span class="mi">1</span> <span class="o">?</span> <span class="nx">singular</span> <span class="o">:</span> <span class="nx">singular</span> <span class="o">+</span> <span class="s1">&#39;s&#39;</span><span class="p">);</span> <span class="k">return</span> <span class="s1">&#39;&#39;</span> <span class="o">+</span> <span class="nx">count</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span> <span class="o">+</span> <span class="nx">word</span><span class="p">;</span> <span class="p">}</span> <span class="kd">function</span> <span class="nx">specHref</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="s1">&#39;?spec=&#39;</span> <span class="o">+</span> <span class="nb">encodeURIComponent</span><span class="p">(</span><span class="nx">result</span><span class="p">.</span><span class="nx">fullName</span><span class="p">);</span> <span class="p">}</span> <span class="kd">function</span> <span class="nx">setMenuModeTo</span><span class="p">(</span><span class="nx">mode</span><span class="p">)</span> <span class="p">{</span> <span class="nx">htmlReporterMain</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s1">&#39;class&#39;</span><span class="p">,</span> <span class="s1">&#39;jasmine_html-reporter &#39;</span> <span class="o">+</span> <span class="nx">mode</span><span class="p">);</span> <span class="p">}</span> <span class="kd">function</span> <span class="nx">noExpectations</span><span class="p">(</span><span class="nx">result</span><span class="p">)</span> <span class="p">{</span> <span class="k">return</span> <span class="p">(</span><span class="nx">result</span><span class="p">.</span><span class="nx">failedExpectations</span><span class="p">.</span><span class="nx">length</span> <span class="o">+</span> <span class="nx">result</span><span class="p">.</span><span class="nx">passedExpectations</span><span class="p">.</span><span class="nx">length</span><span class="p">)</span> <span class="o">===</span> <span class="mi">0</span> <span class="o">&amp;&amp;</span> <span class="nx">result</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="p">}</span> <span class="p">}</span> <span class="k">return</span> <span class="nx">HtmlReporter</span><span class="p">;</span> <span class="p">};</span> </pre></div> </td> </tr> </tbody> </table> </div> </body> </html>