diff --git a/example/SpecRunner.html b/example/SpecRunner.html
index 2089f4ca..ed84ff6e 100644
--- a/example/SpecRunner.html
+++ b/example/SpecRunner.html
@@ -2,26 +2,53 @@
"http://www.w3.org/TR/html4/loose.dtd">
- Jasmine Test Runner
-
-
-
+ Jasmine Spec Runner
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/lib/jasmine.js b/lib/jasmine.js
index ed30e9ad..19dcf75b 100644
--- a/lib/jasmine.js
+++ b/lib/jasmine.js
@@ -2467,5 +2467,5 @@ jasmine.version_= {
"major": 1,
"minor": 1,
"build": 0,
- "revision": 1308065344
+ "revision": 1308154429
}
diff --git a/spec/runner.html b/spec/runner.html
index 901aba26..c406a56e 100644
--- a/spec/runner.html
+++ b/spec/runner.html
@@ -2,18 +2,23 @@
"http://www.w3.org/TR/html4/loose.dtd">
- Jasmine Test Runner
+ Jasmine Spec Runner: Jasmine Core
+
+
+
+
-
-
+
+
+
@@ -51,13 +56,22 @@
return trivialReporter.specFilter(spec);
};
+ var currentWindowOnload = window.onload;
+
window.onload = function() {
- jasmineEnv.execute();
+ if (currentWindowOnload) {
+ currentWindowOnload();
+ }
+ execJasmine();
};
+
+ function execJasmine() {
+ jasmineEnv.execute();
+ }
+
})();
-
diff --git a/spec/templates/runner.html.erb b/spec/templates/runner.html.erb
index 13a5bfba..964e1682 100644
--- a/spec/templates/runner.html.erb
+++ b/spec/templates/runner.html.erb
@@ -2,17 +2,15 @@
"http://www.w3.org/TR/html4/loose.dtd">
- Jasmine Test Runner
+ <%= title %>
-
-
-
+ <%= favicon %>
+ <%= jasmine_tags %>
+
<%= source_tags %>
+
<%= spec_file_tags %>
-
diff --git a/src/templates/example_project_jasmine_tags.html.erb b/src/templates/example_project_jasmine_tags.html.erb
new file mode 100644
index 00000000..0d423f22
--- /dev/null
+++ b/src/templates/example_project_jasmine_tags.html.erb
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/version.js b/src/version.js
index 246ab2a7..ae37abee 100644
--- a/src/version.js
+++ b/src/version.js
@@ -2,5 +2,5 @@ jasmine.version_= {
"major": 1,
"minor": 1,
"build": 0,
- "revision": 1308065344
+ "revision": 1308154429
}
diff --git a/tasks/build_dist.rb b/tasks/build_dist.rb
index 76cedee1..92357ece 100644
--- a/tasks/build_dist.rb
+++ b/tasks/build_dist.rb
@@ -2,7 +2,6 @@ desc "Build core jasmine.js"
task :build_dist => [:lint, :write_version_file] do
puts 'Building Jasmine distribution from source'
- require 'pp'
concat_into('lib/jasmine.js') { core_sources + version_source_file }
concat_into('lib/jasmine-html.js') { html_sources }
diff --git a/tasks/build_specs.rb b/tasks/build_specs.rb
index 2c76a695..ef208b3e 100644
--- a/tasks/build_specs.rb
+++ b/tasks/build_specs.rb
@@ -1,16 +1,43 @@
require 'ostruct'
-desc "build the browser spec runner.html based on current tree"
+desc "build the browser spec for Jasmine core based on current tree"
task :build_runner_html do
template = Tilt.new('spec/templates/runner.html.erb')
File.open('spec/runner.html', 'w+') do |f|
- scope = OpenStruct.new(:source_tags => other_source_file_tags,
+ scope = OpenStruct.new(:title => "Jasmine Spec Runner: Jasmine Core",
+ :favicon => favicon,
+ :jasmine_tags => core_jasmine_tags,
+ :source_tags => other_source_file_tags,
:spec_file_tags => spec_file_tags)
f << template.render(scope)
end
end
+def favicon
+ <
+HTML
+end
+
+def core_jasmine_tags
+ tags = %Q{}
+ tags << "\n "
+ tags << script_tags_for("../lib/jasmine.js")
+ tags << "\n "
+ tags << undefined_catch
+ tags
+end
+
+def undefined_catch
+ <
+ // yes, really keep this here to keep us honest, but only for jasmine's own runner! [xw]
+ undefined = "diz be undefined yo";
+
+HTML
+end
+
def other_source_file_tags
other_files = html_sources + console_sources
script_tags_for other_files.collect { |f| "../#{f}" }
@@ -21,12 +48,3 @@ def spec_file_tags
script_tags_for spec_files.collect { |f| "../#{f}" }
end
-def script_tags_for(files)
- script_tag = Tilt::new('spec/templates/script_tag.html.erb')
-
- files.inject([]) do |tags, f|
- scope = OpenStruct.new :file => f
- tags << script_tag.render(scope)
- tags
- end.join("\n ")
-end
\ No newline at end of file
diff --git a/tasks/helpers.rb b/tasks/helpers.rb
index b306ade3..cf8fa6ee 100644
--- a/tasks/helpers.rb
+++ b/tasks/helpers.rb
@@ -34,4 +34,14 @@ end
def version_hash
@version ||= JSON.parse(File.new("src/version.json").read);
+end
+
+def script_tags_for(files)
+ script_tag = Tilt::new('spec/templates/script_tag.html.erb')
+
+ files.inject([]) do |tags, f|
+ scope = OpenStruct.new :file => f
+ tags << script_tag.render(scope)
+ tags
+ end.join("\n ")
end
\ No newline at end of file
diff --git a/tasks/standalone.rb b/tasks/standalone.rb
index 35835f07..ce79dc36 100644
--- a/tasks/standalone.rb
+++ b/tasks/standalone.rb
@@ -1,34 +1,84 @@
-desc "Build example project"
-task :build_example_project => :need_pages_submodule do
+require 'ostruct'
+
+desc "Build standalone distribution, block if zip of current version"
+task :standalone_safe => [:require_pages_submodule, :protect_current_dist_zip, :build_spec_runner_html]
+
+desc "Build standalone distribution"
+task :standalone => [:require_pages_submodule, :build_spec_runner_html] do
require 'tmpdir'
- temp_dir = File.join(Dir.tmpdir, 'jasmine-standalone-project')
+ zip_root = File.join(Dir.tmpdir, "zip_root")
+ temp_dir = File.join(zip_root, "jasmine-standalone-#{version_string}")
puts "Building Example Project in #{temp_dir}"
FileUtils.rm_r temp_dir if File.exist?(temp_dir)
- Dir.mkdir(temp_dir)
+ FileUtils.mkdir_p(temp_dir)
- root = File.expand_path(File.dirname(__FILE__))
+ root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
FileUtils.cp_r File.join(root, 'example/.'), File.join(temp_dir)
- substitute_jasmine_version(File.join(temp_dir, "SpecRunner.html"))
- lib_dir = File.join(temp_dir, "lib/jasmine-#{jasmine_version}")
+ lib_dir = File.join(temp_dir, "lib/jasmine-#{version_string}")
FileUtils.mkdir_p(lib_dir)
{
- "lib/jasmine.js" => "jasmine.js",
- "lib/jasmine-html.js" => "jasmine-html.js",
- "src/html/jasmine.css" => "jasmine.css",
- "MIT.LICENSE" => "MIT.LICENSE"
+ "images/jasmine_favicon.png" => "jasmine_favicon.png",
+ "lib/jasmine.js" => "jasmine.js",
+ "lib/jasmine-html.js" => "jasmine-html.js",
+ "src/html/jasmine.css" => "jasmine.css",
+ "MIT.LICENSE" => "MIT.LICENSE"
}.each_pair do |src, dest|
FileUtils.cp(File.join(root, src), File.join(lib_dir, dest))
end
dist_dir = File.join(root, 'pages/downloads')
- zip_file_name = File.join(dist_dir, "jasmine-standalone-#{jasmine_version}.zip")
+ zip_file_name = File.join(dist_dir, "jasmine-standalone-#{version_string}.zip")
+
puts "Zipping Example Project and moving to #{zip_file_name}"
- FileUtils.mkdir(dist_dir) unless File.exist?(dist_dir)
- if File.exist?(zip_file_name)
- puts "WARNING!!! #{zip_file_name} already exists!"
- FileUtils.rm(zip_file_name)
- end
- exec "cd #{temp_dir} && zip -r #{zip_file_name} . -x .[a-zA-Z0-9]*"
+ exec "cd #{zip_root} && zip #{zip_file_name} -r . -x .[a-zA-Z0-9]*"
end
+
+desc "Build SpecRunner.html for standalone dist example project"
+task :build_spec_runner_html do
+ template = Tilt.new('spec/templates/runner.html.erb')
+
+ File.open('example/SpecRunner.html', 'w+') do |f|
+ scope = OpenStruct.new(:title => "Jasmine Spec Runner",
+ :favicon => example_favicon,
+ :jasmine_tags => example_jasmine_tags,
+ :source_tags => example_source_tags,
+ :spec_file_tags => example_spec_tags)
+ f << template.render(scope)
+ end
+end
+
+def example_path
+ "lib/jasmine-#{version_string}"
+end
+
+def example_favicon
+ <
+HTML
+end
+
+def example_jasmine_tags
+ tags = %Q{}
+ tags << "\n "
+ tags << script_tags_for(["#{example_path}/jasmine.js", "#{example_path}/jasmine-html.js"])
+ tags
+end
+
+def example_source_tags
+ script_tags_for ['spec/SpecHelper.js', 'spec/PlayerSpec.js']
+end
+
+def example_spec_tags
+ script_tags_for ['src/Player.js', 'src/Song.js']
+end
+
+
+task :protect_current_dist_zip do
+ root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
+ dist_dir = File.join(root, 'pages/downloads')
+ zip_file_name = File.join(dist_dir, "jasmine-standalone-#{version_string}.zip")
+
+ raise "STOPPED: #{zip_file_name} already exists" if File.exist?(zip_file_name)
+end
\ No newline at end of file