evergreen 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
data/lib/jasmine/Rakefile
CHANGED
@@ -22,6 +22,7 @@ task :default => 'jasmine:dist'
|
|
22
22
|
def substitute_jasmine_version(filename)
|
23
23
|
contents = File.read(filename)
|
24
24
|
contents = contents.gsub(/##JASMINE_VERSION##/, (jasmine_version))
|
25
|
+
contents = contents.gsub(/[^\n]*REMOVE_THIS_LINE_FROM_BUILD[^\n]*/, '')
|
25
26
|
File.open(filename, 'w') { |f| f.write(contents) }
|
26
27
|
end
|
27
28
|
|
@@ -73,9 +74,9 @@ namespace :jasmine do
|
|
73
74
|
|
74
75
|
jasmine.puts %{
|
75
76
|
jasmine.version_= {
|
76
|
-
"major": #{version['major']},
|
77
|
-
"minor": #{version['minor']},
|
78
|
-
"build": #{version['build']},
|
77
|
+
"major": #{version['major'].to_json},
|
78
|
+
"minor": #{version['minor'].to_json},
|
79
|
+
"build": #{version['build'].to_json},
|
79
80
|
"revision": #{Time.now.to_i}
|
80
81
|
};
|
81
82
|
}
|
@@ -90,8 +91,9 @@ jasmine.version_= {
|
|
90
91
|
FileUtils.cp("src/html/jasmine.css", "lib/jasmine.css")
|
91
92
|
end
|
92
93
|
|
94
|
+
downloads_file = 'pages/download.html.md'
|
93
95
|
task :need_pages_submodule do
|
94
|
-
unless File.exists?(
|
96
|
+
unless File.exists?(downloads_file)
|
95
97
|
raise "Jasmine pages submodule isn't present. Run git submodule update --init"
|
96
98
|
end
|
97
99
|
end
|
@@ -100,7 +102,6 @@ jasmine.version_= {
|
|
100
102
|
task :doc => :need_pages_submodule do
|
101
103
|
puts 'Creating Jasmine Documentation'
|
102
104
|
require 'rubygems'
|
103
|
-
#sudo gem install ragaskar-jsdoc_helper
|
104
105
|
require 'jsdoc_helper'
|
105
106
|
|
106
107
|
FileUtils.rm_r "pages/jsdoc", :force => true
|
@@ -109,6 +110,8 @@ jasmine.version_= {
|
|
109
110
|
t[:files] = jasmine_sources << jasmine_html_sources
|
110
111
|
t[:options] = "-a"
|
111
112
|
t[:out] = "pages/jsdoc"
|
113
|
+
# JsdocHelper bug: template must be relative to the JsdocHelper gem, ick
|
114
|
+
t[:template] = File.join("../".*(100), Dir::getwd, "jsdoc-template")
|
112
115
|
end
|
113
116
|
Rake::Task[:lambda_jsdoc].invoke
|
114
117
|
end
|
@@ -131,7 +134,8 @@ jasmine.version_= {
|
|
131
134
|
{
|
132
135
|
"lib/jasmine.js" => "jasmine.js",
|
133
136
|
"lib/jasmine-html.js" => "jasmine-html.js",
|
134
|
-
"src/html/jasmine.css" => "jasmine.css"
|
137
|
+
"src/html/jasmine.css" => "jasmine.css",
|
138
|
+
"MIT.LICENSE" => "MIT.LICENSE"
|
135
139
|
}.each_pair do |src, dest|
|
136
140
|
FileUtils.cp(File.join(root, src), File.join(lib_dir, dest))
|
137
141
|
end
|
@@ -151,24 +155,26 @@ jasmine.version_= {
|
|
151
155
|
require 'digest/sha1'
|
152
156
|
|
153
157
|
download_html = "<!-- START_DOWNLOADS -->\n"
|
154
|
-
download_html += "<table>\n<tr><th/><th>Version</th><th>Size</th><th>Date</th><th>SHA1</th></tr>\n"
|
155
158
|
Dir.glob('pages/downloads/*.zip').sort.reverse.each do |f|
|
156
159
|
sha1 = Digest::SHA1.hexdigest File.read(f)
|
157
160
|
|
158
161
|
fn = f.sub(/^pages\//, '')
|
159
162
|
version = /jasmine-standalone-(.*).zip/.match(f)[1]
|
160
|
-
|
161
|
-
download_html += "<
|
162
|
-
download_html += "<td>#{
|
163
|
-
download_html += "<td>#{
|
164
|
-
download_html += "<td>#{
|
163
|
+
prerelease = /\.rc/.match(f)
|
164
|
+
download_html += prerelease ? "<tr class=\"rc\">\n" : "<tr>\n"
|
165
|
+
download_html += " <td class=\"link\"><a href=\"#{fn}\">#{fn.sub(/downloads\//, '')}</a></td>\n"
|
166
|
+
download_html += " <td class=\"version\">#{version}</td>\n"
|
167
|
+
download_html += " <td class=\"size\">#{File.size(f) / 1024}k</td>\n"
|
168
|
+
download_html += " <td class=\"date\">#{File.mtime(f).strftime("%Y/%m/%d %H:%M:%S %Z")}</td>\n"
|
169
|
+
download_html += " <td class=\"sha\">#{sha1}</td>\n"
|
170
|
+
download_html += "</tr>\n"
|
165
171
|
end
|
166
|
-
download_html += "
|
172
|
+
download_html += "<!-- END_DOWNLOADS -->"
|
167
173
|
|
168
|
-
|
174
|
+
downloads_page = File.read(downloads_file)
|
169
175
|
matcher = /<!-- START_DOWNLOADS -->.*<!-- END_DOWNLOADS -->/m
|
170
|
-
|
171
|
-
File.open(
|
176
|
+
downloads_page = downloads_page.sub(matcher, download_html)
|
177
|
+
File.open(downloads_file, 'w') {|f| f.write(downloads_page)}
|
172
178
|
puts "rewrote that file"
|
173
179
|
end
|
174
180
|
end
|
@@ -17,6 +17,7 @@
|
|
17
17
|
|
18
18
|
</head>
|
19
19
|
<body>
|
20
|
+
<div id="REMOVE_THIS_LINE_FROM_BUILD"><p>You must be trying to look at examples in the Jasmine source tree.</p><p>Please download a distribution version of Jasmine at <a href="http://pivotal.github.com/jasmine/">http://pivotal.github.com/jasmine/</a>.</p></div>
|
20
21
|
<script type="text/javascript">
|
21
22
|
jasmine.getEnv().addReporter(new jasmine.TrivialReporter());
|
22
23
|
jasmine.getEnv().execute();
|
@@ -24,4 +25,3 @@
|
|
24
25
|
|
25
26
|
</body>
|
26
27
|
</html>
|
27
|
-
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div align="center">{+new Link().toFile("index.html").withText("Class Index")+}
|
2
|
+
| {+new Link().toFile("files.html").withText("File Index")+}</div>
|
3
|
+
<hr />
|
4
|
+
<h2>Classes</h2>
|
5
|
+
<ul class="classList">
|
6
|
+
<for each="thisClass" in="data">
|
7
|
+
<li>{!
|
8
|
+
if (thisClass.alias == "_global_") {
|
9
|
+
output += "<i>"+new Link().toClass(thisClass.alias)+"</i>";
|
10
|
+
}
|
11
|
+
else {
|
12
|
+
output += new Link().toClass(thisClass.alias);
|
13
|
+
}
|
14
|
+
!}</li>
|
15
|
+
</for>
|
16
|
+
</ul>
|
17
|
+
<hr />
|
@@ -0,0 +1,56 @@
|
|
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
|
+
{! Link.base = ""; /* all generated links will be relative to this */ !}
|
7
|
+
<title>JsDoc Reference - File 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">File Index</h1>
|
24
|
+
|
25
|
+
<for each="item" in="data">
|
26
|
+
<div>
|
27
|
+
<h2>{+new Link().toSrc(item.alias).withText(item.name)+}</h2>
|
28
|
+
<if test="item.desc">{+resolveLinks(summarize(item.desc))+}</if>
|
29
|
+
<dl>
|
30
|
+
<if test="item.author">
|
31
|
+
<dt class="heading">Author:</dt>
|
32
|
+
<dd>{+item.author+}</dd>
|
33
|
+
</if>
|
34
|
+
<if test="item.version">
|
35
|
+
<dt class="heading">Version:</dt>
|
36
|
+
<dd>{+item.version+}</dd>
|
37
|
+
</if>
|
38
|
+
{! var locations = item.comment.getTag('location').map(function($){return $.toString().replace(/(^\$ ?| ?\$$)/g, '').replace(/^HeadURL: https:/g, 'http:');}) !}
|
39
|
+
<if test="locations.length">
|
40
|
+
<dt class="heading">Location:</dt>
|
41
|
+
<for each="location" in="locations">
|
42
|
+
<dd><a href="{+location+}">{+location+}</a></dd>
|
43
|
+
</for>
|
44
|
+
</if>
|
45
|
+
</dl>
|
46
|
+
</div>
|
47
|
+
<hr />
|
48
|
+
</for>
|
49
|
+
|
50
|
+
</div>
|
51
|
+
<div class="fineprint" style="clear:both">
|
52
|
+
<if test="JSDOC.opt.D.copyright">©{+JSDOC.opt.D.copyright+}<br /></if>
|
53
|
+
Documentation generated by <a href="http://www.jsdoctoolkit.org/" target="_blankt">JsDoc Toolkit</a> {+JSDOC.VERSION+} on {+new Date()+}
|
54
|
+
</div>
|
55
|
+
</body>
|
56
|
+
</html>
|
@@ -0,0 +1,646 @@
|
|
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
|
+
<meta name="generator" content="JsDoc Toolkit" />
|
7
|
+
{! Link.base = "../"; /* all generated links will be relative to this */ !}
|
8
|
+
<title>JsDoc Reference - {+data.alias+}</title>
|
9
|
+
|
10
|
+
<style type="text/css">
|
11
|
+
{+include("static/default.css")+}
|
12
|
+
</style>
|
13
|
+
</head>
|
14
|
+
|
15
|
+
<body>
|
16
|
+
<!-- ============================== header ================================= -->
|
17
|
+
<!-- begin static/header.html -->
|
18
|
+
{+include("static/header.html")+}
|
19
|
+
<!-- end static/header.html -->
|
20
|
+
|
21
|
+
<!-- ============================== classes index ============================ -->
|
22
|
+
<div id="index">
|
23
|
+
<!-- begin publish.classesIndex -->
|
24
|
+
{+publish.classesIndex+}
|
25
|
+
<!-- end publish.classesIndex -->
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div id="content">
|
29
|
+
<!-- ============================== class title ============================ -->
|
30
|
+
<h1 class="classTitle">
|
31
|
+
{!
|
32
|
+
var classType = "";
|
33
|
+
|
34
|
+
if (data.isBuiltin()) {
|
35
|
+
classType += "Built-In ";
|
36
|
+
}
|
37
|
+
|
38
|
+
if (data.isNamespace) {
|
39
|
+
if (data.is('FUNCTION')) {
|
40
|
+
classType += "Function ";
|
41
|
+
}
|
42
|
+
classType += "Namespace ";
|
43
|
+
}
|
44
|
+
else {
|
45
|
+
classType += "Class ";
|
46
|
+
}
|
47
|
+
!}
|
48
|
+
{+classType+}{+data.alias+}
|
49
|
+
</h1>
|
50
|
+
|
51
|
+
<!-- ============================== class summary ========================== -->
|
52
|
+
<p class="description">
|
53
|
+
<if test="data.augments.length"><br />Extends
|
54
|
+
{+
|
55
|
+
data.augments
|
56
|
+
.sort()
|
57
|
+
.map(
|
58
|
+
function($) { return new Link().toSymbol($); }
|
59
|
+
)
|
60
|
+
.join(", ")
|
61
|
+
+}.<br />
|
62
|
+
</if>
|
63
|
+
|
64
|
+
{+resolveLinks(data.classDesc)+}
|
65
|
+
|
66
|
+
<if test="!data.isBuiltin()">{# isn't defined in any file #}
|
67
|
+
<br /><i>Defined in: </i> {+new Link().toSrc(data.srcFile)+}.
|
68
|
+
</if>
|
69
|
+
</p>
|
70
|
+
|
71
|
+
<!-- ============================== constructor summary ==================== -->
|
72
|
+
<if test="!data.isBuiltin() && (data.isNamespace || data.is('CONSTRUCTOR'))">
|
73
|
+
<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class {+data.alias+}.">
|
74
|
+
<caption>{+classType+}Summary</caption>
|
75
|
+
<thead>
|
76
|
+
<tr>
|
77
|
+
<th scope="col">Constructor Attributes</th>
|
78
|
+
<th scope="col">Constructor Name and Description</th>
|
79
|
+
</tr>
|
80
|
+
</thead>
|
81
|
+
<tbody>
|
82
|
+
<tr>
|
83
|
+
<td class="attributes">{!
|
84
|
+
if (data.isPrivate) output += "<private> ";
|
85
|
+
if (data.isInner) output += "<inner> ";
|
86
|
+
!} </td>
|
87
|
+
<td class="nameDescription" {!if (data.comment.getTag("hilited").length){output += 'style="color: red"'}!}>
|
88
|
+
<div class="fixedFont">
|
89
|
+
<b>{+ new Link().toSymbol(data.alias).inner('constructor')+}</b><if test="classType != 'Namespace '">{+ makeSignature(data.params) +}</if>
|
90
|
+
</div>
|
91
|
+
<div class="description">{+resolveLinks(summarize(data.desc))+}</div>
|
92
|
+
</td>
|
93
|
+
</tr>
|
94
|
+
</tbody>
|
95
|
+
</table>
|
96
|
+
</if>
|
97
|
+
|
98
|
+
<!-- ============================== properties summary ===================== -->
|
99
|
+
<if test="data.properties.length">
|
100
|
+
{! var ownProperties = data.properties.filter(function($){return $.memberOf == data.alias && !$.isNamespace}).sort(makeSortby("name")); !}
|
101
|
+
<if test="ownProperties.length">
|
102
|
+
<table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class {+data.alias+}.">
|
103
|
+
<caption>Field Summary</caption>
|
104
|
+
<thead>
|
105
|
+
<tr>
|
106
|
+
<th scope="col">Field Attributes</th>
|
107
|
+
<th scope="col">Field Name and Description</th>
|
108
|
+
</tr>
|
109
|
+
</thead>
|
110
|
+
<tbody>
|
111
|
+
<for each="member" in="ownProperties">
|
112
|
+
<tr>
|
113
|
+
<td class="attributes">{!
|
114
|
+
if (member.isPrivate) output += "<private> ";
|
115
|
+
if (member.isInner) output += "<inner> ";
|
116
|
+
if (member.isStatic) output += "<static> ";
|
117
|
+
if (member.isConstant) output += "<constant> ";
|
118
|
+
!} </td>
|
119
|
+
<td class="nameDescription">
|
120
|
+
<div class="fixedFont">
|
121
|
+
<if test="member.isStatic && member.memberOf != '_global_'">{+member.memberOf+}.</if><b>{+new Link().toSymbol(member.alias).withText(member.name)+}</b>
|
122
|
+
</div>
|
123
|
+
<div class="description">{+resolveLinks(summarize(member.desc))+}</div>
|
124
|
+
</td>
|
125
|
+
</tr>
|
126
|
+
</for>
|
127
|
+
</tbody>
|
128
|
+
</table>
|
129
|
+
</if>
|
130
|
+
|
131
|
+
<if test="data.inheritsFrom.length">
|
132
|
+
<dl class="inheritsList">
|
133
|
+
{!
|
134
|
+
var borrowedMembers = data.properties.filter(function($) {return $.memberOf != data.alias});
|
135
|
+
|
136
|
+
var contributers = [];
|
137
|
+
borrowedMembers.map(function($) {if (contributers.indexOf($.memberOf) < 0) contributers.push($.memberOf)});
|
138
|
+
for (var i = 0, l = contributers.length; i < l; i++) {
|
139
|
+
output +=
|
140
|
+
"<dt>Fields borrowed from class "+new Link().toSymbol(contributers[i])+": </dt>"
|
141
|
+
+
|
142
|
+
"<dd>" +
|
143
|
+
borrowedMembers
|
144
|
+
.filter(
|
145
|
+
function($) { return $.memberOf == contributers[i] }
|
146
|
+
)
|
147
|
+
.sort(makeSortby("name"))
|
148
|
+
.map(
|
149
|
+
function($) { return new Link().toSymbol($.alias).withText($.name) }
|
150
|
+
)
|
151
|
+
.join(", ")
|
152
|
+
+
|
153
|
+
"</dd>";
|
154
|
+
}
|
155
|
+
!}
|
156
|
+
</dl>
|
157
|
+
</if>
|
158
|
+
</if>
|
159
|
+
|
160
|
+
<!-- ============================== methods summary ======================== -->
|
161
|
+
<if test="data.methods.length">
|
162
|
+
{! var ownMethods = data.methods.filter(function($){return $.memberOf == data.alias && !$.isNamespace}).sort(makeSortby("name")); !}
|
163
|
+
<if test="ownMethods.length">
|
164
|
+
<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class {+data.alias+}.">
|
165
|
+
<caption>Method Summary</caption>
|
166
|
+
<thead>
|
167
|
+
<tr>
|
168
|
+
<th scope="col">Method Attributes</th>
|
169
|
+
<th scope="col">Method Name and Description</th>
|
170
|
+
</tr>
|
171
|
+
</thead>
|
172
|
+
<tbody>
|
173
|
+
<for each="member" in="ownMethods">
|
174
|
+
<tr>
|
175
|
+
<td class="attributes">{!
|
176
|
+
if (member.isPrivate) output += "<private> ";
|
177
|
+
if (member.isInner) output += "<inner> ";
|
178
|
+
if (member.isStatic) output += "<static> ";
|
179
|
+
!} </td>
|
180
|
+
<td class="nameDescription">
|
181
|
+
<div class="fixedFont"><if test="member.isStatic && member.memberOf != '_global_'">{+member.memberOf+}.</if><b>{+new Link().toSymbol(member.alias).withText(member.name)+}</b>{+makeSignature(member.params)+}
|
182
|
+
</div>
|
183
|
+
<div class="description">{+resolveLinks(summarize(member.desc))+}</div>
|
184
|
+
</td>
|
185
|
+
</tr>
|
186
|
+
</for>
|
187
|
+
</tbody>
|
188
|
+
</table>
|
189
|
+
</if>
|
190
|
+
|
191
|
+
<if test="data.inheritsFrom.length">
|
192
|
+
<dl class="inheritsList">
|
193
|
+
{!
|
194
|
+
var borrowedMembers = data.methods.filter(function($) {return $.memberOf != data.alias});
|
195
|
+
var contributers = [];
|
196
|
+
borrowedMembers.map(function($) {if (contributers.indexOf($.memberOf) < 0) contributers.push($.memberOf)});
|
197
|
+
for (var i = 0, l = contributers.length; i < l; i++) {
|
198
|
+
output +=
|
199
|
+
"<dt>Methods borrowed from class "+new Link().toSymbol(contributers[i])+": </dt>"
|
200
|
+
+
|
201
|
+
"<dd>" +
|
202
|
+
borrowedMembers
|
203
|
+
.filter(
|
204
|
+
function($) { return $.memberOf == contributers[i] }
|
205
|
+
)
|
206
|
+
.sort(makeSortby("name"))
|
207
|
+
.map(
|
208
|
+
function($) { return new Link().toSymbol($.alias).withText($.name) }
|
209
|
+
)
|
210
|
+
.join(", ")
|
211
|
+
+
|
212
|
+
"</dd>";
|
213
|
+
}
|
214
|
+
|
215
|
+
!}
|
216
|
+
</dl>
|
217
|
+
</if>
|
218
|
+
</if>
|
219
|
+
<!-- ============================== events summary ======================== -->
|
220
|
+
<if test="data.events.length">
|
221
|
+
{! var ownEvents = data.events.filter(function($){return $.memberOf == data.alias && !$.isNamespace}).sort(makeSortby("name")); !}
|
222
|
+
<if test="ownEvents.length">
|
223
|
+
<table class="summaryTable" cellspacing="0" summary="A summary of the events documented in the class {+data.alias+}.">
|
224
|
+
<caption>Event Summary</caption>
|
225
|
+
<thead>
|
226
|
+
<tr>
|
227
|
+
<th scope="col">Event Attributes</th>
|
228
|
+
<th scope="col">Event Name and Description</th>
|
229
|
+
</tr>
|
230
|
+
</thead>
|
231
|
+
<tbody>
|
232
|
+
<for each="member" in="ownEvents">
|
233
|
+
<tr>
|
234
|
+
<td class="attributes">{!
|
235
|
+
if (member.isPrivate) output += "<private> ";
|
236
|
+
if (member.isInner) output += "<inner> ";
|
237
|
+
if (member.isStatic) output += "<static> ";
|
238
|
+
!} </td>
|
239
|
+
<td class="nameDescription">
|
240
|
+
<div class="fixedFont"><if test="member.isStatic && member.memberOf != '_global_'">{+member.memberOf+}.</if><b>{+new Link().toSymbol(member.alias).withText(member.name)+}</b>{+makeSignature(member.params)+}
|
241
|
+
</div>
|
242
|
+
<div class="description">{+resolveLinks(summarize(member.desc))+}</div>
|
243
|
+
</td>
|
244
|
+
</tr>
|
245
|
+
</for>
|
246
|
+
</tbody>
|
247
|
+
</table>
|
248
|
+
</if>
|
249
|
+
|
250
|
+
<if test="data.inheritsFrom.length">
|
251
|
+
<dl class="inheritsList">
|
252
|
+
{!
|
253
|
+
var borrowedMembers = data.events.filter(function($) {return $.memberOf != data.alias});
|
254
|
+
var contributers = [];
|
255
|
+
borrowedMembers.map(function($) {if (contributers.indexOf($.memberOf) < 0) contributers.push($.memberOf)});
|
256
|
+
for (var i = 0, l = contributers.length; i < l; i++) {
|
257
|
+
output +=
|
258
|
+
"<dt>Events borrowed from class "+new Link().toSymbol(contributers[i])+": </dt>"
|
259
|
+
+
|
260
|
+
"<dd>" +
|
261
|
+
borrowedMembers
|
262
|
+
.filter(
|
263
|
+
function($) { return $.memberOf == contributers[i] }
|
264
|
+
)
|
265
|
+
.sort(makeSortby("name"))
|
266
|
+
.map(
|
267
|
+
function($) { return new Link().toSymbol($.alias).withText($.name) }
|
268
|
+
)
|
269
|
+
.join(", ")
|
270
|
+
+
|
271
|
+
"</dd>";
|
272
|
+
}
|
273
|
+
|
274
|
+
!}
|
275
|
+
</dl>
|
276
|
+
</if>
|
277
|
+
</if>
|
278
|
+
|
279
|
+
<!-- ============================== constructor details ==================== -->
|
280
|
+
<if test="!data.isBuiltin() && (data.isNamespace || data.is('CONSTRUCTOR'))">
|
281
|
+
<div class="details"><a name="constructor"> </a>
|
282
|
+
<div class="sectionTitle">
|
283
|
+
{+classType+}Detail
|
284
|
+
</div>
|
285
|
+
|
286
|
+
<div class="fixedFont">{!
|
287
|
+
if (data.isPrivate) output += "<private> ";
|
288
|
+
if (data.isInner) output += "<inner> ";
|
289
|
+
!}
|
290
|
+
<b>{+ data.alias +}</b><if test="classType != 'Namespace '">{+ makeSignature(data.params) +}</if>
|
291
|
+
</div>
|
292
|
+
|
293
|
+
<div class="description">
|
294
|
+
{+resolveLinks(data.desc)+}
|
295
|
+
<if test="data.author"><br /><i>Author: </i>{+data.author+}.</if>
|
296
|
+
</div>
|
297
|
+
|
298
|
+
<if test="data.example.length">
|
299
|
+
<for each="example" in="data.example">
|
300
|
+
<pre class="code">{+example+}</pre>
|
301
|
+
</for>
|
302
|
+
</if>
|
303
|
+
|
304
|
+
|
305
|
+
<if test="data.params.length">
|
306
|
+
<dl class="detailList">
|
307
|
+
<dt class="heading">Parameters:</dt>
|
308
|
+
<for each="item" in="data.params">
|
309
|
+
<dt>
|
310
|
+
{+((item.type)?""+("<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type)+"}</span> ")) : "")+} <b>{+item.name+}</b>
|
311
|
+
<if test="item.isOptional"><i>Optional<if test="item.defaultValue">, Default: {+item.defaultValue+}</if></i></if>
|
312
|
+
</dt>
|
313
|
+
<dd>{+resolveLinks(item.desc)+}</dd>
|
314
|
+
</for>
|
315
|
+
</dl>
|
316
|
+
</if>
|
317
|
+
<if test="data.deprecated">
|
318
|
+
<dl class="detailList">
|
319
|
+
<dt class="heading">Deprecated:</dt>
|
320
|
+
<dt>
|
321
|
+
{+resolveLinks(data.deprecated)+}
|
322
|
+
</dt>
|
323
|
+
</dl>
|
324
|
+
</if>
|
325
|
+
<if test="data.since">
|
326
|
+
<dl class="detailList">
|
327
|
+
<dt class="heading">Since:</dt>
|
328
|
+
<dd>{+ data.since +}</dd>
|
329
|
+
</dl>
|
330
|
+
</if>
|
331
|
+
<if test="data.exceptions.length">
|
332
|
+
<dl class="detailList">
|
333
|
+
<dt class="heading">Throws:</dt>
|
334
|
+
<for each="item" in="data.exceptions">
|
335
|
+
<dt>
|
336
|
+
{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+} <b>{+item.name+}</b>
|
337
|
+
</dt>
|
338
|
+
<dd>{+resolveLinks(item.desc)+}</dd>
|
339
|
+
</for>
|
340
|
+
</dl>
|
341
|
+
</if>
|
342
|
+
<if test="data.returns.length">
|
343
|
+
<dl class="detailList">
|
344
|
+
<dt class="heading">Returns:</dt>
|
345
|
+
<for each="item" in="data.returns">
|
346
|
+
<dd>{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}{+resolveLinks(item.desc)+}</dd>
|
347
|
+
</for>
|
348
|
+
</dl>
|
349
|
+
</if>
|
350
|
+
<if test="data.requires.length">
|
351
|
+
<dl class="detailList">
|
352
|
+
<dt class="heading">Requires:</dt>
|
353
|
+
<for each="item" in="data.requires">
|
354
|
+
<dd>{+ resolveLinks(item) +}</dd>
|
355
|
+
</for>
|
356
|
+
</dl>
|
357
|
+
</if>
|
358
|
+
<if test="data.see.length">
|
359
|
+
<dl class="detailList">
|
360
|
+
<dt class="heading">See:</dt>
|
361
|
+
<for each="item" in="data.see">
|
362
|
+
<dd>{+ new Link().toSymbol(item) +}</dd>
|
363
|
+
</for>
|
364
|
+
</dl>
|
365
|
+
</if>
|
366
|
+
|
367
|
+
</div>
|
368
|
+
</if>
|
369
|
+
|
370
|
+
<!-- ============================== field details ========================== -->
|
371
|
+
<if test="defined(ownProperties) && ownProperties.length">
|
372
|
+
<div class="sectionTitle">
|
373
|
+
Field Detail
|
374
|
+
</div>
|
375
|
+
<for each="member" in="ownProperties">
|
376
|
+
<a name="{+Link.symbolNameToLinkName(member)+}"> </a>
|
377
|
+
<div class="fixedFont">{!
|
378
|
+
if (member.isPrivate) output += "<private> ";
|
379
|
+
if (member.isInner) output += "<inner> ";
|
380
|
+
if (member.isStatic) output += "<static> ";
|
381
|
+
if (member.isConstant) output += "<constant> ";
|
382
|
+
!}
|
383
|
+
|
384
|
+
<if test="member.type"><span class="light">{{+new Link().toSymbol(member.type)+}}</span></if>
|
385
|
+
<if test="member.isStatic && member.memberOf != '_global_'"><span class="light">{+member.memberOf+}.</span></if><b>{+member.name+}</b>
|
386
|
+
|
387
|
+
</div>
|
388
|
+
<div class="description">
|
389
|
+
{+resolveLinks(member.desc)+}
|
390
|
+
<if test="member.srcFile != data.srcFile">
|
391
|
+
<br />
|
392
|
+
<i>Defined in: </i> {+new Link().toSrc(member.srcFile)+}.
|
393
|
+
</if>
|
394
|
+
<if test="member.author"><br /><i>Author: </i>{+member.author+}.</if>
|
395
|
+
</div>
|
396
|
+
|
397
|
+
<if test="member.example.length">
|
398
|
+
<for each="example" in="member.example">
|
399
|
+
<pre class="code">{+example+}</pre>
|
400
|
+
</for>
|
401
|
+
</if>
|
402
|
+
|
403
|
+
<if test="member.deprecated">
|
404
|
+
<dl class="detailList">
|
405
|
+
<dt class="heading">Deprecated:</dt>
|
406
|
+
<dt>
|
407
|
+
{+ member.deprecated +}
|
408
|
+
</dt>
|
409
|
+
</dl>
|
410
|
+
</if>
|
411
|
+
<if test="member.since">
|
412
|
+
<dl class="detailList">
|
413
|
+
<dt class="heading">Since:</dt>
|
414
|
+
<dd>{+ member.since +}</dd>
|
415
|
+
</dl>
|
416
|
+
</if>
|
417
|
+
<if test="member.see.length">
|
418
|
+
<dl class="detailList">
|
419
|
+
<dt class="heading">See:</dt>
|
420
|
+
<for each="item" in="member.see">
|
421
|
+
<dd>{+ new Link().toSymbol(item) +}</dd>
|
422
|
+
</for>
|
423
|
+
</dl>
|
424
|
+
</if>
|
425
|
+
<if test="member.defaultValue">
|
426
|
+
<dl class="detailList">
|
427
|
+
<dt class="heading">Default Value:</dt>
|
428
|
+
<dd>
|
429
|
+
{+resolveLinks(member.defaultValue)+}
|
430
|
+
</dd>
|
431
|
+
</dl>
|
432
|
+
</if>
|
433
|
+
|
434
|
+
<if test="!$member_last"><hr /></if>
|
435
|
+
</for>
|
436
|
+
</if>
|
437
|
+
|
438
|
+
<!-- ============================== method details ========================= -->
|
439
|
+
<if test="defined(ownMethods) && ownMethods.length">
|
440
|
+
<div class="sectionTitle">
|
441
|
+
Method Detail
|
442
|
+
</div>
|
443
|
+
<for each="member" in="ownMethods">
|
444
|
+
<a name="{+Link.symbolNameToLinkName(member)+}"> </a>
|
445
|
+
<div class="fixedFont">{!
|
446
|
+
if (member.isPrivate) output += "<private> ";
|
447
|
+
if (member.isInner) output += "<inner> ";
|
448
|
+
if (member.isStatic) output += "<static> ";
|
449
|
+
!}
|
450
|
+
|
451
|
+
<if test="member.type"><span class="light">{{+new Link().toSymbol(member.type)+}}</span></if>
|
452
|
+
<if test="member.isStatic && member.memberOf != '_global_'"><span class="light">{+member.memberOf+}.</span></if><b>{+member.name+}</b>{+makeSignature(member.params)+}
|
453
|
+
|
454
|
+
</div>
|
455
|
+
<div class="description">
|
456
|
+
{+resolveLinks(member.desc)+}
|
457
|
+
<if test="member.srcFile != data.srcFile">
|
458
|
+
<br />
|
459
|
+
<i>Defined in: </i> {+new Link().toSrc(member.srcFile)+}.
|
460
|
+
</if>
|
461
|
+
<if test="member.author"><br /><i>Author: </i>{+member.author+}.</if>
|
462
|
+
</div>
|
463
|
+
|
464
|
+
<if test="member.example.length">
|
465
|
+
<for each="example" in="member.example">
|
466
|
+
<pre class="code">{+example+}</pre>
|
467
|
+
</for>
|
468
|
+
</if>
|
469
|
+
|
470
|
+
<if test="member.params.length">
|
471
|
+
<dl class="detailList">
|
472
|
+
<dt class="heading">Parameters:</dt>
|
473
|
+
<for each="item" in="member.params">
|
474
|
+
<dt>
|
475
|
+
{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}<b>{+item.name+}</b>
|
476
|
+
<if test="item.isOptional"><i>Optional<if test="item.defaultValue">, Default: {+item.defaultValue+}</if></i></if>
|
477
|
+
</dt>
|
478
|
+
<dd>{+resolveLinks(item.desc)+}</dd>
|
479
|
+
</for>
|
480
|
+
</dl>
|
481
|
+
</if>
|
482
|
+
<if test="member.deprecated">
|
483
|
+
<dl class="detailList">
|
484
|
+
<dt class="heading">Deprecated:</dt>
|
485
|
+
<dt>
|
486
|
+
{+member.deprecated+}
|
487
|
+
</dt>
|
488
|
+
</dl>
|
489
|
+
</if>
|
490
|
+
<if test="member.since">
|
491
|
+
<dl class="detailList">
|
492
|
+
<dt class="heading">Since:</dt>
|
493
|
+
<dd>{+ member.since +}</dd>
|
494
|
+
</dl>
|
495
|
+
</dl>
|
496
|
+
</if>
|
497
|
+
<if test="member.exceptions.length">
|
498
|
+
<dl class="detailList">
|
499
|
+
<dt class="heading">Throws:</dt>
|
500
|
+
<for each="item" in="member.exceptions">
|
501
|
+
<dt>
|
502
|
+
{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+} <b>{+item.name+}</b>
|
503
|
+
</dt>
|
504
|
+
<dd>{+resolveLinks(item.desc)+}</dd>
|
505
|
+
</for>
|
506
|
+
</dl>
|
507
|
+
</if>
|
508
|
+
<if test="member.returns.length">
|
509
|
+
<dl class="detailList">
|
510
|
+
<dt class="heading">Returns:</dt>
|
511
|
+
<for each="item" in="member.returns">
|
512
|
+
<dd>{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}{+resolveLinks(item.desc)+}</dd>
|
513
|
+
</for>
|
514
|
+
</dl>
|
515
|
+
</if>
|
516
|
+
<if test="member.requires.length">
|
517
|
+
<dl class="detailList">
|
518
|
+
<dt class="heading">Requires:</dt>
|
519
|
+
<for each="item" in="member.requires">
|
520
|
+
<dd>{+ resolveLinks(item) +}</dd>
|
521
|
+
</for>
|
522
|
+
</dl>
|
523
|
+
</if>
|
524
|
+
<if test="member.see.length">
|
525
|
+
<dl class="detailList">
|
526
|
+
<dt class="heading">See:</dt>
|
527
|
+
<for each="item" in="member.see">
|
528
|
+
<dd>{+ new Link().toSymbol(item) +}</dd>
|
529
|
+
</for>
|
530
|
+
</dl>
|
531
|
+
</if>
|
532
|
+
|
533
|
+
<if test="!$member_last"><hr /></if>
|
534
|
+
</for>
|
535
|
+
</if>
|
536
|
+
|
537
|
+
<!-- ============================== event details ========================= -->
|
538
|
+
<if test="defined(ownEvents) && ownEvents.length">
|
539
|
+
<div class="sectionTitle">
|
540
|
+
Event Detail
|
541
|
+
</div>
|
542
|
+
<for each="member" in="ownEvents">
|
543
|
+
<a name="event:{+Link.symbolNameToLinkName(member)+}"> </a>
|
544
|
+
<div class="fixedFont">{!
|
545
|
+
if (member.isPrivate) output += "<private> ";
|
546
|
+
if (member.isInner) output += "<inner> ";
|
547
|
+
if (member.isStatic) output += "<static> ";
|
548
|
+
!}
|
549
|
+
|
550
|
+
<if test="member.type"><span class="light">{{+new Link().toSymbol(member.type)+}}</span></if>
|
551
|
+
<if test="member.isStatic && member.memberOf != '_global_'"><span class="light">{+member.memberOf+}.</span></if><b>{+member.name+}</b>{+makeSignature(member.params)+}
|
552
|
+
|
553
|
+
</div>
|
554
|
+
<div class="description">
|
555
|
+
{+resolveLinks(member.desc)+}
|
556
|
+
<if test="member.srcFile != data.srcFile">
|
557
|
+
<br />
|
558
|
+
<i>Defined in: </i> {+new Link().toSrc(member.srcFile)+}.
|
559
|
+
</if>
|
560
|
+
<if test="member.author"><br /><i>Author: </i>{+member.author+}.</if>
|
561
|
+
</div>
|
562
|
+
|
563
|
+
<if test="member.example.length">
|
564
|
+
<for each="example" in="member.example">
|
565
|
+
<pre class="code">{+example+}</pre>
|
566
|
+
</for>
|
567
|
+
</if>
|
568
|
+
|
569
|
+
<if test="member.params.length">
|
570
|
+
<dl class="detailList">
|
571
|
+
<dt class="heading">Parameters:</dt>
|
572
|
+
<for each="item" in="member.params">
|
573
|
+
<dt>
|
574
|
+
{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}<b>{+item.name+}</b>
|
575
|
+
<if test="item.isOptional"><i>Optional<if test="item.defaultValue">, Default: {+item.defaultValue+}</if></i></if>
|
576
|
+
</dt>
|
577
|
+
<dd>{+resolveLinks(item.desc)+}</dd>
|
578
|
+
</for>
|
579
|
+
</dl>
|
580
|
+
</if>
|
581
|
+
<if test="member.deprecated">
|
582
|
+
<dl class="detailList">
|
583
|
+
<dt class="heading">Deprecated:</dt>
|
584
|
+
<dt>
|
585
|
+
{+member.deprecated+}
|
586
|
+
</dt>
|
587
|
+
</dl>
|
588
|
+
</if>
|
589
|
+
<if test="member.since">
|
590
|
+
<dl class="detailList">
|
591
|
+
<dt class="heading">Since:</dt>
|
592
|
+
<dd>{+ member.since +}</dd>
|
593
|
+
</dl>
|
594
|
+
</dl>
|
595
|
+
</if>
|
596
|
+
<if test="member.exceptions.length">
|
597
|
+
<dl class="detailList">
|
598
|
+
<dt class="heading">Throws:</dt>
|
599
|
+
<for each="item" in="member.exceptions">
|
600
|
+
<dt>
|
601
|
+
{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+} <b>{+item.name+}</b>
|
602
|
+
</dt>
|
603
|
+
<dd>{+resolveLinks(item.desc)+}</dd>
|
604
|
+
</for>
|
605
|
+
</dl>
|
606
|
+
</if>
|
607
|
+
<if test="member.returns.length">
|
608
|
+
<dl class="detailList">
|
609
|
+
<dt class="heading">Returns:</dt>
|
610
|
+
<for each="item" in="member.returns">
|
611
|
+
<dd>{+((item.type)?"<span class=\"light fixedFont\">{"+(new Link().toSymbol(item.type))+"}</span> " : "")+}{+resolveLinks(item.desc)+}</dd>
|
612
|
+
</for>
|
613
|
+
</dl>
|
614
|
+
</if>
|
615
|
+
<if test="member.requires.length">
|
616
|
+
<dl class="detailList">
|
617
|
+
<dt class="heading">Requires:</dt>
|
618
|
+
<for each="item" in="member.requires">
|
619
|
+
<dd>{+ resolveLinks(item) +}</dd>
|
620
|
+
</for>
|
621
|
+
</dl>
|
622
|
+
</if>
|
623
|
+
<if test="member.see.length">
|
624
|
+
<dl class="detailList">
|
625
|
+
<dt class="heading">See:</dt>
|
626
|
+
<for each="item" in="member.see">
|
627
|
+
<dd>{+ new Link().toSymbol(item) +}</dd>
|
628
|
+
</for>
|
629
|
+
</dl>
|
630
|
+
</if>
|
631
|
+
|
632
|
+
<if test="!$member_last"><hr /></if>
|
633
|
+
</for>
|
634
|
+
</if>
|
635
|
+
|
636
|
+
<hr />
|
637
|
+
</div>
|
638
|
+
|
639
|
+
|
640
|
+
<!-- ============================== footer ================================= -->
|
641
|
+
<div class="fineprint" style="clear:both">
|
642
|
+
<if test="JSDOC.opt.D.copyright">©{+JSDOC.opt.D.copyright+}<br /></if>
|
643
|
+
Documentation generated by <a href="http://www.jsdoctoolkit.org/" target="_blank">JsDoc Toolkit</a> {+JSDOC.VERSION+} on {+new Date()+}
|
644
|
+
</div>
|
645
|
+
</body>
|
646
|
+
</html>
|