milhouse-spork 0.7.5.2 → 0.7.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. data/MIT-LICENSE +19 -19
  2. data/README.rdoc +99 -99
  3. data/assets/bootstrap.rb +29 -29
  4. data/bin/spork +20 -20
  5. data/features/cucumber_rails_integration.feature +118 -118
  6. data/features/diagnostic_mode.feature +40 -40
  7. data/features/rails_delayed_loading_workarounds.feature +115 -115
  8. data/features/rspec_rails_integration.feature +93 -93
  9. data/features/spork_debugger.feature +108 -108
  10. data/features/steps/general_steps.rb +3 -3
  11. data/features/steps/rails_steps.rb +52 -52
  12. data/features/steps/sandbox_steps.rb +115 -115
  13. data/features/support/background_job.rb +63 -63
  14. data/features/support/env.rb +111 -111
  15. data/features/unknown_app_framework.feature +41 -41
  16. data/geminstaller.yml +9 -9
  17. data/lib/spork.rb +126 -126
  18. data/lib/spork/app_framework.rb +73 -73
  19. data/lib/spork/app_framework/rails.rb +157 -157
  20. data/lib/spork/app_framework/rails_stub_files/application.rb +1 -1
  21. data/lib/spork/app_framework/rails_stub_files/application_controller.rb +22 -22
  22. data/lib/spork/app_framework/rails_stub_files/application_helper.rb +2 -2
  23. data/lib/spork/app_framework/unknown.rb +5 -5
  24. data/lib/spork/custom_io_streams.rb +24 -24
  25. data/lib/spork/diagnoser.rb +103 -103
  26. data/lib/spork/ext/ruby-debug.rb +150 -150
  27. data/lib/spork/forker.rb +70 -70
  28. data/lib/spork/run_strategy.rb +44 -44
  29. data/lib/spork/run_strategy/forking.rb +29 -29
  30. data/lib/spork/run_strategy/magazine.rb +8 -7
  31. data/lib/spork/run_strategy/magazine/magazine_slave.rb +0 -0
  32. data/lib/spork/run_strategy/magazine/magazine_slave_provider.rb +2 -2
  33. data/lib/spork/run_strategy/magazine/ring_server.rb +1 -1
  34. data/lib/spork/runner.rb +90 -90
  35. data/lib/spork/server.rb +74 -74
  36. data/lib/spork/test_framework.rb +167 -167
  37. data/lib/spork/test_framework/cucumber.rb +24 -24
  38. data/lib/spork/test_framework/rspec.rb +14 -14
  39. data/spec/spec_helper.rb +108 -108
  40. data/spec/spork/app_framework/rails_spec.rb +22 -22
  41. data/spec/spork/app_framework/unknown_spec.rb +12 -12
  42. data/spec/spork/app_framework_spec.rb +16 -16
  43. data/spec/spork/diagnoser_spec.rb +105 -105
  44. data/spec/spork/forker_spec.rb +44 -44
  45. data/spec/spork/run_strategy/forking_spec.rb +38 -38
  46. data/spec/spork/runner_spec.rb +50 -50
  47. data/spec/spork/server_spec.rb +15 -15
  48. data/spec/spork/test_framework/cucumber_spec.rb +11 -11
  49. data/spec/spork/test_framework/rspec_spec.rb +10 -10
  50. data/spec/spork/test_framework_spec.rb +114 -114
  51. data/spec/spork_spec.rb +151 -151
  52. data/spec/support/fake_framework.rb +15 -15
  53. data/spec/support/fake_run_strategy.rb +21 -21
  54. metadata +14 -6
@@ -1,44 +1,44 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Spork::Forker do
4
- describe ".new" do
5
- it "runs a block in a fork" do
6
- $var = "hello world"
7
- Spork::Forker.new { $var = "booyah" }.result
8
- $var.should == "hello world"
9
- end
10
- end
11
-
12
- describe "#result" do
13
- it "returns the result" do
14
- Spork::Forker.new { "results" }.result.should == "results"
15
- end
16
- end
17
-
18
- describe "#running?" do
19
- it "reports when the fork is running" do
20
- forker = Spork::Forker.new { sleep 0.1 }
21
- forker.running?.should == true
22
- forker.result
23
- sleep 0.1
24
- forker.running?.should == false
25
- end
26
- end
27
-
28
- describe "#abort" do
29
- it "aborts a fork and returns nil for the result" do
30
- started_at = Time.now
31
- ended_at = nil
32
- forker = Spork::Forker.new { sleep 5 }
33
- Thread.new do
34
- forker.result.should == nil
35
- ended_at = Time.now
36
- end
37
- sleep 0.5
38
- forker.abort
39
- sleep 0.1
40
- (ended_at - started_at).should be_close(0.5, 0.1)
41
- forker.running?.should == false
42
- end
43
- end
44
- end
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Spork::Forker do
4
+ describe ".new" do
5
+ it "runs a block in a fork" do
6
+ $var = "hello world"
7
+ Spork::Forker.new { $var = "booyah" }.result
8
+ $var.should == "hello world"
9
+ end
10
+ end
11
+
12
+ describe "#result" do
13
+ it "returns the result" do
14
+ Spork::Forker.new { "results" }.result.should == "results"
15
+ end
16
+ end
17
+
18
+ describe "#running?" do
19
+ it "reports when the fork is running" do
20
+ forker = Spork::Forker.new { sleep 0.1 }
21
+ forker.running?.should == true
22
+ forker.result
23
+ sleep 0.1
24
+ forker.running?.should == false
25
+ end
26
+ end
27
+
28
+ describe "#abort" do
29
+ it "aborts a fork and returns nil for the result" do
30
+ started_at = Time.now
31
+ ended_at = nil
32
+ forker = Spork::Forker.new { sleep 5 }
33
+ Thread.new do
34
+ forker.result.should == nil
35
+ ended_at = Time.now
36
+ end
37
+ sleep 0.5
38
+ forker.abort
39
+ sleep 0.1
40
+ (ended_at - started_at).should be_close(0.5, 0.1)
41
+ forker.running?.should == false
42
+ end
43
+ end
44
+ end
@@ -1,38 +1,38 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
2
-
3
- describe Spork::RunStrategy::Forking do
4
- before(:each) do
5
- @fake_framework = FakeFramework.new
6
- @run_strategy = Spork::RunStrategy::Forking.new(@fake_framework)
7
-
8
- end
9
-
10
- it "returns the result of the run_tests method from the forked child" do
11
- create_helper_file
12
- @fake_framework.stub!(:run_tests).and_return("tests were ran")
13
- @run_strategy.run("test", STDOUT, STDIN).should == "tests were ran"
14
- end
15
-
16
- it "aborts the current running thread when another run is started" do
17
- create_helper_file
18
- @fake_framework.wait_time = 0.25
19
- first_run = Thread.new { @run_strategy.run("test", STDOUT, STDIN).should == nil }
20
- sleep(0.05)
21
- @run_strategy.run("test", STDOUT, STDIN).should == true
22
-
23
- # wait for the first to finish
24
- first_run.join
25
- end
26
-
27
- it "can abort the current run" do
28
- create_helper_file
29
- @fake_framework.wait_time = 5
30
- started_at = Time.now
31
- first_run = Thread.new { @run_strategy.run("test", STDOUT, STDIN).should == true }
32
- sleep(0.05)
33
- @run_strategy.send(:abort)
34
- sleep(0.01) while @run_strategy.running?
35
-
36
- (Time.now - started_at).should < @fake_framework.wait_time
37
- end
38
- end
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe Spork::RunStrategy::Forking do
4
+ before(:each) do
5
+ @fake_framework = FakeFramework.new
6
+ @run_strategy = Spork::RunStrategy::Forking.new(@fake_framework)
7
+
8
+ end
9
+
10
+ it "returns the result of the run_tests method from the forked child" do
11
+ create_helper_file
12
+ @fake_framework.stub!(:run_tests).and_return("tests were ran")
13
+ @run_strategy.run("test", STDOUT, STDIN).should == "tests were ran"
14
+ end
15
+
16
+ it "aborts the current running thread when another run is started" do
17
+ create_helper_file
18
+ @fake_framework.wait_time = 0.25
19
+ first_run = Thread.new { @run_strategy.run("test", STDOUT, STDIN).should == nil }
20
+ sleep(0.05)
21
+ @run_strategy.run("test", STDOUT, STDIN).should == true
22
+
23
+ # wait for the first to finish
24
+ first_run.join
25
+ end
26
+
27
+ it "can abort the current run" do
28
+ create_helper_file
29
+ @fake_framework.wait_time = 5
30
+ started_at = Time.now
31
+ first_run = Thread.new { @run_strategy.run("test", STDOUT, STDIN).should == true }
32
+ sleep(0.05)
33
+ @run_strategy.send(:abort)
34
+ sleep(0.01) while @run_strategy.running?
35
+
36
+ (Time.now - started_at).should < @fake_framework.wait_time
37
+ end
38
+ end
@@ -1,50 +1,50 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Spork::Runner do
4
- def use_test_server(klass = Spork::TestFramework::RSpec)
5
- @test_framework = klass.new
6
- Spork::TestFramework.stub!(:factory).and_return(@test_framework)
7
- end
8
-
9
- before(:each) do
10
- @out, @err = StringIO.new, StringIO.new
11
- end
12
-
13
- it "finds a matching server with a prefix" do
14
- Spork::Runner.new(["rs"], @out, @err).find_test_framework.class.should == Spork::TestFramework::RSpec
15
- end
16
-
17
- it "shows an error message if no matching server was found" do
18
- Spork::Runner.new(["argle_bargle"], @out, @err).run.should == false
19
- @err.string.should include(%(Couldn't find a supported test framework that begins with 'argle_bargle'))
20
- end
21
-
22
- it "bootstraps a server when -b is passed in" do
23
- use_test_server
24
- @test_framework.should_receive(:bootstrap)
25
- Spork::Runner.new(['rspec', '-b'], @out, @err).run
26
- end
27
-
28
- it "aborts if it can't preload" do
29
- use_test_server
30
- @test_framework.should_receive(:preload).and_return(false)
31
- Spork::Server.should_not_receive(:run)
32
- Spork::Runner.new(['rspec'], @out, @err).run
33
- end
34
-
35
- it "runs the server if all is well" do
36
- use_test_server
37
- @test_framework.should_receive(:preload).and_return(true)
38
- Spork::Server.should_receive(:run)
39
- Spork::Runner.new(['rspec'], @out, @err).run
40
- @err.string.should include("Using RSpec")
41
- end
42
-
43
- it "outputs a list of supported servers, along with supported asterisk" do
44
- Spork::Server.stub!(:supported_test_frameworks).and_return([Spork::TestFramework::RSpec, Spork::TestFramework::Cucumber])
45
- Spork::TestFramework::RSpec.stub!(:available?).and_return(true)
46
- Spork::TestFramework::Cucumber.stub!(:available?).and_return(false)
47
-
48
- Spork::Runner.new(['rspec'], @out, @err).supported_test_frameworks_text.should include("(*) RSpec")
49
- end
50
- end
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Spork::Runner do
4
+ def use_test_server(klass = Spork::TestFramework::RSpec)
5
+ @test_framework = klass.new
6
+ Spork::TestFramework.stub!(:factory).and_return(@test_framework)
7
+ end
8
+
9
+ before(:each) do
10
+ @out, @err = StringIO.new, StringIO.new
11
+ end
12
+
13
+ it "finds a matching server with a prefix" do
14
+ Spork::Runner.new(["rs"], @out, @err).find_test_framework.class.should == Spork::TestFramework::RSpec
15
+ end
16
+
17
+ it "shows an error message if no matching server was found" do
18
+ Spork::Runner.new(["argle_bargle"], @out, @err).run.should == false
19
+ @err.string.should include(%(Couldn't find a supported test framework that begins with 'argle_bargle'))
20
+ end
21
+
22
+ it "bootstraps a server when -b is passed in" do
23
+ use_test_server
24
+ @test_framework.should_receive(:bootstrap)
25
+ Spork::Runner.new(['rspec', '-b'], @out, @err).run
26
+ end
27
+
28
+ it "aborts if it can't preload" do
29
+ use_test_server
30
+ @test_framework.should_receive(:preload).and_return(false)
31
+ Spork::Server.should_not_receive(:run)
32
+ Spork::Runner.new(['rspec'], @out, @err).run
33
+ end
34
+
35
+ it "runs the server if all is well" do
36
+ use_test_server
37
+ @test_framework.should_receive(:preload).and_return(true)
38
+ Spork::Server.should_receive(:run)
39
+ Spork::Runner.new(['rspec'], @out, @err).run
40
+ @err.string.should include("Using RSpec")
41
+ end
42
+
43
+ it "outputs a list of supported servers, along with supported asterisk" do
44
+ Spork::Server.stub!(:supported_test_frameworks).and_return([Spork::TestFramework::RSpec, Spork::TestFramework::Cucumber])
45
+ Spork::TestFramework::RSpec.stub!(:available?).and_return(true)
46
+ Spork::TestFramework::Cucumber.stub!(:available?).and_return(false)
47
+
48
+ Spork::Runner.new(['rspec'], @out, @err).supported_test_frameworks_text.should include("(*) RSpec")
49
+ end
50
+ end
@@ -1,15 +1,15 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe Spork::Server do
4
- describe "a fake server" do
5
- before(:each) do
6
- @fake_run_strategy = FakeRunStrategy.new
7
- @server = Spork::Server.new(:run_strategy => @fake_run_strategy)
8
- end
9
-
10
- it "accepts a port" do
11
- @server.port = 12345
12
- @server.port.should == 12345
13
- end
14
- end
15
- end
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Spork::Server do
4
+ describe "a fake server" do
5
+ before(:each) do
6
+ @fake_run_strategy = FakeRunStrategy.new
7
+ @server = Spork::Server.new(:run_strategy => @fake_run_strategy)
8
+ end
9
+
10
+ it "accepts a port" do
11
+ @server.port = 12345
12
+ @server.port.should == 12345
13
+ end
14
+ end
15
+ end
@@ -1,11 +1,11 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
2
- require File.dirname(__FILE__) + "/../test_framework_spec"
3
-
4
- describe Spork::TestFramework::Cucumber do
5
- before(:each) do
6
- @klass = Spork::TestFramework::Cucumber
7
- @server = @klass.new
8
- end
9
-
10
- it_should_behave_like "a TestFramework"
11
- end
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+ require File.dirname(__FILE__) + "/../test_framework_spec"
3
+
4
+ describe Spork::TestFramework::Cucumber do
5
+ before(:each) do
6
+ @klass = Spork::TestFramework::Cucumber
7
+ @server = @klass.new
8
+ end
9
+
10
+ it_should_behave_like "a TestFramework"
11
+ end
@@ -1,10 +1,10 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
2
- require File.dirname(__FILE__) + "/../test_framework_spec"
3
-
4
- describe Spork::TestFramework::RSpec do
5
- before(:each) do
6
- @klass = Spork::TestFramework::RSpec
7
- end
8
-
9
- it_should_behave_like "a TestFramework"
10
- end
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+ require File.dirname(__FILE__) + "/../test_framework_spec"
3
+
4
+ describe Spork::TestFramework::RSpec do
5
+ before(:each) do
6
+ @klass = Spork::TestFramework::RSpec
7
+ end
8
+
9
+ it_should_behave_like "a TestFramework"
10
+ end
@@ -1,114 +1,114 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- describe "a TestFramework", :shared => true do
4
- describe ".default_port" do
5
- it "uses the DEFAULT_PORT when the environment variable is not set" do
6
- @klass.default_port.should == @klass::DEFAULT_PORT
7
- end
8
-
9
- it 'uses ENV["#{short_name.upcase}_DRB"] as port if present' do
10
- env_name = "#{@klass.short_name.upcase}_DRB"
11
- orig, ENV[env_name] = ENV[env_name], "9000"
12
- begin
13
- @klass.default_port.should == 9000
14
- ensure
15
- ENV[env_name] = orig
16
- end
17
- end
18
- end
19
-
20
- describe ".helper_file" do
21
- it "returns ::HELPER_FILE for the TestFramework" do
22
- @klass.helper_file.should == @klass::HELPER_FILE
23
- end
24
- end
25
- end
26
-
27
- describe Spork::TestFramework do
28
-
29
- before(:each) do
30
- @fake = FakeFramework.new
31
- end
32
-
33
- describe ".available_test_frameworks" do
34
- before(:each) do
35
- Spork::TestFramework.supported_test_frameworks.each { |s| s.stub!(:available?).and_return(false) }
36
- end
37
-
38
- it "returns a list of all available servers" do
39
- Spork::TestFramework.available_test_frameworks.should == []
40
- Spork::TestFramework::RSpec.stub!(:available?).and_return(true)
41
- Spork::TestFramework.available_test_frameworks.should == [Spork::TestFramework::RSpec]
42
- end
43
-
44
- it "returns rspec before cucumber when both are available" do
45
- Spork::TestFramework::RSpec.stub!(:available?).and_return(true)
46
- Spork::TestFramework::Cucumber.stub!(:available?).and_return(true)
47
- Spork::TestFramework.available_test_frameworks.should == [Spork::TestFramework::RSpec, Spork::TestFramework::Cucumber]
48
- end
49
- end
50
-
51
- describe ".supported_test_frameworks" do
52
- it "returns all defined servers" do
53
- Spork::TestFramework.supported_test_frameworks.should include(Spork::TestFramework::RSpec)
54
- Spork::TestFramework.supported_test_frameworks.should include(Spork::TestFramework::Cucumber)
55
- end
56
-
57
- it "returns a list of servers matching a case-insensitive prefix" do
58
- Spork::TestFramework.supported_test_frameworks("rspec").should == [Spork::TestFramework::RSpec]
59
- Spork::TestFramework.supported_test_frameworks("rs").should == [Spork::TestFramework::RSpec]
60
- Spork::TestFramework.supported_test_frameworks("cuc").should == [Spork::TestFramework::Cucumber]
61
- end
62
- end
63
-
64
- describe ".short_name" do
65
- it "returns the name of the framework, without the namespace prefix" do
66
- Spork::TestFramework::Cucumber.short_name.should == "Cucumber"
67
- end
68
- end
69
-
70
- describe ".available?" do
71
- it "returns true when the helper_file exists" do
72
- FakeFramework.available?.should == false
73
- create_helper_file(FakeFramework)
74
- FakeFramework.available?.should == true
75
- end
76
- end
77
-
78
- describe ".bootstrapped?" do
79
- it "recognizes if the helper_file has been bootstrapped" do
80
- bootstrap_contents = File.read(FakeFramework::BOOTSTRAP_FILE)
81
- File.stub!(:read).with(@fake.helper_file).and_return("")
82
- @fake.bootstrapped?.should == false
83
- File.stub!(:read).with(@fake.helper_file).and_return(bootstrap_contents)
84
- @fake.bootstrapped?.should == true
85
- end
86
- end
87
-
88
- describe ".bootstrap" do
89
- it "bootstraps a file" do
90
- create_helper_file
91
- @fake.bootstrap
92
-
93
- $test_stderr.string.should include("Bootstrapping")
94
- $test_stderr.string.should include("Edit")
95
- $test_stderr.string.should include("favorite text editor")
96
-
97
- File.read(@fake.helper_file).should include(File.read(FakeFramework::BOOTSTRAP_FILE))
98
- end
99
- end
100
-
101
- describe ".factory" do
102
- it "defaults to use rspec over cucumber" do
103
- Spork::TestFramework::RSpec.stub!(:available?).and_return(true)
104
- Spork::TestFramework::Cucumber.stub!(:available?).and_return(true)
105
- Spork::TestFramework.factory(STDOUT, STDERR).class.should == Spork::TestFramework::RSpec
106
- end
107
-
108
- it "defaults to use cucumber when rspec not available" do
109
- Spork::TestFramework::RSpec.stub!(:available?).and_return(false)
110
- Spork::TestFramework::Cucumber.stub!(:available?).and_return(true)
111
- Spork::TestFramework.factory(STDOUT, STDERR).class.should == Spork::TestFramework::Cucumber
112
- end
113
- end
114
- end
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "a TestFramework", :shared => true do
4
+ describe ".default_port" do
5
+ it "uses the DEFAULT_PORT when the environment variable is not set" do
6
+ @klass.default_port.should == @klass::DEFAULT_PORT
7
+ end
8
+
9
+ it 'uses ENV["#{short_name.upcase}_DRB"] as port if present' do
10
+ env_name = "#{@klass.short_name.upcase}_DRB"
11
+ orig, ENV[env_name] = ENV[env_name], "9000"
12
+ begin
13
+ @klass.default_port.should == 9000
14
+ ensure
15
+ ENV[env_name] = orig
16
+ end
17
+ end
18
+ end
19
+
20
+ describe ".helper_file" do
21
+ it "returns ::HELPER_FILE for the TestFramework" do
22
+ @klass.helper_file.should == @klass::HELPER_FILE
23
+ end
24
+ end
25
+ end
26
+
27
+ describe Spork::TestFramework do
28
+
29
+ before(:each) do
30
+ @fake = FakeFramework.new
31
+ end
32
+
33
+ describe ".available_test_frameworks" do
34
+ before(:each) do
35
+ Spork::TestFramework.supported_test_frameworks.each { |s| s.stub!(:available?).and_return(false) }
36
+ end
37
+
38
+ it "returns a list of all available servers" do
39
+ Spork::TestFramework.available_test_frameworks.should == []
40
+ Spork::TestFramework::RSpec.stub!(:available?).and_return(true)
41
+ Spork::TestFramework.available_test_frameworks.should == [Spork::TestFramework::RSpec]
42
+ end
43
+
44
+ it "returns rspec before cucumber when both are available" do
45
+ Spork::TestFramework::RSpec.stub!(:available?).and_return(true)
46
+ Spork::TestFramework::Cucumber.stub!(:available?).and_return(true)
47
+ Spork::TestFramework.available_test_frameworks.should == [Spork::TestFramework::RSpec, Spork::TestFramework::Cucumber]
48
+ end
49
+ end
50
+
51
+ describe ".supported_test_frameworks" do
52
+ it "returns all defined servers" do
53
+ Spork::TestFramework.supported_test_frameworks.should include(Spork::TestFramework::RSpec)
54
+ Spork::TestFramework.supported_test_frameworks.should include(Spork::TestFramework::Cucumber)
55
+ end
56
+
57
+ it "returns a list of servers matching a case-insensitive prefix" do
58
+ Spork::TestFramework.supported_test_frameworks("rspec").should == [Spork::TestFramework::RSpec]
59
+ Spork::TestFramework.supported_test_frameworks("rs").should == [Spork::TestFramework::RSpec]
60
+ Spork::TestFramework.supported_test_frameworks("cuc").should == [Spork::TestFramework::Cucumber]
61
+ end
62
+ end
63
+
64
+ describe ".short_name" do
65
+ it "returns the name of the framework, without the namespace prefix" do
66
+ Spork::TestFramework::Cucumber.short_name.should == "Cucumber"
67
+ end
68
+ end
69
+
70
+ describe ".available?" do
71
+ it "returns true when the helper_file exists" do
72
+ FakeFramework.available?.should == false
73
+ create_helper_file(FakeFramework)
74
+ FakeFramework.available?.should == true
75
+ end
76
+ end
77
+
78
+ describe ".bootstrapped?" do
79
+ it "recognizes if the helper_file has been bootstrapped" do
80
+ bootstrap_contents = File.read(FakeFramework::BOOTSTRAP_FILE)
81
+ File.stub!(:read).with(@fake.helper_file).and_return("")
82
+ @fake.bootstrapped?.should == false
83
+ File.stub!(:read).with(@fake.helper_file).and_return(bootstrap_contents)
84
+ @fake.bootstrapped?.should == true
85
+ end
86
+ end
87
+
88
+ describe ".bootstrap" do
89
+ it "bootstraps a file" do
90
+ create_helper_file
91
+ @fake.bootstrap
92
+
93
+ $test_stderr.string.should include("Bootstrapping")
94
+ $test_stderr.string.should include("Edit")
95
+ $test_stderr.string.should include("favorite text editor")
96
+
97
+ File.read(@fake.helper_file).should include(File.read(FakeFramework::BOOTSTRAP_FILE))
98
+ end
99
+ end
100
+
101
+ describe ".factory" do
102
+ it "defaults to use rspec over cucumber" do
103
+ Spork::TestFramework::RSpec.stub!(:available?).and_return(true)
104
+ Spork::TestFramework::Cucumber.stub!(:available?).and_return(true)
105
+ Spork::TestFramework.factory(STDOUT, STDERR).class.should == Spork::TestFramework::RSpec
106
+ end
107
+
108
+ it "defaults to use cucumber when rspec not available" do
109
+ Spork::TestFramework::RSpec.stub!(:available?).and_return(false)
110
+ Spork::TestFramework::Cucumber.stub!(:available?).and_return(true)
111
+ Spork::TestFramework.factory(STDOUT, STDERR).class.should == Spork::TestFramework::Cucumber
112
+ end
113
+ end
114
+ end