mutant-rspec 0.5.24 → 0.5.25

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mutant/integration/rspec.rb +24 -12
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e655905aa30d6df975efd30f80bda241a3feea5
4
- data.tar.gz: 38bf05fd4651d53707c6bdd153753d1ba7ef27db
3
+ metadata.gz: 4c097ff8dc45b860c325bdaca5957506af0c4991
4
+ data.tar.gz: c140fb77ec974c3f4f400d8c2632b27745848ed4
5
5
  SHA512:
6
- metadata.gz: 997e686cb3add7fde95533e79bd5115bdfc951588fda02183f70b5b26bbbd3531d858f3d84e92bc2c2a3bd67e07d5d166855026b4159380a18816d4e2ba7cdc5
7
- data.tar.gz: a01a00191b2b9ddec5210229748c885055fab54ec4b00ea2d9895448a3b9e9294a5177c218b5ebda286d24fa7618082e34a7af89c68e16636e83db3e529cf5d4
6
+ metadata.gz: d243770344ae1dfca21f0cb6988ec4ae2887ecd1d96a4ec24c9d90a6a210c08ae985c9ef8685e560b5ac7d0551451cfb8923274f3ffc9c342de0ae4a5874f6e3
7
+ data.tar.gz: 8950117e07f4cfaa06934edb6e1362622a46e7f350953d836a96cee3573bff89d8c3574b30e0487d600fa0221fe8c65835a5dc5eeb051ec54b91073b1607e0b1
@@ -1,7 +1,5 @@
1
1
  # encoding: UTF-8
2
2
  require 'rspec/core'
3
- require 'rspec/core/version'
4
-
5
3
  require 'rspec/core/formatters/base_text_formatter'
6
4
 
7
5
  module Mutant
@@ -27,22 +25,31 @@ module Mutant
27
25
  #
28
26
  # @param [Rspec::Test] test
29
27
  #
30
- # @return [Test::Report]
28
+ # @return [Test::Result]
31
29
  #
32
30
  # @api private
33
31
  #
32
+ # rubocop:disable MethodLength
33
+ #
34
34
  def run(test)
35
35
  output = StringIO.new
36
- success = false
36
+ failed = false
37
+ start = Time.now
37
38
  reporter = new_reporter(output)
38
39
  reporter.report(1) do
39
- success = example_group_index.fetch(test.expression.syntax).run(reporter)
40
+ example_group_index.fetch(test.expression.syntax).each do |example_group|
41
+ next if example_group.run(reporter)
42
+ failed = true
43
+ break
44
+ end
40
45
  end
41
46
  output.rewind
42
- Test::Report.new(
43
- test: self,
44
- output: output.read,
45
- success: success
47
+ Result::Test.new(
48
+ test: self,
49
+ output: output.read,
50
+ runtime: Time.now - start,
51
+ mutation: nil,
52
+ passed: !failed
46
53
  )
47
54
  end
48
55
 
@@ -70,9 +77,14 @@ module Mutant
70
77
  # @api private
71
78
  #
72
79
  def example_group_index
73
- Hash[RSpec.world.example_groups.flat_map(&:descendants).map do |example_group|
74
- [full_description(example_group), example_group]
75
- end]
80
+ index = Hash.new { |hash, key| hash[key] = [] }
81
+
82
+ RSpec.world.example_groups.flat_map(&:descendants).each do |example_group|
83
+ full_description = full_description(example_group)
84
+ index[full_description] << example_group
85
+ end
86
+
87
+ index
76
88
  end
77
89
  memoize :example_group_index
78
90
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mutant-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.24
4
+ version: 0.5.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-30 00:00:00.000000000 Z
11
+ date: 2014-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mutant
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.24
19
+ version: 0.5.25
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
- version: 0.5.24
26
+ version: 0.5.25
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec-core
29
29
  requirement: !ruby/object:Gem::Requirement