evergreen 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +30 -4
- data/config/routes.rb +1 -1
- data/lib/evergreen.rb +14 -50
- data/lib/evergreen/application.rb +46 -0
- data/lib/evergreen/cli.rb +2 -2
- data/lib/evergreen/rails.rb +4 -0
- data/lib/evergreen/resources/evergreen.css +3 -1
- data/lib/evergreen/resources/evergreen.js +3 -0
- data/lib/evergreen/runner.rb +124 -36
- data/lib/evergreen/server.rb +9 -18
- data/lib/evergreen/spec.rb +26 -14
- data/lib/evergreen/suite.rb +44 -0
- data/lib/evergreen/tasks.rb +6 -0
- data/lib/evergreen/template.rb +7 -10
- data/lib/evergreen/version.rb +1 -1
- data/lib/evergreen/views/layout.erb +1 -0
- data/lib/evergreen/views/list.erb +2 -2
- data/lib/evergreen/views/spec.erb +18 -10
- data/lib/jasmine/Gemfile +6 -0
- data/lib/jasmine/MIT.LICENSE +2 -2
- data/lib/jasmine/README.markdown +5 -459
- data/lib/jasmine/Rakefile +22 -16
- data/lib/jasmine/example/SpecRunner.html +1 -1
- data/lib/jasmine/jsdoc-template/allclasses.tmpl +17 -0
- data/lib/jasmine/jsdoc-template/allfiles.tmpl +56 -0
- data/lib/jasmine/jsdoc-template/class.tmpl +646 -0
- data/lib/jasmine/jsdoc-template/index.tmpl +39 -0
- data/lib/jasmine/jsdoc-template/publish.js +184 -0
- data/lib/jasmine/jsdoc-template/static/default.css +162 -0
- data/lib/jasmine/jsdoc-template/static/header.html +2 -0
- data/lib/jasmine/jsdoc-template/static/index.html +19 -0
- data/lib/jasmine/jsdoc-template/symbol.tmpl +35 -0
- data/lib/jasmine/lib/jasmine-html.js +12 -6
- data/lib/jasmine/lib/jasmine.js +122 -44
- data/lib/jasmine/spec/runner.html +0 -1
- data/lib/jasmine/spec/suites/CustomMatchersSpec.js +18 -9
- data/lib/jasmine/spec/suites/MatchersSpec.js +241 -162
- data/lib/jasmine/spec/suites/SpecRunningSpec.js +120 -62
- data/lib/jasmine/spec/suites/TrivialReporterSpec.js +3 -0
- data/lib/jasmine/spec/suites/WaitsForBlockSpec.js +9 -9
- data/lib/jasmine/src/Env.js +1 -0
- data/lib/jasmine/src/Matchers.js +35 -17
- data/lib/jasmine/src/Queue.js +6 -1
- data/lib/jasmine/src/Spec.js +34 -2
- data/lib/jasmine/src/WaitsForBlock.js +28 -13
- data/lib/jasmine/src/base.js +15 -8
- data/lib/jasmine/src/html/TrivialReporter.js +12 -6
- data/lib/jasmine/src/version.json +2 -2
- data/lib/tasks/evergreen.rake +1 -1
- data/spec/meta_spec.rb +21 -2
- data/spec/runner_spec.rb +16 -18
- data/spec/spec_helper.rb +12 -4
- data/spec/spec_spec.rb +4 -11
- data/spec/suite1/spec/javascripts/invalid_coffee_spec.coffee +1 -0
- data/spec/suite1/spec/javascripts/spec_helper.coffee +1 -1
- data/spec/suite2/config/evergreen.rb +5 -0
- data/spec/suite2/public_html/foo.js +1 -0
- data/spec/suite2/spec/awesome_spec.js +12 -0
- data/spec/suite2/spec/failing_spec.js +5 -0
- data/spec/suite2/templates/foo.html +1 -0
- data/spec/suite_spec.rb +26 -0
- data/spec/template_spec.rb +3 -9
- metadata +52 -20
- data/lib/jasmine/lib/consolex.js +0 -28
| @@ -0,0 +1,39 @@ | |
| 1 | 
            +
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         | 
| 2 | 
            +
                    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
         | 
| 3 | 
            +
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
         | 
| 4 | 
            +
            	<head>
         | 
| 5 | 
            +
            		<meta http-equiv="content-type" content="text/html; charset={+IO.encoding+}"" />
         | 
| 6 | 
            +
            		
         | 
| 7 | 
            +
            		<title>JsDoc Reference - Index</title>
         | 
| 8 | 
            +
            		<meta name="generator" content="JsDoc Toolkit" />
         | 
| 9 | 
            +
            		
         | 
| 10 | 
            +
            		<style type="text/css">
         | 
| 11 | 
            +
            		{+include("static/default.css")+}
         | 
| 12 | 
            +
            		</style>
         | 
| 13 | 
            +
            	</head>
         | 
| 14 | 
            +
            	
         | 
| 15 | 
            +
            	<body>
         | 
| 16 | 
            +
            		{+include("static/header.html")+}
         | 
| 17 | 
            +
            		
         | 
| 18 | 
            +
            		<div id="index">
         | 
| 19 | 
            +
            			{+publish.classesIndex+}
         | 
| 20 | 
            +
            		</div>
         | 
| 21 | 
            +
            		
         | 
| 22 | 
            +
            		<div id="content">
         | 
| 23 | 
            +
            			<h1 class="classTitle">Class Index</h1>
         | 
| 24 | 
            +
            			
         | 
| 25 | 
            +
            			<for each="thisClass" in="data">
         | 
| 26 | 
            +
            			<div>
         | 
| 27 | 
            +
            				<h2>{+(new Link().toSymbol(thisClass.alias))+}</h2>
         | 
| 28 | 
            +
            				{+resolveLinks(summarize(thisClass.classDesc))+}
         | 
| 29 | 
            +
            			</div>
         | 
| 30 | 
            +
            			<hr />
         | 
| 31 | 
            +
            			</for>
         | 
| 32 | 
            +
            			
         | 
| 33 | 
            +
            		</div>
         | 
| 34 | 
            +
            		<div class="fineprint" style="clear:both">
         | 
| 35 | 
            +
            			<if test="JSDOC.opt.D.copyright">©{+JSDOC.opt.D.copyright+}<br /></if>
         | 
| 36 | 
            +
            			Documentation generated by <a href="http://www.jsdoctoolkit.org/" target="_blankt">JsDoc Toolkit</a> {+JSDOC.VERSION+} on {+new Date()+}
         | 
| 37 | 
            +
            		</div>
         | 
| 38 | 
            +
            	</body>
         | 
| 39 | 
            +
            </html>
         | 
| @@ -0,0 +1,184 @@ | |
| 1 | 
            +
            /** Called automatically by JsDoc Toolkit. */
         | 
| 2 | 
            +
            function publish(symbolSet) {
         | 
| 3 | 
            +
            	publish.conf = {  // trailing slash expected for dirs
         | 
| 4 | 
            +
            		ext:         ".html",
         | 
| 5 | 
            +
            		outDir:      JSDOC.opt.d || SYS.pwd+"../out/jsdoc/",
         | 
| 6 | 
            +
            		templatesDir: JSDOC.opt.t || SYS.pwd+"../templates/jsdoc/",
         | 
| 7 | 
            +
            		symbolsDir:  "symbols/",
         | 
| 8 | 
            +
            		srcDir:      "symbols/src/"
         | 
| 9 | 
            +
            	};
         | 
| 10 | 
            +
            	
         | 
| 11 | 
            +
            	// is source output is suppressed, just display the links to the source file
         | 
| 12 | 
            +
            	if (JSDOC.opt.s && defined(Link) && Link.prototype._makeSrcLink) {
         | 
| 13 | 
            +
            		Link.prototype._makeSrcLink = function(srcFilePath) {
         | 
| 14 | 
            +
            			return "<"+srcFilePath+">";
         | 
| 15 | 
            +
            		}
         | 
| 16 | 
            +
            	}
         | 
| 17 | 
            +
            	
         | 
| 18 | 
            +
            	// create the folders and subfolders to hold the output
         | 
| 19 | 
            +
            	IO.mkPath((publish.conf.outDir+"symbols/src").split("/"));
         | 
| 20 | 
            +
            		
         | 
| 21 | 
            +
            	// used to allow Link to check the details of things being linked to
         | 
| 22 | 
            +
            	Link.symbolSet = symbolSet;
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            	// create the required templates
         | 
| 25 | 
            +
            	try {
         | 
| 26 | 
            +
            		var classTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"class.tmpl");
         | 
| 27 | 
            +
            		var classesTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"allclasses.tmpl");
         | 
| 28 | 
            +
            	}
         | 
| 29 | 
            +
            	catch(e) {
         | 
| 30 | 
            +
            		print("Couldn't create the required templates: "+e);
         | 
| 31 | 
            +
            		quit();
         | 
| 32 | 
            +
            	}
         | 
| 33 | 
            +
            	
         | 
| 34 | 
            +
            	// some ustility filters
         | 
| 35 | 
            +
            	function hasNoParent($) {return ($.memberOf == "")}
         | 
| 36 | 
            +
            	function isaFile($) {return ($.is("FILE"))}
         | 
| 37 | 
            +
            	function isaClass($) {return ($.is("CONSTRUCTOR") || $.isNamespace)}
         | 
| 38 | 
            +
            	
         | 
| 39 | 
            +
            	// get an array version of the symbolset, useful for filtering
         | 
| 40 | 
            +
            	var symbols = symbolSet.toArray();
         | 
| 41 | 
            +
            	
         | 
| 42 | 
            +
            	// create the hilited source code files
         | 
| 43 | 
            +
            	var files = JSDOC.opt.srcFiles;
         | 
| 44 | 
            +
             	for (var i = 0, l = files.length; i < l; i++) {
         | 
| 45 | 
            +
             		var file = files[i];
         | 
| 46 | 
            +
             		var srcDir = publish.conf.outDir + "symbols/src/";
         | 
| 47 | 
            +
            		makeSrcFile(file, srcDir);
         | 
| 48 | 
            +
             	}
         | 
| 49 | 
            +
             	
         | 
| 50 | 
            +
             	// get a list of all the classes in the symbolset
         | 
| 51 | 
            +
             	var classes = symbols.filter(isaClass).sort(makeSortby("alias"));
         | 
| 52 | 
            +
            	
         | 
| 53 | 
            +
            	// create a class index, displayed in the left-hand column of every class page
         | 
| 54 | 
            +
            	Link.base = "../";
         | 
| 55 | 
            +
             	publish.classesIndex = classesTemplate.process(classes); // kept in memory
         | 
| 56 | 
            +
            	
         | 
| 57 | 
            +
            	// create each of the class pages
         | 
| 58 | 
            +
            	for (var i = 0, l = classes.length; i < l; i++) {
         | 
| 59 | 
            +
            		var symbol = classes[i];
         | 
| 60 | 
            +
            		
         | 
| 61 | 
            +
            		symbol.events = symbol.getEvents();   // 1 order matters
         | 
| 62 | 
            +
            		symbol.methods = symbol.getMethods(); // 2
         | 
| 63 | 
            +
            		
         | 
| 64 | 
            +
            		var output = "";
         | 
| 65 | 
            +
            		output = classTemplate.process(symbol);
         | 
| 66 | 
            +
            		
         | 
| 67 | 
            +
            		IO.saveFile(publish.conf.outDir+"symbols/", symbol.alias+publish.conf.ext, output);
         | 
| 68 | 
            +
            	}
         | 
| 69 | 
            +
            	
         | 
| 70 | 
            +
            	// regenerate the index with different relative links, used in the index pages
         | 
| 71 | 
            +
            	Link.base = "";
         | 
| 72 | 
            +
            	publish.classesIndex = classesTemplate.process(classes);
         | 
| 73 | 
            +
            	
         | 
| 74 | 
            +
            	// create the class index page
         | 
| 75 | 
            +
            	try {
         | 
| 76 | 
            +
            		var classesindexTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"index.tmpl");
         | 
| 77 | 
            +
            	}
         | 
| 78 | 
            +
            	catch(e) { print(e.message); quit(); }
         | 
| 79 | 
            +
            	
         | 
| 80 | 
            +
            	var classesIndex = classesindexTemplate.process(classes);
         | 
| 81 | 
            +
            	IO.saveFile(publish.conf.outDir, "index"+publish.conf.ext, classesIndex);
         | 
| 82 | 
            +
            	classesindexTemplate = classesIndex = classes = null;
         | 
| 83 | 
            +
            	
         | 
| 84 | 
            +
            	// create the file index page
         | 
| 85 | 
            +
            	try {
         | 
| 86 | 
            +
            		var fileindexTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"allfiles.tmpl");
         | 
| 87 | 
            +
            	}
         | 
| 88 | 
            +
            	catch(e) { print(e.message); quit(); }
         | 
| 89 | 
            +
            	
         | 
| 90 | 
            +
            	var documentedFiles = symbols.filter(isaFile); // files that have file-level docs
         | 
| 91 | 
            +
            	var allFiles = []; // not all files have file-level docs, but we need to list every one
         | 
| 92 | 
            +
            	
         | 
| 93 | 
            +
            	for (var i = 0; i < files.length; i++) {
         | 
| 94 | 
            +
            		allFiles.push(new JSDOC.Symbol(files[i], [], "FILE", new JSDOC.DocComment("/** */")));
         | 
| 95 | 
            +
            	}
         | 
| 96 | 
            +
            	
         | 
| 97 | 
            +
            	for (var i = 0; i < documentedFiles.length; i++) {
         | 
| 98 | 
            +
            		var offset = files.indexOf(documentedFiles[i].alias);
         | 
| 99 | 
            +
            		allFiles[offset] = documentedFiles[i];
         | 
| 100 | 
            +
            	}
         | 
| 101 | 
            +
            		
         | 
| 102 | 
            +
            	allFiles = allFiles.sort(makeSortby("name"));
         | 
| 103 | 
            +
             | 
| 104 | 
            +
            	// output the file index page
         | 
| 105 | 
            +
            	var filesIndex = fileindexTemplate.process(allFiles);
         | 
| 106 | 
            +
            	IO.saveFile(publish.conf.outDir, "files"+publish.conf.ext, filesIndex);
         | 
| 107 | 
            +
            	fileindexTemplate = filesIndex = files = null;
         | 
| 108 | 
            +
            }
         | 
| 109 | 
            +
             | 
| 110 | 
            +
             | 
| 111 | 
            +
            /** Just the first sentence (up to a full stop). Should not break on dotted variable names. */
         | 
| 112 | 
            +
            function summarize(desc) {
         | 
| 113 | 
            +
            	if (typeof desc != "undefined")
         | 
| 114 | 
            +
            		return desc.match(/([\w\W]+?\.)[^a-z0-9_$]/i)? RegExp.$1 : desc;
         | 
| 115 | 
            +
            }
         | 
| 116 | 
            +
             | 
| 117 | 
            +
            /** Make a symbol sorter by some attribute. */
         | 
| 118 | 
            +
            function makeSortby(attribute) {
         | 
| 119 | 
            +
            	return function(a, b) {
         | 
| 120 | 
            +
            		if (a[attribute] != undefined && b[attribute] != undefined) {
         | 
| 121 | 
            +
            			a = a[attribute].toLowerCase();
         | 
| 122 | 
            +
            			b = b[attribute].toLowerCase();
         | 
| 123 | 
            +
            			if (a < b) return -1;
         | 
| 124 | 
            +
            			if (a > b) return 1;
         | 
| 125 | 
            +
            			return 0;
         | 
| 126 | 
            +
            		}
         | 
| 127 | 
            +
            	}
         | 
| 128 | 
            +
            }
         | 
| 129 | 
            +
             | 
| 130 | 
            +
            /** Pull in the contents of an external file at the given path. */
         | 
| 131 | 
            +
            function include(path) {
         | 
| 132 | 
            +
            	var path = publish.conf.templatesDir+path;
         | 
| 133 | 
            +
            	return IO.readFile(path);
         | 
| 134 | 
            +
            }
         | 
| 135 | 
            +
             | 
| 136 | 
            +
            /** Turn a raw source file into a code-hilited page in the docs. */
         | 
| 137 | 
            +
            function makeSrcFile(path, srcDir, name) {
         | 
| 138 | 
            +
            	if (JSDOC.opt.s) return;
         | 
| 139 | 
            +
            	
         | 
| 140 | 
            +
            	if (!name) {
         | 
| 141 | 
            +
            		name = path.replace(/\.\.?[\\\/]/g, "").replace(/[\\\/]/g, "_");
         | 
| 142 | 
            +
            		name = name.replace(/\:/g, "_");
         | 
| 143 | 
            +
            	}
         | 
| 144 | 
            +
            	
         | 
| 145 | 
            +
            	var src = {path: path, name:name, charset: IO.encoding, hilited: ""};
         | 
| 146 | 
            +
            	
         | 
| 147 | 
            +
            	if (defined(JSDOC.PluginManager)) {
         | 
| 148 | 
            +
            		JSDOC.PluginManager.run("onPublishSrc", src);
         | 
| 149 | 
            +
            	}
         | 
| 150 | 
            +
             | 
| 151 | 
            +
            	if (src.hilited) {
         | 
| 152 | 
            +
            		IO.saveFile(srcDir, name+publish.conf.ext, src.hilited);
         | 
| 153 | 
            +
            	}
         | 
| 154 | 
            +
            }
         | 
| 155 | 
            +
             | 
| 156 | 
            +
            /** Build output for displaying function parameters. */
         | 
| 157 | 
            +
            function makeSignature(params) {
         | 
| 158 | 
            +
            	if (!params) return "()";
         | 
| 159 | 
            +
            	var signature = "("
         | 
| 160 | 
            +
            	+
         | 
| 161 | 
            +
            	params.filter(
         | 
| 162 | 
            +
            		function($) {
         | 
| 163 | 
            +
            			return $.name.indexOf(".") == -1; // don't show config params in signature
         | 
| 164 | 
            +
            		}
         | 
| 165 | 
            +
            	).map(
         | 
| 166 | 
            +
            		function($) {
         | 
| 167 | 
            +
            			return $.name;
         | 
| 168 | 
            +
            		}
         | 
| 169 | 
            +
            	).join(", ")
         | 
| 170 | 
            +
            	+
         | 
| 171 | 
            +
            	")";
         | 
| 172 | 
            +
            	return signature;
         | 
| 173 | 
            +
            }
         | 
| 174 | 
            +
             | 
| 175 | 
            +
            /** Find symbol {@link ...} strings in text and turn into html links */
         | 
| 176 | 
            +
            function resolveLinks(str, from) {
         | 
| 177 | 
            +
            	str = str.replace(/\{@link ([^} ]+) ?\}/gi,
         | 
| 178 | 
            +
            		function(match, symbolName) {
         | 
| 179 | 
            +
            			return new Link().toSymbol(symbolName);
         | 
| 180 | 
            +
            		}
         | 
| 181 | 
            +
            	);
         | 
| 182 | 
            +
            	
         | 
| 183 | 
            +
            	return str;
         | 
| 184 | 
            +
            }
         | 
| @@ -0,0 +1,162 @@ | |
| 1 | 
            +
            /* default.css */
         | 
| 2 | 
            +
            body
         | 
| 3 | 
            +
            {
         | 
| 4 | 
            +
            	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
         | 
| 5 | 
            +
            	width: 800px;
         | 
| 6 | 
            +
            }
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            .header
         | 
| 9 | 
            +
            {
         | 
| 10 | 
            +
            	clear: both;
         | 
| 11 | 
            +
            	background-color: #ccc;
         | 
| 12 | 
            +
            	padding: 8px;
         | 
| 13 | 
            +
            }
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            h1
         | 
| 16 | 
            +
            {
         | 
| 17 | 
            +
            	font-size: 150%;
         | 
| 18 | 
            +
            	font-weight: bold;
         | 
| 19 | 
            +
            	padding: 0;
         | 
| 20 | 
            +
            	margin: 1em 0 0 .3em;
         | 
| 21 | 
            +
            }
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            hr
         | 
| 24 | 
            +
            {
         | 
| 25 | 
            +
            	border: none 0;
         | 
| 26 | 
            +
            	border-top: 1px solid #7F8FB1;
         | 
| 27 | 
            +
            	height: 1px;
         | 
| 28 | 
            +
            }
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            pre.code
         | 
| 31 | 
            +
            {
         | 
| 32 | 
            +
            	display: block;
         | 
| 33 | 
            +
            	padding: 8px;
         | 
| 34 | 
            +
            	border: 1px dashed #ccc;
         | 
| 35 | 
            +
            }
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            #index
         | 
| 38 | 
            +
            {
         | 
| 39 | 
            +
            	margin-top: 24px;
         | 
| 40 | 
            +
            	float: left;
         | 
| 41 | 
            +
            	width: 160px;
         | 
| 42 | 
            +
            	position: absolute;
         | 
| 43 | 
            +
            	left: 8px;
         | 
| 44 | 
            +
            	background-color: #F3F3F3;
         | 
| 45 | 
            +
            	padding: 8px;
         | 
| 46 | 
            +
            }
         | 
| 47 | 
            +
             | 
| 48 | 
            +
            #content
         | 
| 49 | 
            +
            {
         | 
| 50 | 
            +
            	margin-left: 190px;
         | 
| 51 | 
            +
            	width: 600px;
         | 
| 52 | 
            +
            }
         | 
| 53 | 
            +
             | 
| 54 | 
            +
            .classList
         | 
| 55 | 
            +
            {
         | 
| 56 | 
            +
            	list-style-type: none;
         | 
| 57 | 
            +
            	padding: 0;
         | 
| 58 | 
            +
            	margin: 0 0 0 8px;
         | 
| 59 | 
            +
            	font-family: arial, sans-serif;
         | 
| 60 | 
            +
            	font-size: 1em;
         | 
| 61 | 
            +
            	overflow: auto;
         | 
| 62 | 
            +
            }
         | 
| 63 | 
            +
             | 
| 64 | 
            +
            .classList li
         | 
| 65 | 
            +
            {
         | 
| 66 | 
            +
            	padding: 0;
         | 
| 67 | 
            +
            	margin: 0 0 8px 0;
         | 
| 68 | 
            +
            }
         | 
| 69 | 
            +
             | 
| 70 | 
            +
            .summaryTable { width: 100%; }
         | 
| 71 | 
            +
             | 
| 72 | 
            +
            h1.classTitle
         | 
| 73 | 
            +
            {
         | 
| 74 | 
            +
            	font-size:170%;
         | 
| 75 | 
            +
            	line-height:130%;
         | 
| 76 | 
            +
            }
         | 
| 77 | 
            +
             | 
| 78 | 
            +
            h2 { font-size: 110%; }
         | 
| 79 | 
            +
            caption, div.sectionTitle
         | 
| 80 | 
            +
            {
         | 
| 81 | 
            +
            	background-color: #7F8FB1;
         | 
| 82 | 
            +
            	color: #fff;
         | 
| 83 | 
            +
            	font-size:130%;
         | 
| 84 | 
            +
            	text-align: left;
         | 
| 85 | 
            +
            	padding: 2px 6px 2px 6px;
         | 
| 86 | 
            +
            	border: 1px #7F8FB1 solid;
         | 
| 87 | 
            +
            }
         | 
| 88 | 
            +
             | 
| 89 | 
            +
            div.sectionTitle { margin-bottom: 8px; }
         | 
| 90 | 
            +
            .summaryTable thead { display: none; }
         | 
| 91 | 
            +
             | 
| 92 | 
            +
            .summaryTable td
         | 
| 93 | 
            +
            {
         | 
| 94 | 
            +
            	vertical-align: top;
         | 
| 95 | 
            +
            	padding: 4px;
         | 
| 96 | 
            +
            	border-bottom: 1px #7F8FB1 solid;
         | 
| 97 | 
            +
            	border-right: 1px #7F8FB1 solid;
         | 
| 98 | 
            +
            }
         | 
| 99 | 
            +
             | 
| 100 | 
            +
            /*col#summaryAttributes {}*/
         | 
| 101 | 
            +
            .summaryTable td.attributes
         | 
| 102 | 
            +
            {
         | 
| 103 | 
            +
            	border-left: 1px #7F8FB1 solid;
         | 
| 104 | 
            +
            	width: 140px;
         | 
| 105 | 
            +
            	text-align: right;
         | 
| 106 | 
            +
            }
         | 
| 107 | 
            +
             | 
| 108 | 
            +
            td.attributes, .fixedFont
         | 
| 109 | 
            +
            {
         | 
| 110 | 
            +
            	line-height: 15px;
         | 
| 111 | 
            +
            	color: #002EBE;
         | 
| 112 | 
            +
            	font-family: "Courier New",Courier,monospace;
         | 
| 113 | 
            +
            	font-size: 13px;
         | 
| 114 | 
            +
            }
         | 
| 115 | 
            +
             | 
| 116 | 
            +
            .summaryTable td.nameDescription
         | 
| 117 | 
            +
            {
         | 
| 118 | 
            +
            	text-align: left;
         | 
| 119 | 
            +
            	font-size: 13px;
         | 
| 120 | 
            +
            	line-height: 15px;
         | 
| 121 | 
            +
            }
         | 
| 122 | 
            +
             | 
| 123 | 
            +
            .summaryTable td.nameDescription, .description
         | 
| 124 | 
            +
            {
         | 
| 125 | 
            +
            	line-height: 15px;
         | 
| 126 | 
            +
            	padding: 4px;
         | 
| 127 | 
            +
            	padding-left: 4px;
         | 
| 128 | 
            +
            }
         | 
| 129 | 
            +
             | 
| 130 | 
            +
            .summaryTable { margin-bottom: 8px; }
         | 
| 131 | 
            +
             | 
| 132 | 
            +
            ul.inheritsList
         | 
| 133 | 
            +
            {
         | 
| 134 | 
            +
            	list-style: square;
         | 
| 135 | 
            +
            	margin-left: 20px;
         | 
| 136 | 
            +
            	padding-left: 0;
         | 
| 137 | 
            +
            }
         | 
| 138 | 
            +
             | 
| 139 | 
            +
            .detailList {
         | 
| 140 | 
            +
            	margin-left: 20px; 
         | 
| 141 | 
            +
            	line-height: 15px;
         | 
| 142 | 
            +
            }
         | 
| 143 | 
            +
            .detailList dt { margin-left: 20px; }
         | 
| 144 | 
            +
             | 
| 145 | 
            +
            .detailList .heading
         | 
| 146 | 
            +
            {
         | 
| 147 | 
            +
            	font-weight: bold;
         | 
| 148 | 
            +
            	padding-bottom: 6px;
         | 
| 149 | 
            +
            	margin-left: 0;
         | 
| 150 | 
            +
            }
         | 
| 151 | 
            +
             | 
| 152 | 
            +
            .light, td.attributes, .light a:link, .light a:visited
         | 
| 153 | 
            +
            {
         | 
| 154 | 
            +
            	color: #777;
         | 
| 155 | 
            +
            	font-style: italic;
         | 
| 156 | 
            +
            }
         | 
| 157 | 
            +
             | 
| 158 | 
            +
            .fineprint
         | 
| 159 | 
            +
            {
         | 
| 160 | 
            +
            	text-align: right;
         | 
| 161 | 
            +
            	font-size: 10px;
         | 
| 162 | 
            +
            }
         | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
         | 
| 2 | 
            +
                    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
         | 
| 3 | 
            +
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
         | 
| 4 | 
            +
            <head>
         | 
| 5 | 
            +
            	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
         | 
| 6 | 
            +
            	<title>Generated Javascript Documentation</title>
         | 
| 7 | 
            +
            </head>
         | 
| 8 | 
            +
            <frameset cols="20%,80%">
         | 
| 9 | 
            +
            	<frame src="allclasses-frame.html" name="packageFrame" />
         | 
| 10 | 
            +
            	<frame src="splash.html" name="classFrame" />
         | 
| 11 | 
            +
            	<noframes>
         | 
| 12 | 
            +
            		<body>
         | 
| 13 | 
            +
            		<p>
         | 
| 14 | 
            +
            		This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
         | 
| 15 | 
            +
            		</p>
         | 
| 16 | 
            +
            		</body>
         | 
| 17 | 
            +
            	</noframes>
         | 
| 18 | 
            +
            </frameset>
         | 
| 19 | 
            +
            </html>
         | 
| @@ -0,0 +1,35 @@ | |
| 1 | 
            +
            <symbol alias="{+data.alias+}">
         | 
| 2 | 
            +
            	<name>{+data.name+}</name>
         | 
| 3 | 
            +
            	<memberOf>{+data.memberOf+}</memberOf>
         | 
| 4 | 
            +
            	<isStatic>{+data.isStatic+}</isStatic>
         | 
| 5 | 
            +
            	<isa>{+data.isa+}</isa>
         | 
| 6 | 
            +
            	<desc>{+data.desc+}</desc>
         | 
| 7 | 
            +
            	<classDesc>{+data.classDesc+}</classDesc>
         | 
| 8 | 
            +
            	
         | 
| 9 | 
            +
            	<methods><for each="method" in="data.methods">
         | 
| 10 | 
            +
            		<method>
         | 
| 11 | 
            +
            			<name>{+method.name+}</name>
         | 
| 12 | 
            +
            			<memberOf>{+method.memberOf+}</memberOf>
         | 
| 13 | 
            +
            			<isStatic>{+method.isStatic+}</isStatic>
         | 
| 14 | 
            +
            			<desc>{+method.desc+}</desc>
         | 
| 15 | 
            +
            			<params><for each="param" in="method.params">
         | 
| 16 | 
            +
            				<param>
         | 
| 17 | 
            +
            					<type>{+param.type+}</type>
         | 
| 18 | 
            +
            					<name>{+param.name+}</name>
         | 
| 19 | 
            +
            					<desc>{+param.desc+}</desc>
         | 
| 20 | 
            +
            					<defaultValue>{+param.defaultValue+}</defaultValue>
         | 
| 21 | 
            +
            				</param></for>
         | 
| 22 | 
            +
            			</params>
         | 
| 23 | 
            +
            		</method></for>
         | 
| 24 | 
            +
            	</methods>
         | 
| 25 | 
            +
            	
         | 
| 26 | 
            +
            	<properties><for each="property" in="data.properties">
         | 
| 27 | 
            +
            		<property>
         | 
| 28 | 
            +
            			<name>{+property.name+}</name>
         | 
| 29 | 
            +
            			<memberOf>{+property.memberOf+}</memberOf>
         | 
| 30 | 
            +
            			<isStatic>{+property.isStatic+}</isStatic>
         | 
| 31 | 
            +
            			<desc>{+property.desc+}</desc>
         | 
| 32 | 
            +
            			<type>{+property.type+}</type>
         | 
| 33 | 
            +
            		</property></for>
         | 
| 34 | 
            +
            	</properties>
         | 
| 35 | 
            +
            </symbol>
         | 
| @@ -34,7 +34,7 @@ jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) { | |
| 34 34 | 
             
              this.outerDiv = this.createDom('div', { className: 'jasmine_reporter' },
         | 
| 35 35 | 
             
                  this.createDom('div', { className: 'banner' },
         | 
| 36 36 | 
             
                    this.createDom('div', { className: 'logo' },
         | 
| 37 | 
            -
                        "Jasmine",
         | 
| 37 | 
            +
                        this.createDom('a', { href: 'http://pivotal.github.com/jasmine/', target: "_blank" }, "Jasmine"),
         | 
| 38 38 | 
             
                        this.createDom('span', { className: 'version' }, runner.env.versionString())),
         | 
| 39 39 | 
             
                    this.createDom('div', { className: 'options' },
         | 
| 40 40 | 
             
                        "Show ",
         | 
| @@ -70,16 +70,16 @@ jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) { | |
| 70 70 | 
             
              this.startedAt = new Date();
         | 
| 71 71 |  | 
| 72 72 | 
             
              var self = this;
         | 
| 73 | 
            -
              showPassed. | 
| 74 | 
            -
                if ( | 
| 73 | 
            +
              showPassed.onclick = function(evt) {
         | 
| 74 | 
            +
                if (showPassed.checked) {
         | 
| 75 75 | 
             
                  self.outerDiv.className += ' show-passed';
         | 
| 76 76 | 
             
                } else {
         | 
| 77 77 | 
             
                  self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, '');
         | 
| 78 78 | 
             
                }
         | 
| 79 79 | 
             
              };
         | 
| 80 80 |  | 
| 81 | 
            -
              showSkipped. | 
| 82 | 
            -
                if ( | 
| 81 | 
            +
              showSkipped.onclick = function(evt) {
         | 
| 82 | 
            +
                if (showSkipped.checked) {
         | 
| 83 83 | 
             
                  self.outerDiv.className += ' show-skipped';
         | 
| 84 84 | 
             
                } else {
         | 
| 85 85 | 
             
                  self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, '');
         | 
| @@ -162,7 +162,13 @@ jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) { | |
| 162 162 |  | 
| 163 163 | 
             
            jasmine.TrivialReporter.prototype.log = function() {
         | 
| 164 164 | 
             
              var console = jasmine.getGlobal().console;
         | 
| 165 | 
            -
              if (console && console.log)  | 
| 165 | 
            +
              if (console && console.log) {
         | 
| 166 | 
            +
                if (console.log.apply) {
         | 
| 167 | 
            +
                  console.log.apply(console, arguments);
         | 
| 168 | 
            +
                } else {
         | 
| 169 | 
            +
                  console.log(arguments); // ie fix: console.log.apply doesn't exist on ie
         | 
| 170 | 
            +
                }
         | 
| 171 | 
            +
              }
         | 
| 166 172 | 
             
            };
         | 
| 167 173 |  | 
| 168 174 | 
             
            jasmine.TrivialReporter.prototype.getLocation = function() {
         |