mermaid
Version:
Markdownish syntax for generating flowcharts, sequence diagrams and gantt charts.
158 lines (157 loc) • 5.17 kB
HTML
<html>
<head>
<title>GOALS_2.0.md</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/GOALS_2.0.md", 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="#(Vague) Jasmine 2.0 Goals/(Guidelines)">(Vague) Jasmine 2.0 Goals/(Guidelines)</a>
</div>
<div class="heading h2">
<a href="#Remaining non-story-able work:">Remaining non-story-able work:</a>
</div>
<div class="heading h3">
<a href="#Hard">Hard</a>
</div>
<div class="heading h3">
<a href="#Easy">Easy</a>
</div>
<div class="heading h3">
<a href="#DONE">DONE</a>
</div>
<div class="heading h2">
<a href="#Other Topics">Other Topics</a>
</div>
</div>
</div>
<div id="sidebar-toggle"></div>
<div id="container"><div class="docs markdown"><div class="pilwrap" id="(Vague) Jasmine 2.0 Goals/(Guidelines)">
<h1>
<a href="#(Vague) Jasmine 2.0 Goals/(Guidelines)" name="(Vague) Jasmine 2.0 Goals/(Guidelines)" class="pilcrow">¶</a>
(Vague) Jasmine 2.0 Goals/(Guidelines)</h1>
</div>
<ol>
<li>No globals!<ul>
<li>jasmine library is entirely inside <code>jasmine</code> namespace</li>
<li>globals required for backwards compatibility should be added in <code>boot.js</code> (EG, var describe = jasmine.getCurrentEnv().describe lives in boot.js)</li>
</ul>
</li>
<li>Don't use properties as getters. Use methods.<ul>
<li>Properties aren't encapsulated -- can be mutated, unsafe.</li>
</ul>
</li>
<li>Reporters get data objects (no methods).<ul>
<li>easier to refactor as needed</li>
</ul>
</li>
<li>More unit tests - fewer nasty integration tests</li>
</ol>
<div class="pilwrap" id="Remaining non-story-able work:">
<h2>
<a href="#Remaining non-story-able work:" name="Remaining non-story-able work:" class="pilcrow">¶</a>
Remaining non-story-able work:</h2>
</div>
<ul>
<li>Make a <code>TODO</code> list</li>
</ul>
<div class="pilwrap" id="Hard">
<h3>
<a href="#Hard" name="Hard" class="pilcrow">¶</a>
Hard</h3>
</div>
<ul>
<li>Finish killing Globals<ul>
<li>Guidelines:<ul>
<li>New objects can have constructors on <code>jasmine</code></li>
<li>Top level functions can live on <code>jasmine</code></li>
<li>Top level (i.e., any <code>jasmine</code> property) should only be referenced inside the <code>Env</code> constructor</li>
<li>should better allow any object to get jasmine code (Node-friendly)</li>
</ul>
</li>
</ul>
</li>
<li>review everything in base.js</li>
<li>Remove isA functions:<ul>
<li>isArray_ - used in matchers and spies</li>
<li>isString_</li>
<li>isDOMNode_</li>
<li>isA_</li>
<li>unimplementedMethod_, used by PrettyPrinter</li>
</ul>
</li>
<li>jasmine.util should be util closure inside of env or something<ul>
<li>argsToArray is used for Spies and matching (and can be replaced)</li>
<li>inherit is only for PrettyPrinter now</li>
<li>formatException is used only inside Env/spec</li>
<li>htmlEscape is for messages in matchers - should this be HTML at all?</li>
</ul>
</li>
<li>Pretty printing<ul>
<li>move away from pretty printer and to a JSON.stringify implementation?</li>
<li>jasmineToString vs. custom toString ?</li>
</ul>
</li>
</ul>
<div class="pilwrap" id="Easy">
<h3>
<a href="#Easy" name="Easy" class="pilcrow">¶</a>
Easy</h3>
</div>
<ul>
<li>unify params to ctors: options vs. attrs.</li>
<li>This will be a lot of the TODOs, but clean up & simplify Env.js (is this a 2.1 task?)</li>
</ul>
<div class="pilwrap" id="DONE">
<h3>
<a href="#DONE" name="DONE" class="pilcrow">¶</a>
DONE</h3>
</div>
<ul>
<li>Matchers improvements<ul>
<li>unit testable DONE</li>
<li>better equality (from Underscore) DONE</li>
<li>addCustomMatchers doesn't explode stack DONE</li>
<li>refactor equals function so that it just loops & recurses over a list of fns (custom and built-in) - 2.1? (Tracker story)</li>
</ul>
</li>
<li>Spies<ul>
<li>break these out into their own tests/file DONE</li>
</ul>
</li>
</ul>
<div class="pilwrap" id="Other Topics">
<h2>
<a href="#Other Topics" name="Other Topics" class="pilcrow">¶</a>
Other Topics</h2>
</div>
<ul>
<li>Docs<ul>
<li>Docco has gone over well. Should we annotate all the sources and then have Pages be more complex, having tutorials and annotated source like Backbone? Are we small enough?</li>
<li>Need examples for:<ul>
<li>How to build a Custom Matcher</li>
<li>How to add a custom equality tester</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</body>
</html>