spicycode-micronaut 0.2.5 → 0.2.7

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.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
+ :patch: 7
2
3
  :major: 0
3
4
  :minor: 2
4
- :patch: 5
@@ -35,6 +35,14 @@ def isolate_behaviour
35
35
  end
36
36
  end
37
37
 
38
+ def use_formatter(new_formatter)
39
+ original_formatter = Micronaut.configuration.formatter
40
+ Micronaut.configuration.instance_variable_set(:@formatter, new_formatter)
41
+ yield
42
+ ensure
43
+ Micronaut.configuration.instance_variable_set(:@formatter, original_formatter)
44
+ end
45
+
38
46
  def not_in_editor?
39
47
  !(ENV.has_key?('TM_MODE') || ENV.has_key?('EMACS') || ENV.has_key?('VIM'))
40
48
  end
@@ -44,5 +52,4 @@ Micronaut.configure do |c|
44
52
  c.color_enabled = not_in_editor?
45
53
  c.filter_run :focused => true
46
54
  c.profile_examples = true
47
- #c.formatter = :documentation
48
55
  end
@@ -236,36 +236,46 @@ describe Micronaut::Behaviour do
236
236
 
237
237
  end
238
238
 
239
- pending "#run_examples" do
239
+ describe "#run_examples" do
240
+
241
+ before do
242
+ @fake_formatter = Micronaut::Formatters::BaseFormatter.new
243
+ end
240
244
 
241
245
  def stub_behaviour
242
246
  stub_everything('behaviour', :metadata => { :behaviour => { :name => 'behaviour_name' }})
243
247
  end
244
248
 
245
249
  it "should return true if all examples pass" do
246
- passing_example1 = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 1 }))
247
- passing_example2 = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 1 }))
248
- Micronaut::Behaviour.stubs(:examples_to_run).returns([passing_example1, passing_example2])
250
+ use_formatter(@fake_formatter) do
251
+ passing_example1 = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 1 }))
252
+ passing_example2 = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 1 }))
253
+ Micronaut::Behaviour.stubs(:examples_to_run).returns([passing_example1, passing_example2])
249
254
 
250
- Micronaut::Behaviour.run_examples(stub_behaviour, stub_everything('reporter')).should == true
255
+ Micronaut::Behaviour.run_examples(stub_behaviour, stub_everything('reporter')).should be_true
256
+ end
251
257
  end
252
258
 
253
259
  it "should return false if any of the examples return false" do
254
- failing_example = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 2 }))
255
- passing_example = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 1 }))
256
- Micronaut::Behaviour.stubs(:examples_to_run).returns([failing_example, passing_example])
260
+ use_formatter(@fake_formatter) do
261
+ failing_example = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 2 }))
262
+ passing_example = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 1 }))
263
+ Micronaut::Behaviour.stubs(:examples_to_run).returns([failing_example, passing_example])
257
264
 
258
- Micronaut::Behaviour.run_examples(stub_behaviour, stub_everything('reporter')).should == false
265
+ Micronaut::Behaviour.run_examples(stub_behaviour, stub_everything('reporter')).should be_false
266
+ end
259
267
  end
260
268
 
261
269
  it "should run all examples, regardless of any of them failing" do
262
- failing_example = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 2 }))
263
- passing_example = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 1 }))
264
- Micronaut::Behaviour.stubs(:examples_to_run).returns([failing_example, passing_example])
270
+ use_formatter(@fake_formatter) do
271
+ failing_example = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 2 }))
272
+ passing_example = Micronaut::Example.new(stub_behaviour, 'description', {}, (lambda { 1.should == 1 }))
273
+ Micronaut::Behaviour.stubs(:examples_to_run).returns([failing_example, passing_example])
265
274
 
266
- passing_example.expects(:run)
275
+ passing_example.expects(:run)
267
276
 
268
- Micronaut::Behaviour.run_examples(stub_behaviour, stub_everything('reporter'))
277
+ Micronaut::Behaviour.run_examples(stub_behaviour, stub_everything('reporter'))
278
+ end
269
279
  end
270
280
 
271
281
  end
@@ -6,7 +6,7 @@ describe Micronaut::Example, :parent_metadata => 'sample' do
6
6
  behaviour = stub('behaviour', :metadata => { :behaviour => { :name => 'behaviour_name' }})
7
7
  @example = Micronaut::Example.new(behaviour, 'description', {}, (lambda {}))
8
8
  end
9
-
9
+
10
10
  describe "attr readers" do
11
11
 
12
12
  it "should have one for the parent behaviour" do
@@ -24,7 +24,7 @@ describe Micronaut::Example, :parent_metadata => 'sample' do
24
24
  it "should have one for it's block" do
25
25
  @example.should respond_to(:example_block)
26
26
  end
27
-
27
+
28
28
  end
29
29
 
30
30
  describe '#inspect' do
@@ -44,11 +44,11 @@ describe Micronaut::Example, :parent_metadata => 'sample' do
44
44
  end
45
45
 
46
46
  describe "accessing metadata within a running example" do
47
-
47
+
48
48
  it "should have a reference to itself when running" do
49
49
  running_example.description.should == "should have a reference to itself when running"
50
50
  end
51
-
51
+
52
52
  it "should be able to access the behaviours top level metadata as if it were its own" do
53
53
  running_example.behaviour.metadata.should include(:parent_metadata => 'sample')
54
54
  running_example.metadata.should include(:parent_metadata => 'sample')
@@ -59,10 +59,9 @@ describe Micronaut::Example, :parent_metadata => 'sample' do
59
59
  describe "#run" do
60
60
 
61
61
  pending "should run after(:each) when the example fails"
62
-
62
+
63
63
  pending "should run after(:each) when the example raises an Exception"
64
64
 
65
65
  end
66
66
 
67
-
68
- end
67
+ end
@@ -72,10 +72,6 @@ describe Micronaut::Formatters::BaseFormatter do
72
72
  @formatter.should have_interface_for(:add_behaviour).with(1).argument
73
73
  end
74
74
 
75
- it "should have example_started as an interface with one argument" do
76
- @formatter.should have_interface_for(:example_started).with(1).argument
77
- end
78
-
79
75
  it "should have example_finished as an interface with one argument" do
80
76
  @formatter.should have_interface_for(:example_finished).with(1).arguments
81
77
  end
@@ -0,0 +1,29 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../../example_helper")
2
+
3
+ describe "Mocha Regression involving double reporting of errors" do
4
+
5
+ it "should not double report mocha errors" do
6
+ # The below example should have one error, not two
7
+ # I'm also not sure how to test this regression without having the failure counting by
8
+ # the running Micronaut instance
9
+ formatter = Micronaut::Formatters::BaseFormatter.new
10
+
11
+ use_formatter(formatter) do
12
+
13
+ isolate_behaviour do
14
+ desc = Micronaut::Behaviour.describe("my favorite pony") do
15
+ example("showing a double fail") do
16
+ foo = "string"
17
+ foo.expects(:something)
18
+ end
19
+ end
20
+ desc.examples_to_run.replace(desc.examples)
21
+ desc.run(formatter)
22
+ end
23
+
24
+ end
25
+
26
+ formatter.examples.size.should == 1
27
+ end
28
+
29
+ end
@@ -100,7 +100,7 @@ module Micronaut
100
100
  def formatter
101
101
  @formatter ||= @formatter_to_use.new
102
102
  end
103
-
103
+
104
104
  # Where does output go? For now $stdout
105
105
  def output
106
106
  $stdout
@@ -22,7 +22,6 @@ module Micronaut
22
22
 
23
23
  def run_started
24
24
  record_results :started_at => Time.now
25
- Micronaut.configuration.formatter.example_started(self)
26
25
  end
27
26
 
28
27
  def run_passed
@@ -56,15 +55,6 @@ module Micronaut
56
55
  @behaviour_instance._teardown_mocks if @behaviour_instance.respond_to?(:_teardown_mocks)
57
56
  end
58
57
 
59
- def run_example
60
- if example_block
61
- @behaviour_instance.instance_eval(&example_block)
62
- run_passed
63
- else
64
- run_pending
65
- end
66
- end
67
-
68
58
  def run(behaviour_instance)
69
59
  @behaviour_instance = behaviour_instance
70
60
  @behaviour_instance.running_example = self
@@ -76,7 +66,7 @@ module Micronaut
76
66
 
77
67
  begin
78
68
  run_before_each
79
- run_example
69
+ @behaviour_instance.instance_eval(&example_block) if example_block
80
70
  rescue Exception => e
81
71
  exception_encountered = e
82
72
  all_systems_nominal = false
@@ -90,8 +80,12 @@ module Micronaut
90
80
  ensure
91
81
  @behaviour_instance.running_example = nil
92
82
  end
93
-
94
- run_failed(exception_encountered) if exception_encountered
83
+
84
+ if exception_encountered
85
+ run_failed(exception_encountered)
86
+ else
87
+ example_block ? run_passed : run_pending
88
+ end
95
89
 
96
90
  all_systems_nominal
97
91
  end
@@ -54,9 +54,6 @@ module Micronaut
54
54
  @example_count = example_count
55
55
  end
56
56
 
57
- def example_started(example)
58
- end
59
-
60
57
  def example_finished(example)
61
58
  examples << example
62
59
  end
@@ -111,7 +108,7 @@ module Micronaut
111
108
  end
112
109
 
113
110
  def read_failed_line(exception, example)
114
- original_file = example.behaviour.file_path.downcase
111
+ original_file = example.behaviour.file_path.to_s.downcase
115
112
  matching_line = exception.backtrace.detect { |line| line.split(':').first.downcase == original_file.downcase }
116
113
 
117
114
  return "Unable to find matching line from backtrace" if matching_line.nil?
@@ -5,9 +5,11 @@ module Micronaut
5
5
  module Mocking
6
6
  module WithMocha
7
7
  include Mocha::Standalone
8
+
8
9
  alias :_setup_mocks :mocha_setup
9
10
  alias :_verify_mocks :mocha_verify
10
- alias :_teardown_mocks :mocha_teardown
11
+ alias :_teardown_mocks :mocha_teardown
12
+
11
13
  end
12
14
  end
13
15
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spicycode-micronaut
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chad Humphries
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-10 00:00:00 -07:00
12
+ date: 2009-03-27 00:00:00 -07:00
13
13
  default_executable: micronaut
14
14
  dependencies: []
15
15
 
@@ -108,6 +108,7 @@ files:
108
108
  - examples/lib/micronaut/matchers/satisfy_example.rb
109
109
  - examples/lib/micronaut/matchers/simple_matcher_example.rb
110
110
  - examples/lib/micronaut/matchers/throw_symbol_example.rb
111
+ - examples/lib/micronaut/mocha_example.rb
111
112
  - examples/lib/micronaut/runner_example.rb
112
113
  - examples/lib/micronaut/world_example.rb
113
114
  - examples/lib/micronaut_example.rb