mutant-rspec 0.7.1 → 0.7.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 46ada3b79ab252f059d8065f00d72003c6f66fa1
4
- data.tar.gz: e8988daaeb561bf5e7456e4cc5ffeb52f93ff32c
3
+ metadata.gz: 841d8437d6b4e83a2853b998bc7865fb71865e04
4
+ data.tar.gz: ece85179c34925c4e2c346bb570e81bac0c5cb9d
5
5
  SHA512:
6
- metadata.gz: 90dc03c3a632b7ca89eeb5235f1403fd01c97583aebe49736b343e72e42f4904981d5c74a05f6a14628b0902a90e3bca8444c4a161116b144b04dd0467749550
7
- data.tar.gz: 7ba8812781d7209630b66acd13a7fbe99841d6cd13ac8813e9e68bd94c18a04609071ade1eb40a9668856273582d6c4286fc3cc5fd4778c27aed246ede3e06ca
6
+ metadata.gz: fd150374986f0a819dea38b55d0ba0971dff0024cb6653de0fd659afc3ea838d6d9f6ec9fbeae2dce6dcfb6eae0f32e1fbdf713fcfa181f03031d6aa5c7f25cd
7
+ data.tar.gz: a37695e9f5ad5de2a05aac361bc7dbdbe35bf96318b9597cd28fa8e33a70ee6fb3a5b791e97a859aa9b1b4428f8e366355d4197085cd102988fb46fff2cf7411
data/TODO CHANGED
@@ -1,23 +1,15 @@
1
1
  Code:
2
2
  * Test mutant with dynamically created zombie.
3
- * Log all warnings through reporter, so remove random $stderr.puts calls
4
3
 
5
4
  Mutations:
6
5
  * Add true masgn mutations
7
- * Add binary operator specific mutations (YAY, finally reached this point)
8
6
  * Add some kind of a "do not touch me object" that raises on all messages.
9
7
  It can be used to make sure each literal value is touched.
10
8
  * Replace nil or add "do not touch me object" to literal mutations.
11
9
  * Mutate options on Regexp literals
12
10
  * Add mutations for dynamic regexp symbol and string literals
13
- * Mutate Block catch "def foo(&block)" and block pass "foo(&block)"
14
- * Binary operator mutations
15
11
  * Add timeout to terminate infinite loops
16
12
 
17
- Example of a negative mutation:
18
- Mutations on local variables and arguments prefixed with an underscore would be emitted as
19
- negative mutations that must be alive.
20
-
21
13
  Loader:
22
14
  * Make sure loader does not change visibility of injected mutants
23
15
 
@@ -81,28 +81,29 @@ module Mutant
81
81
  # @api private
82
82
  #
83
83
  def all_tests_index
84
- all_examples.each_with_object({}) do |example, index|
85
- index[parse_example(example)] = example
84
+ all_examples.each_with_index.each_with_object({}) do |(example, example_index), index|
85
+ index[parse_example(example, example_index)] = example
86
86
  end
87
87
  end
88
88
  memoize :all_tests_index
89
89
 
90
90
  # Parse example into test
91
91
  #
92
- # @param [RSpec::Core::Example]
92
+ # @param [RSpec::Core::Example] example
93
+ # @param [Fixnum] index
93
94
  #
94
95
  # @return [Test]
95
96
  #
96
97
  # @api private
97
98
  #
98
- def parse_example(example)
99
+ def parse_example(example, index)
99
100
  metadata = example.metadata
100
101
  location = metadata.fetch(:location)
101
102
  full_description = metadata.fetch(:full_description)
102
103
  expression = Expression.try_parse(full_description.split(EXPRESSION_DELIMITER, 2).first) || ALL
103
104
 
104
105
  Test.new(
105
- id: "rspec:#{location} / #{full_description}",
106
+ id: "rspec:#{index}:#{location}/#{full_description}",
106
107
  expression: expression
107
108
  )
108
109
  end
@@ -114,7 +115,9 @@ module Mutant
114
115
  # @api private
115
116
  #
116
117
  def all_examples
117
- @world.example_groups.flat_map(&:descendants).flat_map(&:examples)
118
+ @world.example_groups.flat_map(&:descendants).flat_map(&:examples).select do |example|
119
+ example.metadata.fetch(:mutant, true)
120
+ end
118
121
  end
119
122
 
120
123
  # Filter examples
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.7.1
4
+ version: 0.7.4
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-12-04 00:00:00.000000000 Z
11
+ date: 2014-12-22 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.7.1
19
+ version: 0.7.4
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.7.1
26
+ version: 0.7.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec-core
29
29
  requirement: !ruby/object:Gem::Requirement