* New primary interface #call makes specs and implementations much
easier
* We had #each mostly for historical reasons that are not relevant
anymore
* Mutation covers the Mutant::Matcher namespace
* Avoids boot time mutation of REGISTER constant
* Allows to define project specific expression parsing
* Avoids custom (slow) serialization of Expression objects speeding up
reporter / killer IPC
* Improve specification
* Improve integration API as it now finally references an object the config
* Allow reproduction of syntax from Expression#syntax
* Allow instantiation of Expresssion objects without generating the
syntax, much nicer for most specs & internal code, avoids generating
a string to parse it into an expression
* Fix LSP violation in Mutant::Matcher namespace
* I dislike the global infection RSpec does. This commit is a first step
to get a rid of it.
* Also remove the need for `require 'spec_helper` in each spec file with
adjusting `.rspec`.
This will allow to use reporters from matchers avoiding stupid direct
writes to $stderr.
Also it will allow to remove matching from CLI altogether in a phase of
the runner. Allowing to decouple Mutant::Config from VM environment
allowing to serialize it ;)
Step by step. Takes a while.
* I do not use 1.9.3
* Also keeping them in each file increases mental overhead (true it *can* be autoamted)
* None of the files encodes NON ASCII chars.
* I do not expect it makes any difference, since nobody programmatically
will consume strings generated by mutant under the assumption they are UTF-8 encoded.
* 1.9.3 Users have to deal with the encoding fuckup under ruby anyways.
* This specs still have spec per method granularity
* But one file specs multiple methods
* Compatible with mutant spec selector
* Deduplicates boilerplate unit setup
2013-12-29 23:29:58 +01:00
Renamed from spec/unit/mutant/matcher/namespace/each_spec.rb (Browse further)