minitest-around 0.2.0.pre2 → 0.2.0.pre3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cda60c7a4c065dcf16070c161a0d7adb249796e6
4
- data.tar.gz: 3948e7b82902432b9e93057084c217df75b3bbcb
3
+ metadata.gz: f69ca109c99e654d88b5cb0a758c677924680b14
4
+ data.tar.gz: 3e92e151116cec03acf9956bf08dea675a6223b2
5
5
  SHA512:
6
- metadata.gz: 1633f55347c5db480a113bdca36c493117efd0aa107d3166b993fbfc726c6b8fc6be835aeba3544af6214a3171b15f2b721444061475f239ef4b3c1de0004411
7
- data.tar.gz: 1e7c2f619f9e327d4a0a6f3331c644229f9400ea8ecde9fb8bef15bd500d06bbd1d05d21e3b6fe2a9489d92b00fec92b293bf3327838a74006355a7adb5a43c0
6
+ metadata.gz: 62f54bba39d24a7dc4902fcd746d0154608f6eff97d1359e6bc8fd942bcbba16e7079c89910cc34b1a9fc5cdae34073bd813b31b3189a2873d749b1bfa6946f5
7
+ data.tar.gz: f5822035db2bcb332b0d74c92d292cb590865d2de2117787c6f16a148fbd5221bb9bf30026cdc3a8a3246a3876096d1886cb2d529611cd3f8553eed934dee817
@@ -11,10 +11,17 @@ class Minitest::Spec
11
11
  def around(&block)
12
12
  fib = nil
13
13
  before do
14
- fib = Fiber.new { |context, resume| context.instance_exec(resume, &block) }
14
+ fib = Fiber.new do |context, resume|
15
+ begin
16
+ context.instance_exec(resume, &block)
17
+ rescue Object
18
+ fib = :failed
19
+ raise
20
+ end
21
+ end
15
22
  fib.resume(self, lambda { Fiber.yield })
16
23
  end
17
- after { fib.resume }
24
+ after { fib.resume unless fib == :failed }
18
25
  end
19
26
 
20
27
  # Minitest does not support multiple before/after blocks
@@ -1,5 +1,5 @@
1
1
  module Minitest
2
2
  module Around
3
- VERSION = '0.2.0.pre2'
3
+ VERSION = '0.2.0.pre3'
4
4
  end
5
5
  end
data/test/around_spec.rb CHANGED
@@ -67,4 +67,31 @@ describe "Minitest Around" do
67
67
  end
68
68
  end
69
69
  end
70
+
71
+ describe "fail" do
72
+ it "does not fail with fiber error" do
73
+ output = spawn_test <<-RUBY
74
+ describe "x" do
75
+ around { raise ArgumentError }
76
+ after { puts "AFTER" }
77
+ it("x") { }
78
+ end
79
+ RUBY
80
+
81
+ output.must_include "ArgumentError: ArgumentError"
82
+ output.wont_include "FiberError"
83
+ end
84
+ end
85
+ end
86
+
87
+ def spawn_test(code)
88
+ Tempfile.open("XX") do |f|
89
+ f.write <<-RUBY
90
+ require "#{File.expand_path("../helper", __FILE__)}"
91
+ require 'minitest/around/spec'
92
+ #{code}
93
+ RUBY
94
+ f.close
95
+ `ruby #{f.path}`
96
+ end
70
97
  end
data/test/helper.rb CHANGED
@@ -1,2 +1,3 @@
1
1
  require 'bundler/setup'
2
+ require 'tempfile'
2
3
  require 'minitest/autorun'
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-around
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.pre2
4
+ version: 0.2.0.pre3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Suschlik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-03 00:00:00.000000000 Z
11
+ date: 2014-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '5.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rdoc
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: Alternative for setup/teardown dance.
@@ -59,8 +59,8 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
- - .gitignore
63
- - .travis.yml
62
+ - ".gitignore"
63
+ - ".travis.yml"
64
64
  - Gemfile
65
65
  - LICENSE
66
66
  - README.rdoc
@@ -86,17 +86,17 @@ require_paths:
86
86
  - lib
87
87
  required_ruby_version: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - '>='
89
+ - - ">="
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0'
92
92
  required_rubygems_version: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>'
94
+ - - ">"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.3.1
97
97
  requirements: []
98
98
  rubyforge_project:
99
- rubygems_version: 2.0.3
99
+ rubygems_version: 2.2.2
100
100
  signing_key:
101
101
  specification_version: 4
102
102
  summary: Around block for minitest.