evergreen 1.0.0 → 1.0.1
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.
- checksums.yaml +15 -0
- data/README.rdoc +8 -6
- data/lib/evergreen.rb +8 -6
- data/lib/evergreen/application.rb +2 -5
- data/lib/evergreen/helper.rb +33 -0
- data/lib/evergreen/runner.rb +1 -1
- data/lib/evergreen/server.rb +1 -0
- data/lib/evergreen/suite.rb +6 -0
- data/lib/evergreen/version.rb +1 -1
- data/lib/evergreen/views/run.erb +16 -6
- data/lib/jasmine/Contribute.markdown +8 -7
- data/lib/jasmine/Gemfile +0 -1
- data/lib/jasmine/README.markdown +1 -8
- data/lib/jasmine/Rakefile +26 -15
- data/lib/jasmine/Release.markdown +8 -6
- data/lib/jasmine/config.rb +29 -0
- data/lib/jasmine/jasmine-core.gemspec +9 -2
- data/lib/jasmine/jasmine_dev.thor +1 -0
- data/lib/jasmine/jshint/run.js +1 -1
- data/lib/jasmine/lib/jasmine-core/jasmine-html.js +427 -1
- data/lib/jasmine/lib/jasmine-core/jasmine.css +81 -166
- data/lib/jasmine/lib/jasmine-core/jasmine.js +245 -192
- data/lib/jasmine/lib/jasmine-core/version.rb +1 -1
- data/lib/jasmine/spec/core/MatchersSpec.js +273 -0
- data/lib/jasmine/spec/core/PrettyPrintSpec.js +7 -0
- data/lib/jasmine/spec/html/HTMLReporterSpec.js +209 -0
- data/lib/jasmine/spec/node_suite.js +2 -2
- data/lib/jasmine/spec/runner.html +10 -3
- data/lib/jasmine/spec/spec_helper.rb +51 -0
- data/lib/jasmine/spec/tasks/build_distribution_spec.rb +33 -0
- data/lib/jasmine/spec/tasks/build_github_pages_spec.rb +69 -0
- data/lib/jasmine/spec/tasks/build_standalone_distribution_spec.rb +109 -0
- data/lib/jasmine/spec/tasks/build_standalone_runner_spec.rb +63 -0
- data/lib/jasmine/spec/tasks/count_specs_spec.rb +26 -0
- data/lib/jasmine/spec/tasks/execute_specs_spec.rb +81 -0
- data/lib/jasmine/spec/tasks/jshint_spec.rb +39 -0
- data/lib/jasmine/spec/tasks/release_spec.rb +39 -0
- data/lib/jasmine/spec/tasks/version_spec.rb +55 -0
- data/lib/jasmine/spec/templates/runner.html.erb +3 -3
- data/lib/jasmine/src/core/Env.js +10 -2
- data/lib/jasmine/src/core/Matchers.js +33 -4
- data/lib/jasmine/src/core/PrettyPrinter.js +2 -2
- data/lib/jasmine/src/core/base.js +15 -0
- data/lib/jasmine/src/core/mock-timeout.js +0 -0
- data/lib/jasmine/src/html/HtmlReporter.js +101 -0
- data/lib/jasmine/src/html/HtmlReporterHelpers.js +60 -0
- data/lib/jasmine/src/html/ReporterView.js +164 -0
- data/lib/jasmine/src/html/SpecView.js +79 -0
- data/lib/jasmine/src/html/SuiteView.js +22 -0
- data/lib/jasmine/src/html/TrivialReporter.js +3 -1
- data/lib/jasmine/src/html/_HTMLReporter.scss +302 -0
- data/lib/jasmine/src/html/_TrivialReporter.scss +169 -0
- data/lib/jasmine/src/html/jasmine.css +81 -166
- data/lib/jasmine/src/html/jasmine.scss +2 -0
- data/lib/jasmine/src/templates/version.js.erb +1 -0
- data/lib/jasmine/src/version.js +3 -2
- data/lib/jasmine/src/version.json +1 -1
- data/lib/jasmine/tasks/jasmine_dev.rb +18 -0
- data/lib/jasmine/tasks/jasmine_dev/base.rb +54 -0
- data/lib/jasmine/tasks/jasmine_dev/build_distribution.rb +53 -0
- data/lib/jasmine/tasks/jasmine_dev/build_github_pages.rb +31 -0
- data/lib/jasmine/tasks/jasmine_dev/build_standalone_distribution.rb +49 -0
- data/lib/jasmine/tasks/jasmine_dev/build_standalone_runner.rb +59 -0
- data/lib/jasmine/tasks/jasmine_dev/count_specs.rb +29 -0
- data/lib/jasmine/tasks/jasmine_dev/execute_specs.rb +52 -0
- data/lib/jasmine/tasks/jasmine_dev/js_hint.rb +13 -0
- data/lib/jasmine/tasks/jasmine_dev/release.rb +16 -0
- data/lib/jasmine/tasks/jasmine_dev/sources.rb +32 -0
- data/lib/jasmine/tasks/jasmine_dev/version.rb +62 -0
- data/spec/helper_spec.rb +25 -0
- data/spec/suite1/spec/javascripts/{spec_helper.coffee → helpers/spec_helper.coffee} +0 -0
- data/spec/suite1/spec/javascripts/{spec_helper.js → helpers/spec_helper.js} +0 -0
- data/spec/suite1/spec/javascripts/templates_spec.js +6 -6
- data/spec/suite2/spec/awesome_spec.js +1 -1
- data/spec/suite_spec.rb +6 -0
- metadata +116 -52
- data/lib/jasmine/src/SourcesList.json +0 -7
- data/lib/jasmine/tasks/build_dist.rb +0 -48
- data/lib/jasmine/tasks/build_specs.rb +0 -50
- data/lib/jasmine/tasks/helpers.rb +0 -50
- data/lib/jasmine/tasks/pages.rb +0 -13
- data/lib/jasmine/tasks/spec.rb +0 -37
- data/lib/jasmine/tasks/standalone.rb +0 -91
- data/lib/jasmine/tasks/version.rb +0 -5
@@ -1,48 +0,0 @@
|
|
1
|
-
desc "Build core jasmine.js"
|
2
|
-
task :build_dist => [:lint, :write_version_files] do
|
3
|
-
puts 'Building Jasmine distribution from source'.cyan
|
4
|
-
|
5
|
-
concat_into('./lib/jasmine-core/jasmine.js') { core_sources + version_source_file }
|
6
|
-
concat_into('./lib/jasmine-core/jasmine-html.js') { html_sources }
|
7
|
-
|
8
|
-
FileUtils.cp('./src/html/jasmine.css', './lib/jasmine-core/jasmine.css')
|
9
|
-
end
|
10
|
-
|
11
|
-
def concat_into(output_file, &block)
|
12
|
-
files = yield
|
13
|
-
File.open(output_file, 'w') do |out|
|
14
|
-
files.each do |f|
|
15
|
-
out << File.read(f)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
desc 'Check jasmine sources for coding problems'
|
21
|
-
task :lint => :require_node do
|
22
|
-
puts "Running JSHint via Node.js".cyan
|
23
|
-
system("node jshint/run.js") || exit(1)
|
24
|
-
end
|
25
|
-
|
26
|
-
task :hint => :lint
|
27
|
-
|
28
|
-
task :write_version_files do
|
29
|
-
scope = OpenStruct.new(:major => version_hash["major"],
|
30
|
-
:minor => version_hash["minor"],
|
31
|
-
:build => version_hash["build"],
|
32
|
-
:release_candidate => version_hash["release_candidate"],
|
33
|
-
:revision => Time.now.to_i)
|
34
|
-
|
35
|
-
js_template = Tilt.new('./src/templates/version.js.erb')
|
36
|
-
File.open('./src/version.js', 'w+') do |f|
|
37
|
-
f << js_template.render(scope)
|
38
|
-
end
|
39
|
-
|
40
|
-
rb_template = Tilt.new('./src/templates/version.rb.erb')
|
41
|
-
File.open('./lib/jasmine-core/version.rb', 'w+') do |f|
|
42
|
-
f << rb_template.render(scope)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def version_source_file
|
47
|
-
Dir.glob('src/version.js')
|
48
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'ostruct'
|
2
|
-
|
3
|
-
#build the browser spec for Jasmine core based on current tree
|
4
|
-
task :build_runner_html do
|
5
|
-
template = Tilt.new('spec/templates/runner.html.erb')
|
6
|
-
|
7
|
-
File.open('spec/runner.html', 'w+') do |f|
|
8
|
-
scope = OpenStruct.new(:title => "Jasmine Spec Runner: Jasmine Core",
|
9
|
-
:favicon => favicon,
|
10
|
-
:jasmine_tags => jasmine_tags,
|
11
|
-
:source_tags => source_tags,
|
12
|
-
:spec_file_tags => spec_file_tags)
|
13
|
-
f << template.render(scope)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def favicon
|
18
|
-
<<HTML
|
19
|
-
<link rel="shortcut icon" type="image/png" href="../images/jasmine_favicon.png">
|
20
|
-
HTML
|
21
|
-
end
|
22
|
-
|
23
|
-
def jasmine_tags
|
24
|
-
tags = %Q{<link href="../lib/jasmine-core/jasmine.css" rel="stylesheet"/>}
|
25
|
-
tags << "\n "
|
26
|
-
tags << script_tags_for("../lib/jasmine-core/jasmine.js")
|
27
|
-
tags << "\n "
|
28
|
-
tags << undefined_catch
|
29
|
-
tags
|
30
|
-
end
|
31
|
-
|
32
|
-
def undefined_catch
|
33
|
-
<<HTML
|
34
|
-
<script type="text/javascript">
|
35
|
-
// yes, really keep this here to keep us honest, but only for jasmine's own runner! [xw]
|
36
|
-
undefined = "diz be undefined yo";
|
37
|
-
</script>
|
38
|
-
HTML
|
39
|
-
end
|
40
|
-
|
41
|
-
def source_tags
|
42
|
-
other_files = html_sources + console_sources
|
43
|
-
script_tags_for other_files.collect { |f| "../#{f}" }
|
44
|
-
end
|
45
|
-
|
46
|
-
def spec_file_tags
|
47
|
-
spec_files = core_specfiles + html_specfiles + console_specfiles
|
48
|
-
script_tags_for spec_files.collect { |f| "../#{f}" }
|
49
|
-
end
|
50
|
-
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
|
3
|
-
def core_sources
|
4
|
-
first_sources = JSON.parse(File.read('./src/SourcesList.json')).collect { |f| "./src/core/#{f}" }
|
5
|
-
|
6
|
-
remaining_sources = Dir.glob('./src/core/*.js').reject { |f| first_sources.include?(f) }.sort
|
7
|
-
|
8
|
-
first_sources + remaining_sources
|
9
|
-
end
|
10
|
-
|
11
|
-
def html_sources
|
12
|
-
Dir.glob('./src/html/*.js')
|
13
|
-
end
|
14
|
-
|
15
|
-
def console_sources
|
16
|
-
Dir.glob('./src/console/*.js')
|
17
|
-
end
|
18
|
-
|
19
|
-
def core_specfiles
|
20
|
-
Dir.glob('./spec/core/*.js')
|
21
|
-
end
|
22
|
-
|
23
|
-
def html_specfiles
|
24
|
-
Dir.glob('./spec/html/*.js')
|
25
|
-
end
|
26
|
-
|
27
|
-
def console_specfiles
|
28
|
-
Dir.glob('./spec/console/*.js')
|
29
|
-
end
|
30
|
-
|
31
|
-
def version_string
|
32
|
-
version = "#{version_hash['major']}.#{version_hash['minor']}.#{version_hash['build']}"
|
33
|
-
version += ".rc#{version_hash['release_candidate']}" if version_hash['release_candidate']
|
34
|
-
version
|
35
|
-
end
|
36
|
-
|
37
|
-
def version_hash
|
38
|
-
@version ||= JSON.parse(File.new("./src/version.json").read);
|
39
|
-
end
|
40
|
-
|
41
|
-
def script_tags_for(files)
|
42
|
-
script_tag = Tilt::new('./spec/templates/script_tag.html.erb')
|
43
|
-
|
44
|
-
srcs = (files.is_a?(String) ? [files] : files)
|
45
|
-
srcs.inject([]) do |tags, f|
|
46
|
-
scope = OpenStruct.new :file => f
|
47
|
-
tags << script_tag.render(scope)
|
48
|
-
tags
|
49
|
-
end.join("\n ")
|
50
|
-
end
|
data/lib/jasmine/tasks/pages.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
desc "Build the Github pages HTML"
|
2
|
-
task :build_pages => :require_pages_submodule do
|
3
|
-
Dir.chdir("pages") do
|
4
|
-
FileUtils.rm_r('pages_output') if File.exist?('pages_output')
|
5
|
-
Dir.chdir('pages_source') do
|
6
|
-
system("frank export ../pages_output")
|
7
|
-
end
|
8
|
-
puts "\n"
|
9
|
-
puts "Copying built website to the root of the gh-pages branch".cyan
|
10
|
-
puts "\n\n"
|
11
|
-
system("cp -r pages_output/* .")
|
12
|
-
end
|
13
|
-
end
|
data/lib/jasmine/tasks/spec.rb
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
desc "Run spec suite: Browser, Node, JSHint"
|
2
|
-
task :spec => ["build_dist", "count_specs", "spec:node", "spec:browser"]
|
3
|
-
|
4
|
-
desc 'Run specs in Node.js'
|
5
|
-
task "spec:node" => [:count_specs, :require_node] do
|
6
|
-
puts "Running all appropriate specs via Node.js".cyan
|
7
|
-
|
8
|
-
color = Term::ANSIColor.coloring? ? "--color" : "--noColor"
|
9
|
-
system("node spec/node_suite.js #{color}")
|
10
|
-
end
|
11
|
-
|
12
|
-
desc "Run specs in the default browser (MacOS only)"
|
13
|
-
task "spec:browser" => [:count_specs, :build_runner_html] do
|
14
|
-
puts "Running all appropriate specs via the default web browser".cyan
|
15
|
-
system("open spec/runner.html")
|
16
|
-
end
|
17
|
-
|
18
|
-
#Count number of specs in Jasmine core
|
19
|
-
task :count_specs do
|
20
|
-
core_specs_count = count_specs_in(Dir.glob('spec/core/*.js'))
|
21
|
-
console_spec_count = count_specs_in(Dir.glob('spec/console/*.js'))
|
22
|
-
html_spec_count = count_specs_in(Dir.glob('spec/html/*.js'))
|
23
|
-
|
24
|
-
puts "\n"
|
25
|
-
puts "#{(core_specs_count + console_spec_count).to_s.yellow.bold} specs for Node.js runner (exclude DOM-related specs)"
|
26
|
-
puts "#{(core_specs_count + console_spec_count + html_spec_count).to_s.yellow.bold} specs for Browser runner (all specs)"
|
27
|
-
puts "\n"
|
28
|
-
puts "Please verify that these numbers match the runner output."
|
29
|
-
puts "\n"
|
30
|
-
end
|
31
|
-
|
32
|
-
def count_specs_in(files)
|
33
|
-
files.inject(0) do |count, file|
|
34
|
-
File.read(file).scan(/\sit\(/) {|s| count += 1}
|
35
|
-
count
|
36
|
-
end
|
37
|
-
end
|
@@ -1,91 +0,0 @@
|
|
1
|
-
require 'ostruct'
|
2
|
-
|
3
|
-
desc "Build standalone distribution"
|
4
|
-
task :standalone => [:require_pages_submodule, :protect_current_dist_zip, :build_spec_runner_html] do
|
5
|
-
require 'tmpdir'
|
6
|
-
|
7
|
-
zip_root = File.join(Dir.tmpdir, "zip_root")
|
8
|
-
temp_dir = File.join(zip_root, "jasmine-standalone-#{version_string}")
|
9
|
-
puts "Building Example Project in #{temp_dir}"
|
10
|
-
FileUtils.rm_r temp_dir if File.exist?(temp_dir)
|
11
|
-
FileUtils.mkdir_p(temp_dir)
|
12
|
-
|
13
|
-
root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
14
|
-
FileUtils.mkdir_p(File.join(root, "example"))
|
15
|
-
FileUtils.cp_r(File.join(root, 'example/.'), File.join(temp_dir))
|
16
|
-
|
17
|
-
lib_dir = File.join(temp_dir, "lib/jasmine-#{version_string}")
|
18
|
-
FileUtils.mkdir_p(lib_dir)
|
19
|
-
{
|
20
|
-
"images/jasmine_favicon.png" => "jasmine_favicon.png",
|
21
|
-
"lib/jasmine-core/jasmine.js" => "jasmine.js",
|
22
|
-
"lib/jasmine-core/jasmine-html.js" => "jasmine-html.js",
|
23
|
-
"lib/jasmine-core/jasmine.css" => "jasmine.css",
|
24
|
-
"MIT.LICENSE" => "MIT.LICENSE"
|
25
|
-
}.each_pair do |src, dest|
|
26
|
-
FileUtils.cp(File.join(root, src), File.join(lib_dir, dest))
|
27
|
-
end
|
28
|
-
|
29
|
-
dist_dir = File.join(root, 'pages/downloads')
|
30
|
-
zip_file_name = File.join(dist_dir, "jasmine-standalone-#{version_string}.zip")
|
31
|
-
|
32
|
-
puts "Zipping Example Project and moving to #{zip_file_name}"
|
33
|
-
exec "cd #{zip_root} && zip #{zip_file_name} -r . -x .[a-zA-Z0-9]*"
|
34
|
-
end
|
35
|
-
|
36
|
-
#Build SpecRunner.html for standalone dist example project
|
37
|
-
task :build_spec_runner_html do
|
38
|
-
template = Tilt.new('spec/templates/runner.html.erb')
|
39
|
-
|
40
|
-
File.open('lib/jasmine-core/example/SpecRunner.html', 'w+') do |f|
|
41
|
-
scope = OpenStruct.new(:title => "Jasmine Spec Runner",
|
42
|
-
:favicon => example_favicon,
|
43
|
-
:jasmine_tags => example_jasmine_tags,
|
44
|
-
:source_tags => example_source_tags,
|
45
|
-
:spec_file_tags => example_spec_tags)
|
46
|
-
f << template.render(scope)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def example_path
|
51
|
-
"lib/jasmine-#{version_string}"
|
52
|
-
end
|
53
|
-
|
54
|
-
def example_favicon
|
55
|
-
<<HTML
|
56
|
-
<link rel="shortcut icon" type="image/png" href="#{example_path}/jasmine_favicon.png">
|
57
|
-
HTML
|
58
|
-
end
|
59
|
-
|
60
|
-
def example_jasmine_tags
|
61
|
-
tags = %Q{<link rel="stylesheet" type="text/css" href="#{example_path}/jasmine.css">}
|
62
|
-
tags << "\n "
|
63
|
-
tags << script_tags_for(["#{example_path}/jasmine.js", "#{example_path}/jasmine-html.js"])
|
64
|
-
tags
|
65
|
-
end
|
66
|
-
|
67
|
-
def example_source_tags
|
68
|
-
script_tags_for ['spec/SpecHelper.js', 'spec/PlayerSpec.js']
|
69
|
-
end
|
70
|
-
|
71
|
-
def example_spec_tags
|
72
|
-
script_tags_for ['src/Player.js', 'src/Song.js']
|
73
|
-
end
|
74
|
-
|
75
|
-
|
76
|
-
task :protect_current_dist_zip do
|
77
|
-
root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
78
|
-
dist_dir = File.join(root, 'pages/downloads')
|
79
|
-
zip_file_name = File.join(dist_dir, "jasmine-standalone-#{version_string}.zip")
|
80
|
-
|
81
|
-
zip_present_message = "\n\n"
|
82
|
-
zip_present_message << "==> STOPPED <==".red
|
83
|
-
zip_present_message << "\n\n"
|
84
|
-
zip_present_message << "The file ".red + "#{zip_file_name}" + " already exists.".red + "\n"
|
85
|
-
zip_present_message << "If you should be building the next version, update src/version.json"
|
86
|
-
zip_present_message << "\n"
|
87
|
-
zip_present_message << "If the version is correct, you must be trying to re-build the standalone ZIP. Delete the ZIP and rebuild."
|
88
|
-
zip_present_message << "\n"
|
89
|
-
|
90
|
-
raise zip_present_message if File.exist?(zip_file_name)
|
91
|
-
end
|