Commit graph

14 commits

Author SHA1 Message Date
Markus Schirp
8233c5871f Reduce matcher interface
* 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
2015-10-28 20:13:00 +00:00
Markus Schirp
d647563055 Refactor expression parsing and representation
* 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
2015-06-21 14:44:33 +00:00
Markus Schirp
641f250f67 Add missing test case for root namespace on recursive matching expressions 2014-09-17 00:54:38 +00:00
Markus Schirp
6df5811a87 Use RSpec as receiver for rspec DSL methods
* 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`.
2014-08-10 21:04:07 +00:00
Markus Schirp
c9bdcb9660 Fix spec setup for rspec3 2014-08-10 14:45:45 +00:00
Markus Schirp
efa12158d1 Avoid multiple enumeration of object space 2014-07-02 17:47:51 +00:00
Markus Schirp
3390d59954 Fix naming of Expression.{try_,}_parse
* try_parse is now the one that does not raise
* parse is now the one that does rase
2014-06-29 23:16:36 +00:00
Markus Schirp
11b945fbbe Use expression logic for namespace matching 2014-06-29 22:52:50 +00:00
Markus Schirp
d107821b4c Fix glob expressions on method matches 2014-06-29 21:42:18 +00:00
Markus Schirp
a19f3b1691 Nuke UTF-8 encoding headers
* 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.
2014-06-09 15:37:48 +00:00
Markus Schirp
586ca63e4f Remove matcher support for :: prefixed constants
Why provide such an option? I hate options. Options are bad.
References #203.
2014-06-08 18:12:18 +00:00
Markus Schirp
83f6a22a16 Fix adjacent namespece selections
Closes #167
2014-06-06 21:31:17 +00:00
Markus Schirp
c75729ead2 Cleanup remaining use of old cli classifier 2014-06-02 12:45:29 +00:00
Markus Schirp
2317d3cf74 Replace CLI::Classifier with Mutant::Expression 2014-05-31 01:09:27 +00:00