<p dir="auto">It seems to me, that the source code of unit-tests.html here <a href="https://angular.io/docs/ts/latest/testing/jasmine-testing-101.html" rel="nofollow">https://angular.io/docs/ts/latest/testing/jasmine-testing-101.html</a> isn't correct.  It should be:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="...
&lt;link rel=&quot;stylesheet&quot; href=&quot;../node_modules/jasmine-core/lib/jasmine-core/jasmine.css&quot;&gt;
  &lt;script src=&quot;../node_modules/jasmine-core/lib/jasmine-core/jasmine.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;../node_modules/jasmine-core/lib/jasmine-core/jasmine-html.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;../node_modules/jasmine-core/lib/jasmine-core/boot.js&quot;&gt;&lt;/script&gt;
..."><pre class="notranslate"><code class="notranslate">...
&lt;link rel="stylesheet" href="../node_modules/jasmine-core/lib/jasmine-core/jasmine.css"&gt;
  &lt;script src="../node_modules/jasmine-core/lib/jasmine-core/jasmine.js"&gt;&lt;/script&gt;
  &lt;script src="../node_modules/jasmine-core/lib/jasmine-core/jasmine-html.js"&gt;&lt;/script&gt;
  &lt;script src="../node_modules/jasmine-core/lib/jasmine-core/boot.js"&gt;&lt;/script&gt;
...
</code></pre></div>
<p dir="auto">cause user have to install <em>jasmine-core</em></p>
<p dir="auto"><strong>I'm submitting a ...</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[ ] bug report =&gt; search github for a similar issue or PR before submitting
[x] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question"><pre class="notranslate"><code class="notranslate">[ ] bug report =&gt; search github for a similar issue or PR before submitting
[x] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
</code></pre></div>
<p dir="auto"><strong>Current behavior</strong><br>
Currently, when a (very) deep object is thrown as part of an error. The error message attempts to stringify the object, this freezes browsers for a significant period of time, and then produces an error message, many thousands of lines long. See <a href="https://i.imgsafe.org/cefa793a60.png" rel="nofollow">screenshot</a></p>
<p dir="auto"><strong>Expected behavior</strong><br>
If there were a default max depth to stringify to, a produced error message would only stringify to this depth from the original object.</p>
<p dir="auto"><strong>Minimal reproduction of the problem with instructions</strong><br>
An object (<code class="notranslate">parent</code>) references many child objects in a key called <code class="notranslate">children</code>, each child references its parent object in a key called <code class="notranslate">parent</code>. Should an error be thrown on a child object (say a <code class="notranslate">Duplicates in a repeater are not allowed</code> error) the entire structure is stringified in the error section <code class="notranslate">Duplicate value: </code>.</p>
<p dir="auto"><strong>What is the motivation / use case for changing the behavior?</strong><br>
Speedier error messages, that allow for quicker debugging.</p>
<p dir="auto"><strong>Please tell us about your environment:</strong><br>
OSX 10.12.1, Sublime Text 3, BreezeJS</p>
<ul dir="auto">
<li>
<p dir="auto"><strong>Angular version:</strong> 1.5.6</p>
</li>
<li>
<p dir="auto"><strong>Browser:</strong> all</p>
</li>
<li>
<p dir="auto"><strong>Language:</strong> all (as far as im aware)</p>
</li>
</ul>