jasmine 1.3.2 → 2.0.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +3 -37
- data/Gemfile +11 -2
- data/HOW_TO_TEST.markdown +1 -1
- data/README.markdown +10 -10
- data/Rakefile +18 -29
- data/generators/jasmine/templates/jasmine-example/spec/PlayerSpec.js +2 -2
- data/generators/jasmine/templates/jasmine-example/spec/SpecHelper.js +14 -8
- data/generators/jasmine/templates/spec/javascripts/support/jasmine.yml +3 -3
- data/generators/jasmine/templates/spec/javascripts/support/jasmine_helper.rb +1 -0
- data/jasmine.gemspec +11 -41
- data/lib/generators/jasmine/examples/templates/spec/javascripts/helpers/SpecHelper.js +15 -9
- data/lib/generators/jasmine/examples/templates/spec/javascripts/jasmine_examples/PlayerSpec.js +1 -1
- data/lib/jasmine.rb +10 -7
- data/lib/jasmine/asset_bundle.rb +69 -0
- data/lib/jasmine/asset_expander.rb +7 -7
- data/lib/jasmine/command_line_tool.rb +18 -0
- data/lib/jasmine/config.rb +23 -15
- data/lib/jasmine/configuration.rb +14 -8
- data/lib/jasmine/core_configuration.rb +7 -4
- data/lib/jasmine/dependencies.rb +14 -18
- data/lib/jasmine/formatters/base.rb +9 -0
- data/lib/jasmine/formatters/console.rb +45 -0
- data/lib/jasmine/formatters/junit_xml.rb +47 -0
- data/lib/jasmine/path_expander.rb +1 -1
- data/lib/jasmine/railtie.rb +7 -6
- data/lib/jasmine/reporters/api_reporter.rb +38 -0
- data/lib/jasmine/results.rb +28 -9
- data/lib/jasmine/results_processor.rb +1 -1
- data/lib/jasmine/run.html.erb +1 -1
- data/lib/jasmine/run_specs.rb +12 -15
- data/lib/jasmine/runners/http.rb +11 -49
- data/lib/jasmine/selenium_driver.rb +17 -14
- data/lib/jasmine/tasks/jasmine.rake +21 -30
- data/lib/jasmine/tasks/{jasmine_rails3.rake → jasmine_rails.rake} +0 -0
- data/lib/jasmine/version.rb +1 -1
- data/lib/jasmine/yaml_config_parser.rb +9 -0
- data/release_notes/v2.0.0.rc2.md +44 -0
- data/spec/application_spec.rb +33 -38
- data/spec/asset_expander_spec.rb +4 -32
- data/spec/configuration_spec.rb +95 -35
- data/spec/jasmine_command_line_tool_spec.rb +63 -11
- data/spec/jasmine_rails_spec.rb +94 -0
- data/spec/lib/jasmine/formatters/base_spec.rb +9 -0
- data/spec/lib/jasmine/formatters/console_spec.rb +92 -0
- data/spec/lib/jasmine/formatters/junit_xml_spec.rb +55 -0
- data/spec/lib/jasmine/reporters/api_reporter_spec.rb +53 -0
- data/spec/lib/jasmine/runners/http_spec.rb +21 -0
- data/spec/path_expander_spec.rb +25 -0
- data/spec/results_spec.rb +59 -17
- data/spec/spec_helper.rb +36 -18
- data/spec/support/fake_selenium_driver.rb +35 -0
- data/spec/yaml_config_parser_spec.rb +37 -0
- metadata +65 -103
- data/generators/jasmine/templates/jasmine-example/SpecRunner.html +0 -54
- data/lib/jasmine/asset_pipeline_utility.rb +0 -19
- data/lib/jasmine/javascripts/boot.js +0 -28
- data/lib/jasmine/rspec_formatter.rb +0 -92
- data/spec/dependencies_spec.rb +0 -315
- data/spec/jasmine_rails2_spec.rb +0 -89
- data/spec/jasmine_rails3_spec.rb +0 -69
- data/spec/jasmine_self_test_spec.rb +0 -29
- data/spec/rspec_formatter_spec.rb +0 -88
data/spec/jasmine_rails2_spec.rb
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
if Jasmine::Dependencies.rails2? && !Jasmine::Dependencies.legacy_rails?
|
4
|
-
|
5
|
-
describe "A Rails 2 app" do
|
6
|
-
|
7
|
-
before :each do
|
8
|
-
temp_dir_before
|
9
|
-
Dir::chdir @tmp
|
10
|
-
create_rails 'rails-example'
|
11
|
-
Dir::chdir 'rails-example'
|
12
|
-
end
|
13
|
-
|
14
|
-
after :each do
|
15
|
-
temp_dir_after
|
16
|
-
end
|
17
|
-
|
18
|
-
context "before Jasmine has been installed" do
|
19
|
-
|
20
|
-
it "should not show the jasmine:install generator" do
|
21
|
-
output = `./script/generate --help`
|
22
|
-
output.should_not include('jasmine:install')
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should not show jasmine:install help" do
|
26
|
-
output = `rails g`
|
27
|
-
output.should_not include('This will create')
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should not show jasmine rake task" do
|
31
|
-
output = `rake -T`
|
32
|
-
output.should_not include("jasmine ")
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should not show jasmine:ci rake task" do
|
36
|
-
output = `rake -T`
|
37
|
-
output.should_not include("jasmine:ci")
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
context "when the Jasmine generators are available" do
|
43
|
-
before :each do
|
44
|
-
`mkdir -p lib/generators && ln -s #{@root}/generators/jasmine lib/generators/jasmine`
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should show the Jasmine generator" do
|
48
|
-
output = `./script/generate --help`
|
49
|
-
output.should include("Lib: jasmine")
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should show jasmine:install help" do
|
53
|
-
output = `./script/generate jasmine --help`
|
54
|
-
|
55
|
-
output.should include("Usage: ./script/generate jasmine")
|
56
|
-
end
|
57
|
-
|
58
|
-
context "and been run" do
|
59
|
-
before :each do
|
60
|
-
`./script/generate jasmine`
|
61
|
-
end
|
62
|
-
|
63
|
-
it "should find the Jasmine configuration files" do
|
64
|
-
File.exists?("spec/javascripts/support/jasmine.yml").should == true
|
65
|
-
end
|
66
|
-
|
67
|
-
it "should find the Jasmine example files" do
|
68
|
-
File.exists?("public/javascripts/Player.js").should == true
|
69
|
-
File.exists?("public/javascripts/Song.js").should == true
|
70
|
-
|
71
|
-
File.exists?("spec/javascripts/PlayerSpec.js").should == true
|
72
|
-
File.exists?("spec/javascripts/helpers/SpecHelper.js").should == true
|
73
|
-
|
74
|
-
File.exists?("spec/javascripts/support/jasmine.yml").should == true
|
75
|
-
end
|
76
|
-
|
77
|
-
it "should show jasmine rake task" do
|
78
|
-
output = `rake -T`
|
79
|
-
output.should include("jasmine ")
|
80
|
-
end
|
81
|
-
|
82
|
-
it "should show jasmine:ci rake task" do
|
83
|
-
output = `rake -T`
|
84
|
-
output.should include("jasmine:ci")
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
data/spec/jasmine_rails3_spec.rb
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
if Jasmine::Dependencies.rails3?
|
4
|
-
|
5
|
-
describe "A Rails 3 app" do
|
6
|
-
|
7
|
-
before :each do
|
8
|
-
temp_dir_before
|
9
|
-
Dir::chdir @tmp
|
10
|
-
|
11
|
-
create_rails 'rails-example'
|
12
|
-
Dir::chdir 'rails-example'
|
13
|
-
open('Gemfile', 'a') { |f| f.puts "gem \"jasmine\", \"#{Jasmine::VERSION}\"" }
|
14
|
-
end
|
15
|
-
|
16
|
-
after :each do
|
17
|
-
temp_dir_after
|
18
|
-
end
|
19
|
-
|
20
|
-
context "when Jasmine has been required" do
|
21
|
-
it "should show the Jasmine generators" do
|
22
|
-
output = `rails g`
|
23
|
-
output.should include("jasmine:install")
|
24
|
-
output.should include("jasmine:examples")
|
25
|
-
end
|
26
|
-
|
27
|
-
it "should show jasmine:install help" do
|
28
|
-
output = `rails g jasmine:install --help`
|
29
|
-
output.should include("rails generate jasmine:install")
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should have the jasmine rake task" do
|
33
|
-
output = `rake -T`
|
34
|
-
output.should include("jasmine ")
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should have the jasmine:ci rake task" do
|
38
|
-
output = `rake -T`
|
39
|
-
output.should include("jasmine:ci")
|
40
|
-
end
|
41
|
-
|
42
|
-
context "and then installed" do
|
43
|
-
before :each do
|
44
|
-
@output = `rails g jasmine:install`
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should have the Jasmine config files" do
|
48
|
-
@output.should include("create")
|
49
|
-
|
50
|
-
File.exists?("spec/javascripts/helpers/.gitkeep").should == true
|
51
|
-
File.exists?("spec/javascripts/support/jasmine.yml").should == true
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
context "and the jasmine examples have been installed" do
|
56
|
-
it "should find the Jasmine example files" do
|
57
|
-
output = `rails g jasmine:examples`
|
58
|
-
output.should include("create")
|
59
|
-
|
60
|
-
File.exists?("app/assets/javascripts/jasmine_examples/Player.js").should == true
|
61
|
-
File.exists?("app/assets/javascripts/jasmine_examples/Song.js").should == true
|
62
|
-
|
63
|
-
File.exists?("spec/javascripts/jasmine_examples/PlayerSpec.js").should == true
|
64
|
-
File.exists?("spec/javascripts/helpers/SpecHelper.js").should == true
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
Jasmine.configure do |config|
|
4
|
-
root = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
5
|
-
config.src_dir = File.join(root, 'src')
|
6
|
-
config.spec_dir = Jasmine::Core.path
|
7
|
-
config.spec_files = lambda { (Jasmine::Core.html_spec_files + Jasmine::Core.core_spec_files).map {|f| File.join(config.spec_dir, f) } }
|
8
|
-
end
|
9
|
-
|
10
|
-
config = Jasmine.config
|
11
|
-
|
12
|
-
server = Jasmine::Server.new(config.port, Jasmine::Application.app(config))
|
13
|
-
driver = Jasmine::SeleniumDriver.new(config.browser, "#{config.host}:#{config.port}/")
|
14
|
-
|
15
|
-
t = Thread.new do
|
16
|
-
begin
|
17
|
-
server.start
|
18
|
-
rescue ChildProcess::TimeoutError
|
19
|
-
end
|
20
|
-
# # ignore bad exits
|
21
|
-
end
|
22
|
-
t.abort_on_exception = true
|
23
|
-
Jasmine::wait_for_listener(config.port, "jasmine server")
|
24
|
-
puts "jasmine server started."
|
25
|
-
|
26
|
-
results_processor = Jasmine::ResultsProcessor.new(config)
|
27
|
-
results = Jasmine::Runners::HTTP.new(driver, results_processor, config.result_batch_size).run
|
28
|
-
formatter = Jasmine::RspecFormatter.new
|
29
|
-
formatter.format_results(results)
|
@@ -1,88 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Jasmine::RspecFormatter do
|
4
|
-
describe "environment variables" do
|
5
|
-
def stub_env_hash(hash)
|
6
|
-
ENV.stub!(:[]) do |arg|
|
7
|
-
hash[arg]
|
8
|
-
end
|
9
|
-
end
|
10
|
-
describe "browser configuration" do
|
11
|
-
it "should use firefox by default" do
|
12
|
-
pending
|
13
|
-
stub_env_hash({"JASMINE_BROWSER" => nil})
|
14
|
-
config = double('config')
|
15
|
-
formatter = Jasmine::RspecFormatter.new(config)
|
16
|
-
Jasmine::SeleniumDriver.should_receive(:new).
|
17
|
-
with("firefox", anything).
|
18
|
-
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
19
|
-
formatter.start
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should use ENV['JASMINE_BROWSER'] if set" do
|
23
|
-
pending
|
24
|
-
stub_env_hash({"JASMINE_BROWSER" => "mosaic"})
|
25
|
-
|
26
|
-
Jasmine::SeleniumDriver.should_receive(:new).
|
27
|
-
with("mosaic", anything).
|
28
|
-
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
29
|
-
formatter.start
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
describe "jasmine host" do
|
34
|
-
it "should use http://localhost by default" do
|
35
|
-
pending
|
36
|
-
stub_env_hash({})
|
37
|
-
config = Jasmine::Config.new
|
38
|
-
config.instance_variable_set(:@jasmine_server_port, '1234')
|
39
|
-
config.stub!(:start_jasmine_server)
|
40
|
-
|
41
|
-
Jasmine::SeleniumDriver.should_receive(:new).
|
42
|
-
with(anything, "http://localhost:1234/").
|
43
|
-
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
44
|
-
config.start
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should use ENV['JASMINE_HOST'] if set" do
|
48
|
-
pending
|
49
|
-
stub_env_hash({"JASMINE_HOST" => "http://some_host"})
|
50
|
-
config = Jasmine::Config.new
|
51
|
-
config.instance_variable_set(:@jasmine_server_port, '1234')
|
52
|
-
config.stub!(:start_jasmine_server)
|
53
|
-
|
54
|
-
Jasmine::SeleniumDriver.should_receive(:new).
|
55
|
-
with(anything, "http://some_host:1234/").
|
56
|
-
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
57
|
-
config.start
|
58
|
-
end
|
59
|
-
|
60
|
-
it "should use ENV['JASMINE_PORT'] if set" do
|
61
|
-
pending
|
62
|
-
stub_env_hash({"JASMINE_PORT" => "4321"})
|
63
|
-
config = Jasmine::Config.new
|
64
|
-
Jasmine.stub!(:wait_for_listener)
|
65
|
-
config.stub!(:start_server)
|
66
|
-
Jasmine::SeleniumDriver.should_receive(:new).
|
67
|
-
with(anything, "http://localhost:4321/").
|
68
|
-
and_return(mock(Jasmine::SeleniumDriver, :connect => true))
|
69
|
-
config.start
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
describe "external selenium server" do
|
74
|
-
it "should use an external selenium server if SELENIUM_SERVER is set" do
|
75
|
-
pending
|
76
|
-
stub_env_hash({"SELENIUM_SERVER" => "http://myseleniumserver.com:4441"})
|
77
|
-
Selenium::WebDriver.should_receive(:for).with(:remote, :url => "http://myseleniumserver.com:4441", :desired_capabilities => :firefox)
|
78
|
-
Jasmine::SeleniumDriver.new('firefox', 'http://localhost:8888')
|
79
|
-
end
|
80
|
-
it "should use an local selenium server with a specific port if SELENIUM_SERVER_PORT is set" do
|
81
|
-
pending
|
82
|
-
stub_env_hash({"SELENIUM_SERVER_PORT" => "4441"})
|
83
|
-
Selenium::WebDriver.should_receive(:for).with(:remote, :url => "http://localhost:4441/wd/hub", :desired_capabilities => :firefox)
|
84
|
-
Jasmine::SeleniumDriver.new('firefox', 'http://localhost:8888')
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|