From f8ede7fb4a26394b842fd74ee0bc06a0a0b923c1 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Sun, 28 Jul 2013 15:33:16 -0700 Subject: [PATCH 01/36] Add stub specs for some generic nodes * Still more nodes to add, but I wanted to take a break but didn't want to wait to add these. --- .../mutator/node/and_asgn/mutation_spec.rb | 24 +++++++++++++++++++ .../mutator/node/break/mutation_spec.rb | 13 ++++++++++ .../node/defined_predicate/mutation_spec.rb | 8 +++++++ .../mutant/mutator/node/dstr/mutation_spec.rb | 19 +++++++++++++++ .../mutant/mutator/node/dsym/mutation_spec.rb | 19 +++++++++++++++ .../mutator/node/ensure/mutation_spec.rb | 18 ++++++++++++++ .../node/match_current_line/mutation_spec.rb | 18 ++++++++++++++ .../mutant/mutator/node/next/mutation_spec.rb | 8 +++++++ .../mutator/node/op_assgn/mutation_spec.rb | 24 +++++++++++++++++++ .../mutator/node/or_asgn/mutation_spec.rb | 24 +++++++++++++++++++ .../mutant/mutator/node/redo/mutation_spec.rb | 8 +++++++ .../mutator/node/rescue/mutation_spec.rb | 18 ++++++++++++++ .../mutator/node/restarg/mutation_spec.rb | 14 +++++++++++ .../mutator/node/yield/mutation_spec.rb | 13 ++++++++++ 14 files changed, 228 insertions(+) create mode 100644 spec/unit/mutant/mutator/node/and_asgn/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/break/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/defined_predicate/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/dstr/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/dsym/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/ensure/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/match_current_line/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/next/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/op_assgn/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/or_asgn/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/redo/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/rescue/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/restarg/mutation_spec.rb create mode 100644 spec/unit/mutant/mutator/node/yield/mutation_spec.rb diff --git a/spec/unit/mutant/mutator/node/and_asgn/mutation_spec.rb b/spec/unit/mutant/mutator/node/and_asgn/mutation_spec.rb new file mode 100644 index 00000000..d10b7942 --- /dev/null +++ b/spec/unit/mutant/mutator/node/and_asgn/mutation_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'and_asgn' do + let(:random_fixnum) { 5 } + let(:random_string) { 'random' } + + let(:source) { 'a &&= 1' } + + let(:mutations) do + mutations = [] + mutations << 'srandom &&= 1' + mutations << 'a &&= nil' + mutations << 'a &&= 0' + mutations << 'a &&= -1' + mutations << 'a &&= 2' + mutations << 'a &&= 5' + end + + before do + Mutant::Random.stub(:fixnum => random_fixnum, :hex_string => random_string) + end + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/break/mutation_spec.rb b/spec/unit/mutant/mutator/node/break/mutation_spec.rb new file mode 100644 index 00000000..66b001a1 --- /dev/null +++ b/spec/unit/mutant/mutator/node/break/mutation_spec.rb @@ -0,0 +1,13 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'break' do + let(:source) { 'break true' } + + let(:mutations) do + mutations = [] + mutations << 'break false' + mutations << 'break nil' + end + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/defined_predicate/mutation_spec.rb b/spec/unit/mutant/mutator/node/defined_predicate/mutation_spec.rb new file mode 100644 index 00000000..e74bb23e --- /dev/null +++ b/spec/unit/mutant/mutator/node/defined_predicate/mutation_spec.rb @@ -0,0 +1,8 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'defined?' do + let(:source) { 'defined?(foo)' } + let(:mutations) { [] } + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/dstr/mutation_spec.rb b/spec/unit/mutant/mutator/node/dstr/mutation_spec.rb new file mode 100644 index 00000000..6f2db551 --- /dev/null +++ b/spec/unit/mutant/mutator/node/dstr/mutation_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'dstr' do + before do + Mutant::Random.stub(:hex_string => 'random') + end + + let(:source) { '"foo#{bar}baz"' } + + let(:mutations) do + mutations = [] + mutations << '"random#{bar}baz"' + mutations << '"#{nil}#{bar}baz"' + mutations << '"foo#{bar}random"' + mutations << '"foo#{bar}#{nil}"' + end + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/dsym/mutation_spec.rb b/spec/unit/mutant/mutator/node/dsym/mutation_spec.rb new file mode 100644 index 00000000..d059f4cb --- /dev/null +++ b/spec/unit/mutant/mutator/node/dsym/mutation_spec.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'dsum' do + before do + Mutant::Random.stub(:hex_string => 'random') + end + + let(:source) { ':"foo#{bar}baz"' } + + let(:mutations) do + mutations = [] + mutations << ':"random#{bar}baz"' + mutations << ':"#{nil}#{bar}baz"' + mutations << ':"foo#{bar}random"' + mutations << ':"foo#{bar}#{nil}"' + end + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb b/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb new file mode 100644 index 00000000..0a633170 --- /dev/null +++ b/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb @@ -0,0 +1,18 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'ensure' do + let(:source) { 'begin; rescue; ensure; end' } + let(:mutations) { [] } + + # TODO: remove once unparser is fixed + it 'does not raise an exception when unparsing source' do + pending 'unparser bug' do + expect { Unparser.unparse(Parser::CurrentRuby.parse(source)) } + .to_not raise_error + end + end + + pending 'unparser bug' do + it_should_behave_like 'a mutator' + end +end diff --git a/spec/unit/mutant/mutator/node/match_current_line/mutation_spec.rb b/spec/unit/mutant/mutator/node/match_current_line/mutation_spec.rb new file mode 100644 index 00000000..09f65e2d --- /dev/null +++ b/spec/unit/mutant/mutator/node/match_current_line/mutation_spec.rb @@ -0,0 +1,18 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'match_current_line' do + let(:source) { 'true if //' } + + let(:mutations) do + mutations = [] + mutations << 'false if //' + mutations << 'nil if //' + mutations << 'true if true' + mutations << 'true if false' + mutations << 'true if nil' + mutations << 'true if !//' + mutations << 'true if /a\A/' + end + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/next/mutation_spec.rb b/spec/unit/mutant/mutator/node/next/mutation_spec.rb new file mode 100644 index 00000000..b35506f8 --- /dev/null +++ b/spec/unit/mutant/mutator/node/next/mutation_spec.rb @@ -0,0 +1,8 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'next' do + let(:source) { 'next true' } + let(:mutations) { [] } + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/op_assgn/mutation_spec.rb b/spec/unit/mutant/mutator/node/op_assgn/mutation_spec.rb new file mode 100644 index 00000000..dcff8e81 --- /dev/null +++ b/spec/unit/mutant/mutator/node/op_assgn/mutation_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'op_asgn' do + let(:random_fixnum) { 5 } + + let(:source) { '@a.b += 1' } + + let(:mutations) do + mutations = [] + mutations << '@a.b += -1' + mutations << '@a.b += 2' + mutations << '@a.b += 0' + mutations << '@a.b += nil' + mutations << '@a += 1' + mutations << '@a.b += 5' + mutations << 'nil.b += 1' + end + + before do + Mutant::Random.stub(:fixnum => random_fixnum) + end + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/or_asgn/mutation_spec.rb b/spec/unit/mutant/mutator/node/or_asgn/mutation_spec.rb new file mode 100644 index 00000000..2c5b896b --- /dev/null +++ b/spec/unit/mutant/mutator/node/or_asgn/mutation_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'or_asgn' do + let(:random_fixnum) { 5 } + let(:random_string) { 'random' } + + let(:source) { 'a ||= 1' } + + let(:mutations) do + mutations = [] + mutations << 'srandom ||= 1' + mutations << 'a ||= nil' + mutations << 'a ||= 0' + mutations << 'a ||= -1' + mutations << 'a ||= 2' + mutations << 'a ||= 5' + end + + before do + Mutant::Random.stub(:fixnum => random_fixnum, :hex_string => random_string) + end + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/redo/mutation_spec.rb b/spec/unit/mutant/mutator/node/redo/mutation_spec.rb new file mode 100644 index 00000000..01deab52 --- /dev/null +++ b/spec/unit/mutant/mutator/node/redo/mutation_spec.rb @@ -0,0 +1,8 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'redo' do + let(:source) { 'redo' } + let(:mutations) { [] } + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb b/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb new file mode 100644 index 00000000..e99b4576 --- /dev/null +++ b/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb @@ -0,0 +1,18 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'rescue' do + let(:source) { 'begin; rescue Exception => e; end' } + let(:mutations) { [] } + + # TODO: remove once unparser is fixed + it 'does not raise an exception when unparsing source' do + pending 'unparser bug' do + expect { Unparser.unparse(Parser::CurrentRuby.parse(source)) } + .to_not raise_error + end + end + + pending 'unparser bug' do + it_should_behave_like 'a mutator' + end +end diff --git a/spec/unit/mutant/mutator/node/restarg/mutation_spec.rb b/spec/unit/mutant/mutator/node/restarg/mutation_spec.rb new file mode 100644 index 00000000..2ded7de0 --- /dev/null +++ b/spec/unit/mutant/mutator/node/restarg/mutation_spec.rb @@ -0,0 +1,14 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'restarg' do + let(:source) { 'foo(*bar)' } + + let(:mutations) do + mutants = [] + mutants << 'foo' + mutants << 'foo(nil)' + mutants << 'foo(bar)' + end + + it_should_behave_like 'a mutator' +end diff --git a/spec/unit/mutant/mutator/node/yield/mutation_spec.rb b/spec/unit/mutant/mutator/node/yield/mutation_spec.rb new file mode 100644 index 00000000..6d6eda68 --- /dev/null +++ b/spec/unit/mutant/mutator/node/yield/mutation_spec.rb @@ -0,0 +1,13 @@ +require 'spec_helper' + +describe Mutant::Mutator::Node::Generic, 'yield' do + let(:source) { 'yield true' } + + let(:mutations) do + mutations = [] + mutations << 'yield false' + mutations << 'yield nil' + end + + it_should_behave_like 'a mutator' +end From 1a329b63e8db81d68b94e603314ece6fca56034b Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Sun, 28 Jul 2013 15:44:26 -0700 Subject: [PATCH 02/36] Add coveralls to mutant --- spec/spec_helper.rb | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 9a147158..ca215b0a 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,6 +1,27 @@ +# encoding: utf-8 + +require 'equalizer' +require 'devtools/spec_helper' + +if ENV['COVERAGE'] == 'true' + require 'simplecov' + require 'coveralls' + + SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ + SimpleCov::Formatter::HTMLFormatter, + Coveralls::SimpleCov::Formatter + ] + + SimpleCov.start do + command_name 'spec:unit' + add_filter 'config' + add_filter 'spec' + add_filter 'test_app' + minimum_coverage 88.74 # TODO: raise this to 100, then mutation test + end +end + require 'mutant' -require 'devtools' -Devtools.init_spec_helper $LOAD_PATH << File.join(TestApp.root, 'lib') From 7293386c26a675164ed31348b8d1e000fd1d9519 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Sun, 28 Jul 2013 16:03:06 -0700 Subject: [PATCH 03/36] Add magic encoding header to all ruby files * rubocop still warns about this on ruby 1.9.3, so it was fixed so it produces less output on travis. --- lib/mutant.rb | 2 ++ lib/mutant/cache.rb | 2 ++ lib/mutant/cli.rb | 2 ++ lib/mutant/cli/classifier.rb | 2 ++ lib/mutant/cli/classifier/method.rb | 2 ++ lib/mutant/cli/classifier/namespace.rb | 2 ++ lib/mutant/cli/classifier/scope.rb | 2 ++ lib/mutant/color.rb | 2 ++ lib/mutant/config.rb | 2 ++ lib/mutant/constants.rb | 2 ++ lib/mutant/context.rb | 2 ++ lib/mutant/context/scope.rb | 2 ++ lib/mutant/differ.rb | 2 ++ lib/mutant/killer.rb | 2 ++ lib/mutant/killer/forked.rb | 2 ++ lib/mutant/killer/forking.rb | 2 ++ lib/mutant/killer/rspec.rb | 2 ++ lib/mutant/killer/static.rb | 2 ++ lib/mutant/loader.rb | 2 ++ lib/mutant/matcher.rb | 2 ++ lib/mutant/matcher/chain.rb | 2 ++ lib/mutant/matcher/method.rb | 2 ++ lib/mutant/matcher/method/finder.rb | 2 ++ lib/mutant/matcher/method/instance.rb | 2 ++ lib/mutant/matcher/method/singleton.rb | 2 ++ lib/mutant/matcher/methods.rb | 2 ++ lib/mutant/matcher/namespace.rb | 2 ++ lib/mutant/matcher/scope.rb | 2 ++ lib/mutant/mutation.rb | 2 ++ lib/mutant/mutation/evil.rb | 2 ++ lib/mutant/mutation/filter.rb | 2 ++ lib/mutant/mutation/filter/code.rb | 2 ++ lib/mutant/mutation/filter/regexp.rb | 2 ++ lib/mutant/mutation/filter/whitelist.rb | 2 ++ lib/mutant/mutation/neutral.rb | 2 ++ lib/mutant/mutator.rb | 2 ++ lib/mutant/mutator/node.rb | 2 ++ lib/mutant/mutator/node/argument.rb | 2 ++ lib/mutant/mutator/node/arguments.rb | 2 ++ lib/mutant/mutator/node/begin.rb | 2 ++ lib/mutant/mutator/node/block.rb | 2 ++ lib/mutant/mutator/node/case.rb | 2 ++ lib/mutant/mutator/node/connective/binary.rb | 2 ++ lib/mutant/mutator/node/const.rb | 2 ++ lib/mutant/mutator/node/define.rb | 2 ++ lib/mutant/mutator/node/generic.rb | 2 ++ lib/mutant/mutator/node/if.rb | 2 ++ lib/mutant/mutator/node/literal.rb | 2 ++ lib/mutant/mutator/node/literal/array.rb | 2 ++ lib/mutant/mutator/node/literal/boolean.rb | 2 ++ lib/mutant/mutator/node/literal/dynamic.rb | 2 ++ lib/mutant/mutator/node/literal/fixnum.rb | 2 ++ lib/mutant/mutator/node/literal/float.rb | 2 ++ lib/mutant/mutator/node/literal/hash.rb | 2 ++ lib/mutant/mutator/node/literal/nil.rb | 2 ++ lib/mutant/mutator/node/literal/range.rb | 2 ++ lib/mutant/mutator/node/literal/regex.rb | 2 ++ lib/mutant/mutator/node/literal/string.rb | 2 ++ lib/mutant/mutator/node/literal/symbol.rb | 2 ++ lib/mutant/mutator/node/masgn.rb | 2 ++ lib/mutant/mutator/node/mlhs.rb | 2 ++ lib/mutant/mutator/node/named_value/access.rb | 2 ++ lib/mutant/mutator/node/named_value/constant_assignment.rb | 2 ++ lib/mutant/mutator/node/named_value/variable_assignment.rb | 2 ++ lib/mutant/mutator/node/noop.rb | 2 ++ lib/mutant/mutator/node/return.rb | 2 ++ lib/mutant/mutator/node/send.rb | 2 ++ lib/mutant/mutator/node/send/binary.rb | 2 ++ lib/mutant/mutator/node/splat.rb | 2 ++ lib/mutant/mutator/node/super.rb | 2 ++ lib/mutant/mutator/node/when.rb | 2 ++ lib/mutant/mutator/node/while.rb | 2 ++ lib/mutant/mutator/node/zsuper.rb | 2 ++ lib/mutant/mutator/registry.rb | 2 ++ lib/mutant/mutator/util.rb | 2 ++ lib/mutant/mutator/util/array.rb | 2 ++ lib/mutant/mutator/util/symbol.rb | 2 ++ lib/mutant/node_helpers.rb | 2 ++ lib/mutant/random.rb | 2 ++ lib/mutant/reporter.rb | 2 ++ lib/mutant/reporter/cli.rb | 2 ++ lib/mutant/reporter/cli/printer.rb | 2 ++ lib/mutant/reporter/cli/printer/config.rb | 2 ++ lib/mutant/reporter/cli/printer/killer.rb | 2 ++ lib/mutant/reporter/cli/printer/mutation.rb | 2 ++ lib/mutant/reporter/cli/printer/subject.rb | 2 ++ lib/mutant/reporter/null.rb | 2 ++ lib/mutant/runner.rb | 2 ++ lib/mutant/runner/config.rb | 2 ++ lib/mutant/runner/mutation.rb | 2 ++ lib/mutant/runner/subject.rb | 2 ++ lib/mutant/singleton_methods.rb | 2 ++ lib/mutant/strategy.rb | 2 ++ lib/mutant/strategy/method_expansion.rb | 2 ++ lib/mutant/strategy/rspec.rb | 2 ++ lib/mutant/strategy/rspec/dm2.rb | 2 ++ lib/mutant/strategy/rspec/dm2/lookup.rb | 2 ++ lib/mutant/strategy/rspec/dm2/lookup/method.rb | 2 ++ lib/mutant/strategy/static.rb | 2 ++ lib/mutant/subject.rb | 2 ++ lib/mutant/subject/method.rb | 2 ++ lib/mutant/subject/method/instance.rb | 2 ++ lib/mutant/subject/method/singleton.rb | 2 ++ lib/mutant/support/method_object.rb | 2 ++ lib/mutant/zombifier.rb | 2 ++ spec/integration/mutant/rspec_killer_spec.rb | 2 ++ spec/integration/mutant/test_mutator_handles_types_spec.rb | 2 ++ spec/integration/mutant/zombie_spec.rb | 2 ++ spec/shared/method_matcher_behavior.rb | 2 ++ spec/shared/mutator_behavior.rb | 2 ++ spec/support/compress_helper.rb | 2 ++ spec/support/ice_nine_config.rb | 2 ++ spec/support/rspec.rb | 2 ++ spec/support/test_app.rb | 2 ++ .../mutant/class_methods/singleton_subclass_instance_spec.rb | 2 ++ spec/unit/mutant/cli/class_methods/new_spec.rb | 2 ++ spec/unit/mutant/cli/class_methods/run_spec.rb | 2 ++ spec/unit/mutant/cli/classifier/class_methods/build_spec.rb | 2 ++ spec/unit/mutant/context/root_spec.rb | 2 ++ spec/unit/mutant/context/scope/root_spec.rb | 2 ++ spec/unit/mutant/context/scope/unqualified_name_spec.rb | 2 ++ spec/unit/mutant/differ/class_methods/build_spec.rb | 2 ++ spec/unit/mutant/differ/class_methods/colorize_line_spec.rb | 2 ++ spec/unit/mutant/differ/diff_spec.rb | 2 ++ spec/unit/mutant/killer/rspec/class_methods/new_spec.rb | 2 ++ spec/unit/mutant/killer/success_predicate_spec.rb | 2 ++ spec/unit/mutant/loader/eval/class_methods/run_spec.rb | 2 ++ spec/unit/mutant/matcher/chain/each_spec.rb | 2 ++ spec/unit/mutant/matcher/chain/matchers_spec.rb | 2 ++ spec/unit/mutant/matcher/each_spec.rb | 2 ++ .../mutant/matcher/method/instance/class_methods/build_spec.rb | 2 ++ spec/unit/mutant/matcher/method/instance/each_spec.rb | 2 ++ spec/unit/mutant/matcher/method/singleton/each_spec.rb | 2 ++ spec/unit/mutant/matcher/methods/instance/each_spec.rb | 2 ++ spec/unit/mutant/matcher/methods/singleton/each_spec.rb | 2 ++ spec/unit/mutant/matcher/namespace/each_spec.rb | 2 ++ spec/unit/mutant/mutator/each_spec.rb | 2 ++ spec/unit/mutant/mutator/emit_new_spec.rb | 2 ++ spec/unit/mutant/mutator/emit_spec.rb | 2 ++ spec/unit/mutant/mutator/node/and_asgn/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/begin/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/block/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/block_pass/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/break/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/case/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/cbase/mutation_spec.rb | 2 ++ .../unit/mutant/mutator/node/connective/binary/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/const/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/define/mutation_spec.rb | 2 ++ .../unit/mutant/mutator/node/defined_predicate/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/dstr/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/dsym/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/ensure/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/if/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/array_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/boolean/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/fixnum_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/float_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/hash_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/nil_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/range_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/regex_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/string_spec.rb | 2 ++ spec/unit/mutant/mutator/node/literal/symbol_spec.rb | 2 ++ spec/unit/mutant/mutator/node/masgn/mutation_spec.rb | 2 ++ .../mutant/mutator/node/match_current_line/mutation_spec.rb | 2 ++ .../mutant/mutator/node/named_value/access/mutation_spec.rb | 2 ++ .../node/named_value/constant_assignment/mutation_spec.rb | 2 ++ .../node/named_value/variable_assignment/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/next/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/op_assgn/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/or_asgn/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/redo/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/rescue/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/restarg/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/return/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/send/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/super/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/while/mutation_spec.rb | 2 ++ spec/unit/mutant/mutator/node/yield/mutation_spec.rb | 2 ++ spec/unit/mutant/node_helpers/n_not_spec.rb | 2 ++ spec/unit/mutant/runner/config/subjects_spec.rb | 2 ++ spec/unit/mutant/runner/config/success_predicate_spec.rb | 2 ++ spec/unit/mutant/runner/mutation/killer_spec.rb | 2 ++ spec/unit/mutant/runner/subject/success_predicate_spec.rb | 2 ++ .../mutant/strategy/method_expansion/class_methods/run_spec.rb | 2 ++ .../rspec/dm2/lookup/method/instance/spec_files_spec.rb | 2 ++ .../rspec/dm2/lookup/method/singleton/spec_files_spec.rb | 2 ++ spec/unit/mutant/subject/context_spec.rb | 2 ++ spec/unit/mutant/subject/mutations_spec.rb | 2 ++ spec/unit/mutant/subject/node_spec.rb | 2 ++ test_app/lib/test_app.rb | 2 ++ test_app/lib/test_app/literal.rb | 2 ++ test_app/spec/shared/method_filter_parse_behavior.rb | 2 ++ test_app/spec/shared/method_match_behavior.rb | 2 ++ test_app/spec/unit/test_app/literal/command_spec.rb | 2 ++ test_app/spec/unit/test_app/literal/string_spec.rb | 2 ++ 197 files changed, 394 insertions(+) diff --git a/lib/mutant.rb b/lib/mutant.rb index 078394dc..da59b95e 100644 --- a/lib/mutant.rb +++ b/lib/mutant.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'benchmark' require 'set' require 'adamantium' diff --git a/lib/mutant/cache.rb b/lib/mutant/cache.rb index e4483224..e28fb9d7 100644 --- a/lib/mutant/cache.rb +++ b/lib/mutant/cache.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # An AST cache class Cache diff --git a/lib/mutant/cli.rb b/lib/mutant/cli.rb index bf80ee73..db0e01b3 100644 --- a/lib/mutant/cli.rb +++ b/lib/mutant/cli.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'optparse' module Mutant diff --git a/lib/mutant/cli/classifier.rb b/lib/mutant/cli/classifier.rb index 8bbaf6e9..91ec353c 100644 --- a/lib/mutant/cli/classifier.rb +++ b/lib/mutant/cli/classifier.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class CLI # A classifier for input strings diff --git a/lib/mutant/cli/classifier/method.rb b/lib/mutant/cli/classifier/method.rb index c4353a0e..4bb9c93f 100644 --- a/lib/mutant/cli/classifier/method.rb +++ b/lib/mutant/cli/classifier/method.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class CLI class Classifier diff --git a/lib/mutant/cli/classifier/namespace.rb b/lib/mutant/cli/classifier/namespace.rb index f065a788..27be7509 100644 --- a/lib/mutant/cli/classifier/namespace.rb +++ b/lib/mutant/cli/classifier/namespace.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class CLI class Classifier diff --git a/lib/mutant/cli/classifier/scope.rb b/lib/mutant/cli/classifier/scope.rb index 81c4d350..ade1b81e 100644 --- a/lib/mutant/cli/classifier/scope.rb +++ b/lib/mutant/cli/classifier/scope.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class CLI class Classifier diff --git a/lib/mutant/color.rb b/lib/mutant/color.rb index cb5ceb8e..2083e122 100644 --- a/lib/mutant/color.rb +++ b/lib/mutant/color.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Class to colorize strings class Color diff --git a/lib/mutant/config.rb b/lib/mutant/config.rb index 43f4146b..47277312 100644 --- a/lib/mutant/config.rb +++ b/lib/mutant/config.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # The configuration of a mutator run class Config diff --git a/lib/mutant/constants.rb b/lib/mutant/constants.rb index d9ba9415..b0f48368 100644 --- a/lib/mutant/constants.rb +++ b/lib/mutant/constants.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant METHOD_POSTFIX_EXPANSIONS = { diff --git a/lib/mutant/context.rb b/lib/mutant/context.rb index e3511aa6..3e7dc1f9 100644 --- a/lib/mutant/context.rb +++ b/lib/mutant/context.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # An abstract context where mutations can be appied to. class Context diff --git a/lib/mutant/context/scope.rb b/lib/mutant/context/scope.rb index ed2793be..8907d01d 100644 --- a/lib/mutant/context/scope.rb +++ b/lib/mutant/context/scope.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Context # Scope context for mutation (Class or Module) diff --git a/lib/mutant/differ.rb b/lib/mutant/differ.rb index 5df95f9a..9e144ce2 100644 --- a/lib/mutant/differ.rb +++ b/lib/mutant/differ.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Class to create diffs from source code class Differ diff --git a/lib/mutant/killer.rb b/lib/mutant/killer.rb index f2291e94..c6b61fde 100644 --- a/lib/mutant/killer.rb +++ b/lib/mutant/killer.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Abstract base class for mutant killers class Killer diff --git a/lib/mutant/killer/forked.rb b/lib/mutant/killer/forked.rb index 19565ffd..6495f165 100644 --- a/lib/mutant/killer/forked.rb +++ b/lib/mutant/killer/forked.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Killer diff --git a/lib/mutant/killer/forking.rb b/lib/mutant/killer/forking.rb index 64286f19..ae5a6162 100644 --- a/lib/mutant/killer/forking.rb +++ b/lib/mutant/killer/forking.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Killer diff --git a/lib/mutant/killer/rspec.rb b/lib/mutant/killer/rspec.rb index 2cdb4199..845c3d0a 100644 --- a/lib/mutant/killer/rspec.rb +++ b/lib/mutant/killer/rspec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Killer # Runner for rspec tests diff --git a/lib/mutant/killer/static.rb b/lib/mutant/killer/static.rb index ca5d71dd..5b09e720 100644 --- a/lib/mutant/killer/static.rb +++ b/lib/mutant/killer/static.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Killer # Abstract base class for killer with static result diff --git a/lib/mutant/loader.rb b/lib/mutant/loader.rb index 18b57e3d..77ef901b 100644 --- a/lib/mutant/loader.rb +++ b/lib/mutant/loader.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Base class for code loaders class Loader diff --git a/lib/mutant/matcher.rb b/lib/mutant/matcher.rb index 4101c68d..d3bbe842 100644 --- a/lib/mutant/matcher.rb +++ b/lib/mutant/matcher.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Abstract matcher to find subjects to mutate class Matcher diff --git a/lib/mutant/matcher/chain.rb b/lib/mutant/matcher/chain.rb index 4aec2fdf..ae242413 100644 --- a/lib/mutant/matcher/chain.rb +++ b/lib/mutant/matcher/chain.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Matcher # A chain of matchers diff --git a/lib/mutant/matcher/method.rb b/lib/mutant/matcher/method.rb index 2ca3fdf3..cd6c54e8 100644 --- a/lib/mutant/matcher/method.rb +++ b/lib/mutant/matcher/method.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Matcher # Matcher for subjects that are a specific method diff --git a/lib/mutant/matcher/method/finder.rb b/lib/mutant/matcher/method/finder.rb index 21fae4d5..6f8e51ea 100644 --- a/lib/mutant/matcher/method/finder.rb +++ b/lib/mutant/matcher/method/finder.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Matcher class Method diff --git a/lib/mutant/matcher/method/instance.rb b/lib/mutant/matcher/method/instance.rb index cceed857..87b96003 100644 --- a/lib/mutant/matcher/method/instance.rb +++ b/lib/mutant/matcher/method/instance.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Matcher class Method diff --git a/lib/mutant/matcher/method/singleton.rb b/lib/mutant/matcher/method/singleton.rb index f9b91d8a..46e4e8a9 100644 --- a/lib/mutant/matcher/method/singleton.rb +++ b/lib/mutant/matcher/method/singleton.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Matcher class Method diff --git a/lib/mutant/matcher/methods.rb b/lib/mutant/matcher/methods.rb index 6f26f8fb..6bd05cc1 100644 --- a/lib/mutant/matcher/methods.rb +++ b/lib/mutant/matcher/methods.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Matcher # Abstract base class for matcher that returns method subjects from scope diff --git a/lib/mutant/matcher/namespace.rb b/lib/mutant/matcher/namespace.rb index b03435dd..f67aa8fa 100644 --- a/lib/mutant/matcher/namespace.rb +++ b/lib/mutant/matcher/namespace.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Matcher diff --git a/lib/mutant/matcher/scope.rb b/lib/mutant/matcher/scope.rb index aae70d64..6b179ff3 100644 --- a/lib/mutant/matcher/scope.rb +++ b/lib/mutant/matcher/scope.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Matcher # Matcher for specific namespace diff --git a/lib/mutant/mutation.rb b/lib/mutant/mutation.rb index bda5cf08..4fb76543 100644 --- a/lib/mutant/mutation.rb +++ b/lib/mutant/mutation.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Represent a mutated node with its subject class Mutation diff --git a/lib/mutant/mutation/evil.rb b/lib/mutant/mutation/evil.rb index 2a93c1e4..6222fb62 100644 --- a/lib/mutant/mutation/evil.rb +++ b/lib/mutant/mutation/evil.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutation # Evul mutation diff --git a/lib/mutant/mutation/filter.rb b/lib/mutant/mutation/filter.rb index b5d3fc70..ca9f5b55 100644 --- a/lib/mutant/mutation/filter.rb +++ b/lib/mutant/mutation/filter.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutation # Abstract filter for mutations diff --git a/lib/mutant/mutation/filter/code.rb b/lib/mutant/mutation/filter/code.rb index 084e7bf2..7d046d41 100644 --- a/lib/mutant/mutation/filter/code.rb +++ b/lib/mutant/mutation/filter/code.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutation class Filter diff --git a/lib/mutant/mutation/filter/regexp.rb b/lib/mutant/mutation/filter/regexp.rb index 95a951f1..fcf4d0a4 100644 --- a/lib/mutant/mutation/filter/regexp.rb +++ b/lib/mutant/mutation/filter/regexp.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutation class Filter diff --git a/lib/mutant/mutation/filter/whitelist.rb b/lib/mutant/mutation/filter/whitelist.rb index 85a69c31..4f056a28 100644 --- a/lib/mutant/mutation/filter/whitelist.rb +++ b/lib/mutant/mutation/filter/whitelist.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutation class Filter diff --git a/lib/mutant/mutation/neutral.rb b/lib/mutant/mutation/neutral.rb index 0104cdc6..0eb40ac5 100644 --- a/lib/mutant/mutation/neutral.rb +++ b/lib/mutant/mutation/neutral.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutation # Neutral mutation diff --git a/lib/mutant/mutator.rb b/lib/mutant/mutator.rb index f608320b..906399fe 100644 --- a/lib/mutant/mutator.rb +++ b/lib/mutant/mutator.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Generator for mutations class Mutator diff --git a/lib/mutant/mutator/node.rb b/lib/mutant/mutator/node.rb index 7ded8853..64a54561 100644 --- a/lib/mutant/mutator/node.rb +++ b/lib/mutant/mutator/node.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Generator for mutations class Mutator diff --git a/lib/mutant/mutator/node/argument.rb b/lib/mutant/mutator/node/argument.rb index f0c1f439..caf787d2 100644 --- a/lib/mutant/mutator/node/argument.rb +++ b/lib/mutant/mutator/node/argument.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/arguments.rb b/lib/mutant/mutator/node/arguments.rb index 1b37a6ea..0c853b4e 100644 --- a/lib/mutant/mutator/node/arguments.rb +++ b/lib/mutant/mutator/node/arguments.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/begin.rb b/lib/mutant/mutator/node/begin.rb index 23bf4e5e..796f3188 100644 --- a/lib/mutant/mutator/node/begin.rb +++ b/lib/mutant/mutator/node/begin.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/block.rb b/lib/mutant/mutator/node/block.rb index acc1b739..fecac4ba 100644 --- a/lib/mutant/mutator/node/block.rb +++ b/lib/mutant/mutator/node/block.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/case.rb b/lib/mutant/mutator/node/case.rb index 9e00a9da..4c42f29a 100644 --- a/lib/mutant/mutator/node/case.rb +++ b/lib/mutant/mutator/node/case.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/connective/binary.rb b/lib/mutant/mutator/node/connective/binary.rb index 62b5161e..df0c3a8c 100644 --- a/lib/mutant/mutator/node/connective/binary.rb +++ b/lib/mutant/mutator/node/connective/binary.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/const.rb b/lib/mutant/mutator/node/const.rb index 898e05ce..3d27264d 100644 --- a/lib/mutant/mutator/node/const.rb +++ b/lib/mutant/mutator/node/const.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/define.rb b/lib/mutant/mutator/node/define.rb index 7c91ed1c..47992788 100644 --- a/lib/mutant/mutator/node/define.rb +++ b/lib/mutant/mutator/node/define.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/generic.rb b/lib/mutant/mutator/node/generic.rb index fa6feccd..35d6ba2e 100644 --- a/lib/mutant/mutator/node/generic.rb +++ b/lib/mutant/mutator/node/generic.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/if.rb b/lib/mutant/mutator/node/if.rb index 178a7c11..8f1cc25b 100644 --- a/lib/mutant/mutator/node/if.rb +++ b/lib/mutant/mutator/node/if.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal.rb b/lib/mutant/mutator/node/literal.rb index 9b39bf00..02910874 100644 --- a/lib/mutant/mutator/node/literal.rb +++ b/lib/mutant/mutator/node/literal.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/array.rb b/lib/mutant/mutator/node/literal/array.rb index bb8008d9..c95ec2ca 100644 --- a/lib/mutant/mutator/node/literal/array.rb +++ b/lib/mutant/mutator/node/literal/array.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/boolean.rb b/lib/mutant/mutator/node/literal/boolean.rb index e57343a2..5c1717af 100644 --- a/lib/mutant/mutator/node/literal/boolean.rb +++ b/lib/mutant/mutator/node/literal/boolean.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/dynamic.rb b/lib/mutant/mutator/node/literal/dynamic.rb index b6a74285..cecee3bc 100644 --- a/lib/mutant/mutator/node/literal/dynamic.rb +++ b/lib/mutant/mutator/node/literal/dynamic.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/fixnum.rb b/lib/mutant/mutator/node/literal/fixnum.rb index 4d75eaf7..86436277 100644 --- a/lib/mutant/mutator/node/literal/fixnum.rb +++ b/lib/mutant/mutator/node/literal/fixnum.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/float.rb b/lib/mutant/mutator/node/literal/float.rb index 8a1a64eb..8c54bd70 100644 --- a/lib/mutant/mutator/node/literal/float.rb +++ b/lib/mutant/mutator/node/literal/float.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/hash.rb b/lib/mutant/mutator/node/literal/hash.rb index e368e8fb..8bb1163e 100644 --- a/lib/mutant/mutator/node/literal/hash.rb +++ b/lib/mutant/mutator/node/literal/hash.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/nil.rb b/lib/mutant/mutator/node/literal/nil.rb index 9ca2b011..1ceeadb5 100644 --- a/lib/mutant/mutator/node/literal/nil.rb +++ b/lib/mutant/mutator/node/literal/nil.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/range.rb b/lib/mutant/mutator/node/literal/range.rb index 9db113d7..9f3d8bad 100644 --- a/lib/mutant/mutator/node/literal/range.rb +++ b/lib/mutant/mutator/node/literal/range.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/regex.rb b/lib/mutant/mutator/node/literal/regex.rb index 23310870..ef5e9594 100644 --- a/lib/mutant/mutator/node/literal/regex.rb +++ b/lib/mutant/mutator/node/literal/regex.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/string.rb b/lib/mutant/mutator/node/literal/string.rb index 898c87aa..6abd8cf2 100644 --- a/lib/mutant/mutator/node/literal/string.rb +++ b/lib/mutant/mutator/node/literal/string.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/literal/symbol.rb b/lib/mutant/mutator/node/literal/symbol.rb index a77e85c0..ad1f4f62 100644 --- a/lib/mutant/mutator/node/literal/symbol.rb +++ b/lib/mutant/mutator/node/literal/symbol.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/masgn.rb b/lib/mutant/mutator/node/masgn.rb index 4e80e4e8..496ee67c 100644 --- a/lib/mutant/mutator/node/masgn.rb +++ b/lib/mutant/mutator/node/masgn.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/mlhs.rb b/lib/mutant/mutator/node/mlhs.rb index 3235f7ed..7bddc758 100644 --- a/lib/mutant/mutator/node/mlhs.rb +++ b/lib/mutant/mutator/node/mlhs.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/named_value/access.rb b/lib/mutant/mutator/node/named_value/access.rb index f34a8502..8c522181 100644 --- a/lib/mutant/mutator/node/named_value/access.rb +++ b/lib/mutant/mutator/node/named_value/access.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/named_value/constant_assignment.rb b/lib/mutant/mutator/node/named_value/constant_assignment.rb index 00a63ea7..e8e55a42 100644 --- a/lib/mutant/mutator/node/named_value/constant_assignment.rb +++ b/lib/mutant/mutator/node/named_value/constant_assignment.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/named_value/variable_assignment.rb b/lib/mutant/mutator/node/named_value/variable_assignment.rb index ad9d0478..3e55dbcf 100644 --- a/lib/mutant/mutator/node/named_value/variable_assignment.rb +++ b/lib/mutant/mutator/node/named_value/variable_assignment.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/noop.rb b/lib/mutant/mutator/node/noop.rb index 5f6178f7..4df9fbe8 100644 --- a/lib/mutant/mutator/node/noop.rb +++ b/lib/mutant/mutator/node/noop.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/return.rb b/lib/mutant/mutator/node/return.rb index 460b18e0..d38bc26d 100644 --- a/lib/mutant/mutator/node/return.rb +++ b/lib/mutant/mutator/node/return.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/send.rb b/lib/mutant/mutator/node/send.rb index c675feb9..b7e70aba 100644 --- a/lib/mutant/mutator/node/send.rb +++ b/lib/mutant/mutator/node/send.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/send/binary.rb b/lib/mutant/mutator/node/send/binary.rb index 2d8e14d0..2552f311 100644 --- a/lib/mutant/mutator/node/send/binary.rb +++ b/lib/mutant/mutator/node/send/binary.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/splat.rb b/lib/mutant/mutator/node/splat.rb index 7ff83388..f7bc87ae 100644 --- a/lib/mutant/mutator/node/splat.rb +++ b/lib/mutant/mutator/node/splat.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/super.rb b/lib/mutant/mutator/node/super.rb index 940f4883..530482dd 100644 --- a/lib/mutant/mutator/node/super.rb +++ b/lib/mutant/mutator/node/super.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/when.rb b/lib/mutant/mutator/node/when.rb index a0005812..b882ecc9 100644 --- a/lib/mutant/mutator/node/when.rb +++ b/lib/mutant/mutator/node/when.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/while.rb b/lib/mutant/mutator/node/while.rb index 1bb181d5..853973ca 100644 --- a/lib/mutant/mutator/node/while.rb +++ b/lib/mutant/mutator/node/while.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/node/zsuper.rb b/lib/mutant/mutator/node/zsuper.rb index 7e86e860..a27559d7 100644 --- a/lib/mutant/mutator/node/zsuper.rb +++ b/lib/mutant/mutator/node/zsuper.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Node diff --git a/lib/mutant/mutator/registry.rb b/lib/mutant/mutator/registry.rb index 163468ae..c830f938 100644 --- a/lib/mutant/mutator/registry.rb +++ b/lib/mutant/mutator/registry.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator # Registry for mutators diff --git a/lib/mutant/mutator/util.rb b/lib/mutant/mutator/util.rb index 738663f8..9b6317e0 100644 --- a/lib/mutant/mutator/util.rb +++ b/lib/mutant/mutator/util.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator # Namespace for utility mutators diff --git a/lib/mutant/mutator/util/array.rb b/lib/mutant/mutator/util/array.rb index a7393840..fed11ec0 100644 --- a/lib/mutant/mutator/util/array.rb +++ b/lib/mutant/mutator/util/array.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Util diff --git a/lib/mutant/mutator/util/symbol.rb b/lib/mutant/mutator/util/symbol.rb index 637f8359..8c943131 100644 --- a/lib/mutant/mutator/util/symbol.rb +++ b/lib/mutant/mutator/util/symbol.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Mutator class Util diff --git a/lib/mutant/node_helpers.rb b/lib/mutant/node_helpers.rb index 4e317358..a16ad87c 100644 --- a/lib/mutant/node_helpers.rb +++ b/lib/mutant/node_helpers.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Mixin for node helpers module NodeHelpers diff --git a/lib/mutant/random.rb b/lib/mutant/random.rb index 3e73cbc8..227277ae 100644 --- a/lib/mutant/random.rb +++ b/lib/mutant/random.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Module for generating random values module Random diff --git a/lib/mutant/reporter.rb b/lib/mutant/reporter.rb index 9e35aca5..7572ed8d 100644 --- a/lib/mutant/reporter.rb +++ b/lib/mutant/reporter.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Abstract base class for reporters class Reporter diff --git a/lib/mutant/reporter/cli.rb b/lib/mutant/reporter/cli.rb index eacb04db..f6a0f8bd 100644 --- a/lib/mutant/reporter/cli.rb +++ b/lib/mutant/reporter/cli.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Reporter # Reporter that reports in human readable format diff --git a/lib/mutant/reporter/cli/printer.rb b/lib/mutant/reporter/cli/printer.rb index 3bc6de86..9d51fab0 100644 --- a/lib/mutant/reporter/cli/printer.rb +++ b/lib/mutant/reporter/cli/printer.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Reporter class CLI diff --git a/lib/mutant/reporter/cli/printer/config.rb b/lib/mutant/reporter/cli/printer/config.rb index 48fac422..e864bde7 100644 --- a/lib/mutant/reporter/cli/printer/config.rb +++ b/lib/mutant/reporter/cli/printer/config.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Reporter class CLI diff --git a/lib/mutant/reporter/cli/printer/killer.rb b/lib/mutant/reporter/cli/printer/killer.rb index 29099df9..368e36f3 100644 --- a/lib/mutant/reporter/cli/printer/killer.rb +++ b/lib/mutant/reporter/cli/printer/killer.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Reporter class CLI diff --git a/lib/mutant/reporter/cli/printer/mutation.rb b/lib/mutant/reporter/cli/printer/mutation.rb index 90d2f60d..02237101 100644 --- a/lib/mutant/reporter/cli/printer/mutation.rb +++ b/lib/mutant/reporter/cli/printer/mutation.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Reporter class CLI diff --git a/lib/mutant/reporter/cli/printer/subject.rb b/lib/mutant/reporter/cli/printer/subject.rb index e2360fe1..25554b79 100644 --- a/lib/mutant/reporter/cli/printer/subject.rb +++ b/lib/mutant/reporter/cli/printer/subject.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Reporter class CLI diff --git a/lib/mutant/reporter/null.rb b/lib/mutant/reporter/null.rb index acc4ed27..40265d01 100644 --- a/lib/mutant/reporter/null.rb +++ b/lib/mutant/reporter/null.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Reporter diff --git a/lib/mutant/runner.rb b/lib/mutant/runner.rb index f94472fb..5507775f 100644 --- a/lib/mutant/runner.rb +++ b/lib/mutant/runner.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Runner baseclass class Runner diff --git a/lib/mutant/runner/config.rb b/lib/mutant/runner/config.rb index 35f2b3f9..92e18560 100644 --- a/lib/mutant/runner/config.rb +++ b/lib/mutant/runner/config.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Runner # Runner for object config diff --git a/lib/mutant/runner/mutation.rb b/lib/mutant/runner/mutation.rb index 4fddc7aa..b6b8c2c3 100644 --- a/lib/mutant/runner/mutation.rb +++ b/lib/mutant/runner/mutation.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Runner # Mutation runner diff --git a/lib/mutant/runner/subject.rb b/lib/mutant/runner/subject.rb index 4fd2a552..8ca0d63c 100644 --- a/lib/mutant/runner/subject.rb +++ b/lib/mutant/runner/subject.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Runner # Subject specific runner diff --git a/lib/mutant/singleton_methods.rb b/lib/mutant/singleton_methods.rb index 6e773aa3..32d9cd95 100644 --- a/lib/mutant/singleton_methods.rb +++ b/lib/mutant/singleton_methods.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + # Singleton methods are defined here so zombie can pick them up module Mutant diff --git a/lib/mutant/strategy.rb b/lib/mutant/strategy.rb index 99f1364b..eeed1848 100644 --- a/lib/mutant/strategy.rb +++ b/lib/mutant/strategy.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Abstract base class for killing strategies diff --git a/lib/mutant/strategy/method_expansion.rb b/lib/mutant/strategy/method_expansion.rb index f0b02a11..9e6629c5 100644 --- a/lib/mutant/strategy/method_expansion.rb +++ b/lib/mutant/strategy/method_expansion.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Strategy module MethodExpansion diff --git a/lib/mutant/strategy/rspec.rb b/lib/mutant/strategy/rspec.rb index 4636b3fa..f2f658a6 100644 --- a/lib/mutant/strategy/rspec.rb +++ b/lib/mutant/strategy/rspec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Strategy diff --git a/lib/mutant/strategy/rspec/dm2.rb b/lib/mutant/strategy/rspec/dm2.rb index 27f8dc31..43e84353 100644 --- a/lib/mutant/strategy/rspec/dm2.rb +++ b/lib/mutant/strategy/rspec/dm2.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Strategy class Rspec diff --git a/lib/mutant/strategy/rspec/dm2/lookup.rb b/lib/mutant/strategy/rspec/dm2/lookup.rb index aa98ecdd..4de0568c 100644 --- a/lib/mutant/strategy/rspec/dm2/lookup.rb +++ b/lib/mutant/strategy/rspec/dm2/lookup.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Strategy class Rspec diff --git a/lib/mutant/strategy/rspec/dm2/lookup/method.rb b/lib/mutant/strategy/rspec/dm2/lookup/method.rb index bbeb0bbe..bccf27f4 100644 --- a/lib/mutant/strategy/rspec/dm2/lookup/method.rb +++ b/lib/mutant/strategy/rspec/dm2/lookup/method.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Strategy class Rspec diff --git a/lib/mutant/strategy/static.rb b/lib/mutant/strategy/static.rb index d7da151e..bcd9b2cd 100644 --- a/lib/mutant/strategy/static.rb +++ b/lib/mutant/strategy/static.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Strategy # Static strategies diff --git a/lib/mutant/subject.rb b/lib/mutant/subject.rb index c8562cc2..c6013921 100644 --- a/lib/mutant/subject.rb +++ b/lib/mutant/subject.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Subject of a mutation class Subject diff --git a/lib/mutant/subject/method.rb b/lib/mutant/subject/method.rb index c887b17d..2a73efd3 100644 --- a/lib/mutant/subject/method.rb +++ b/lib/mutant/subject/method.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Subject # Abstract base class for method subjects diff --git a/lib/mutant/subject/method/instance.rb b/lib/mutant/subject/method/instance.rb index 78ec463f..d31f6e7d 100644 --- a/lib/mutant/subject/method/instance.rb +++ b/lib/mutant/subject/method/instance.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Subject class Method diff --git a/lib/mutant/subject/method/singleton.rb b/lib/mutant/subject/method/singleton.rb index a3f230fd..ce5a1dc5 100644 --- a/lib/mutant/subject/method/singleton.rb +++ b/lib/mutant/subject/method/singleton.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant class Subject class Method diff --git a/lib/mutant/support/method_object.rb b/lib/mutant/support/method_object.rb index 10c947d4..ffa72444 100644 --- a/lib/mutant/support/method_object.rb +++ b/lib/mutant/support/method_object.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # A mixing to create method object semantics module MethodObject diff --git a/lib/mutant/zombifier.rb b/lib/mutant/zombifier.rb index 29b29837..d426d9f2 100644 --- a/lib/mutant/zombifier.rb +++ b/lib/mutant/zombifier.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module Mutant # Zombifier namespace module Zombifier diff --git a/spec/integration/mutant/rspec_killer_spec.rb b/spec/integration/mutant/rspec_killer_spec.rb index bf2678af..0571ae09 100644 --- a/spec/integration/mutant/rspec_killer_spec.rb +++ b/spec/integration/mutant/rspec_killer_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant, 'rspec integration' do diff --git a/spec/integration/mutant/test_mutator_handles_types_spec.rb b/spec/integration/mutant/test_mutator_handles_types_spec.rb index c82a0815..8e1662c8 100644 --- a/spec/integration/mutant/test_mutator_handles_types_spec.rb +++ b/spec/integration/mutant/test_mutator_handles_types_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant do diff --git a/spec/integration/mutant/zombie_spec.rb b/spec/integration/mutant/zombie_spec.rb index c6b6e9df..d6e73e36 100644 --- a/spec/integration/mutant/zombie_spec.rb +++ b/spec/integration/mutant/zombie_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant, 'as a zombie' do diff --git a/spec/shared/method_matcher_behavior.rb b/spec/shared/method_matcher_behavior.rb index c2e5bbf6..903baf22 100644 --- a/spec/shared/method_matcher_behavior.rb +++ b/spec/shared/method_matcher_behavior.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + shared_examples_for 'a method matcher' do before { subject } diff --git a/spec/shared/mutator_behavior.rb b/spec/shared/mutator_behavior.rb index 2fd3d518..3a37b59c 100644 --- a/spec/shared/mutator_behavior.rb +++ b/spec/shared/mutator_behavior.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + class Subject include Equalizer.new(:source) diff --git a/spec/support/compress_helper.rb b/spec/support/compress_helper.rb index 3e96dc7e..b7631bbe 100644 --- a/spec/support/compress_helper.rb +++ b/spec/support/compress_helper.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module CompressHelper def strip_indent(string) lines = string.lines diff --git a/spec/support/ice_nine_config.rb b/spec/support/ice_nine_config.rb index cc738345..187ef346 100644 --- a/spec/support/ice_nine_config.rb +++ b/spec/support/ice_nine_config.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'ice_nine' module IceNine diff --git a/spec/support/rspec.rb b/spec/support/rspec.rb index a495f2de..fc8d31a4 100644 --- a/spec/support/rspec.rb +++ b/spec/support/rspec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + # Patch rspec to allow nested execution module Rspec # Run block in clean rspec environment diff --git a/spec/support/test_app.rb b/spec/support/test_app.rb index 6ab5db3f..8cfda9af 100644 --- a/spec/support/test_app.rb +++ b/spec/support/test_app.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module TestApp def self.root File.expand_path('../../../test_app', __FILE__) diff --git a/spec/unit/mutant/class_methods/singleton_subclass_instance_spec.rb b/spec/unit/mutant/class_methods/singleton_subclass_instance_spec.rb index 21fc8140..8c47fc40 100644 --- a/spec/unit/mutant/class_methods/singleton_subclass_instance_spec.rb +++ b/spec/unit/mutant/class_methods/singleton_subclass_instance_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant, '.singleton_subclass_instance' do diff --git a/spec/unit/mutant/cli/class_methods/new_spec.rb b/spec/unit/mutant/cli/class_methods/new_spec.rb index 8ca8b662..b603edb4 100644 --- a/spec/unit/mutant/cli/class_methods/new_spec.rb +++ b/spec/unit/mutant/cli/class_methods/new_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' shared_examples_for 'an invalid cli run' do diff --git a/spec/unit/mutant/cli/class_methods/run_spec.rb b/spec/unit/mutant/cli/class_methods/run_spec.rb index a8ff0a13..506c8b22 100644 --- a/spec/unit/mutant/cli/class_methods/run_spec.rb +++ b/spec/unit/mutant/cli/class_methods/run_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::CLI, '.run' do diff --git a/spec/unit/mutant/cli/classifier/class_methods/build_spec.rb b/spec/unit/mutant/cli/classifier/class_methods/build_spec.rb index 81c21ae1..7229bced 100644 --- a/spec/unit/mutant/cli/classifier/class_methods/build_spec.rb +++ b/spec/unit/mutant/cli/classifier/class_methods/build_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::CLI::Classifier, '.build' do diff --git a/spec/unit/mutant/context/root_spec.rb b/spec/unit/mutant/context/root_spec.rb index f1b3d4b6..74346da9 100644 --- a/spec/unit/mutant/context/root_spec.rb +++ b/spec/unit/mutant/context/root_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Context, '#root' do diff --git a/spec/unit/mutant/context/scope/root_spec.rb b/spec/unit/mutant/context/scope/root_spec.rb index 0c3149c8..5559c873 100644 --- a/spec/unit/mutant/context/scope/root_spec.rb +++ b/spec/unit/mutant/context/scope/root_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Context::Scope, '#root' do diff --git a/spec/unit/mutant/context/scope/unqualified_name_spec.rb b/spec/unit/mutant/context/scope/unqualified_name_spec.rb index b06f6baa..e4fda3d6 100644 --- a/spec/unit/mutant/context/scope/unqualified_name_spec.rb +++ b/spec/unit/mutant/context/scope/unqualified_name_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Context::Scope, '#unqualified_name' do diff --git a/spec/unit/mutant/differ/class_methods/build_spec.rb b/spec/unit/mutant/differ/class_methods/build_spec.rb index 5679c8d4..a5d513d9 100644 --- a/spec/unit/mutant/differ/class_methods/build_spec.rb +++ b/spec/unit/mutant/differ/class_methods/build_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Differ, '.build' do diff --git a/spec/unit/mutant/differ/class_methods/colorize_line_spec.rb b/spec/unit/mutant/differ/class_methods/colorize_line_spec.rb index 939e6ad2..cdd1fe55 100644 --- a/spec/unit/mutant/differ/class_methods/colorize_line_spec.rb +++ b/spec/unit/mutant/differ/class_methods/colorize_line_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Differ, '.colorize_line' do diff --git a/spec/unit/mutant/differ/diff_spec.rb b/spec/unit/mutant/differ/diff_spec.rb index 063fc5f1..ba86f6b0 100644 --- a/spec/unit/mutant/differ/diff_spec.rb +++ b/spec/unit/mutant/differ/diff_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Differ, '#diff' do diff --git a/spec/unit/mutant/killer/rspec/class_methods/new_spec.rb b/spec/unit/mutant/killer/rspec/class_methods/new_spec.rb index b7d72840..5081b326 100644 --- a/spec/unit/mutant/killer/rspec/class_methods/new_spec.rb +++ b/spec/unit/mutant/killer/rspec/class_methods/new_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Killer::Rspec, '.new' do diff --git a/spec/unit/mutant/killer/success_predicate_spec.rb b/spec/unit/mutant/killer/success_predicate_spec.rb index 4c8e12b0..605d81ea 100644 --- a/spec/unit/mutant/killer/success_predicate_spec.rb +++ b/spec/unit/mutant/killer/success_predicate_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Killer, '#success?' do diff --git a/spec/unit/mutant/loader/eval/class_methods/run_spec.rb b/spec/unit/mutant/loader/eval/class_methods/run_spec.rb index ce6cdc88..8c2f587f 100644 --- a/spec/unit/mutant/loader/eval/class_methods/run_spec.rb +++ b/spec/unit/mutant/loader/eval/class_methods/run_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Loader::Eval, '.run' do diff --git a/spec/unit/mutant/matcher/chain/each_spec.rb b/spec/unit/mutant/matcher/chain/each_spec.rb index 517928ab..d3b37589 100644 --- a/spec/unit/mutant/matcher/chain/each_spec.rb +++ b/spec/unit/mutant/matcher/chain/each_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Matcher::Chain, '#each' do diff --git a/spec/unit/mutant/matcher/chain/matchers_spec.rb b/spec/unit/mutant/matcher/chain/matchers_spec.rb index d73a4d8e..bafee822 100644 --- a/spec/unit/mutant/matcher/chain/matchers_spec.rb +++ b/spec/unit/mutant/matcher/chain/matchers_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Matcher::Chain, '#matchers' do diff --git a/spec/unit/mutant/matcher/each_spec.rb b/spec/unit/mutant/matcher/each_spec.rb index 338e2961..bfe53d3d 100644 --- a/spec/unit/mutant/matcher/each_spec.rb +++ b/spec/unit/mutant/matcher/each_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' # This spec is only present to ensure 100% test coverage. diff --git a/spec/unit/mutant/matcher/method/instance/class_methods/build_spec.rb b/spec/unit/mutant/matcher/method/instance/class_methods/build_spec.rb index b36f2f8d..deac7655 100644 --- a/spec/unit/mutant/matcher/method/instance/class_methods/build_spec.rb +++ b/spec/unit/mutant/matcher/method/instance/class_methods/build_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Matcher::Method::Instance, '.build' do diff --git a/spec/unit/mutant/matcher/method/instance/each_spec.rb b/spec/unit/mutant/matcher/method/instance/each_spec.rb index 0aa43716..7eb1f1b9 100644 --- a/spec/unit/mutant/matcher/method/instance/each_spec.rb +++ b/spec/unit/mutant/matcher/method/instance/each_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Matcher::Method::Instance, '#each' do diff --git a/spec/unit/mutant/matcher/method/singleton/each_spec.rb b/spec/unit/mutant/matcher/method/singleton/each_spec.rb index 08471581..940a049e 100644 --- a/spec/unit/mutant/matcher/method/singleton/each_spec.rb +++ b/spec/unit/mutant/matcher/method/singleton/each_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Matcher::Method::Singleton, '#each' do diff --git a/spec/unit/mutant/matcher/methods/instance/each_spec.rb b/spec/unit/mutant/matcher/methods/instance/each_spec.rb index 1e022ae1..b2d1b80e 100644 --- a/spec/unit/mutant/matcher/methods/instance/each_spec.rb +++ b/spec/unit/mutant/matcher/methods/instance/each_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Matcher::Methods::Instance, '#each' do diff --git a/spec/unit/mutant/matcher/methods/singleton/each_spec.rb b/spec/unit/mutant/matcher/methods/singleton/each_spec.rb index 2dad2aea..1c8edca2 100644 --- a/spec/unit/mutant/matcher/methods/singleton/each_spec.rb +++ b/spec/unit/mutant/matcher/methods/singleton/each_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Matcher::Methods::Singleton, '#each' do diff --git a/spec/unit/mutant/matcher/namespace/each_spec.rb b/spec/unit/mutant/matcher/namespace/each_spec.rb index f9942476..d8110cbe 100644 --- a/spec/unit/mutant/matcher/namespace/each_spec.rb +++ b/spec/unit/mutant/matcher/namespace/each_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Matcher::Namespace, '#each' do diff --git a/spec/unit/mutant/mutator/each_spec.rb b/spec/unit/mutant/mutator/each_spec.rb index a552fe31..db64797e 100644 --- a/spec/unit/mutant/mutator/each_spec.rb +++ b/spec/unit/mutant/mutator/each_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + # This file is the sandbox for new mutations. # Once finished mutation test will be moved to class specfic # file. diff --git a/spec/unit/mutant/mutator/emit_new_spec.rb b/spec/unit/mutant/mutator/emit_new_spec.rb index e689092f..0ae0d070 100644 --- a/spec/unit/mutant/mutator/emit_new_spec.rb +++ b/spec/unit/mutant/mutator/emit_new_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator, '#emit_new' do diff --git a/spec/unit/mutant/mutator/emit_spec.rb b/spec/unit/mutant/mutator/emit_spec.rb index 30e3e231..243c8d38 100644 --- a/spec/unit/mutant/mutator/emit_spec.rb +++ b/spec/unit/mutant/mutator/emit_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator, '#emit' do diff --git a/spec/unit/mutant/mutator/node/and_asgn/mutation_spec.rb b/spec/unit/mutant/mutator/node/and_asgn/mutation_spec.rb index d10b7942..72d3eec7 100644 --- a/spec/unit/mutant/mutator/node/and_asgn/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/and_asgn/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'and_asgn' do diff --git a/spec/unit/mutant/mutator/node/begin/mutation_spec.rb b/spec/unit/mutant/mutator/node/begin/mutation_spec.rb index 00dbac87..15102206 100644 --- a/spec/unit/mutant/mutator/node/begin/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/begin/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator, 'begin' do diff --git a/spec/unit/mutant/mutator/node/block/mutation_spec.rb b/spec/unit/mutant/mutator/node/block/mutation_spec.rb index e27088b0..0ac4de38 100644 --- a/spec/unit/mutant/mutator/node/block/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/block/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator, 'block' do diff --git a/spec/unit/mutant/mutator/node/block_pass/mutation_spec.rb b/spec/unit/mutant/mutator/node/block_pass/mutation_spec.rb index 628a824c..702f8a5d 100644 --- a/spec/unit/mutant/mutator/node/block_pass/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/block_pass/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::NamedValue::Access, 'block_pass' do diff --git a/spec/unit/mutant/mutator/node/break/mutation_spec.rb b/spec/unit/mutant/mutator/node/break/mutation_spec.rb index 66b001a1..f15e15c3 100644 --- a/spec/unit/mutant/mutator/node/break/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/break/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'break' do diff --git a/spec/unit/mutant/mutator/node/case/mutation_spec.rb b/spec/unit/mutant/mutator/node/case/mutation_spec.rb index 28eb269b..6ec98923 100644 --- a/spec/unit/mutant/mutator/node/case/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/case/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Case do diff --git a/spec/unit/mutant/mutator/node/cbase/mutation_spec.rb b/spec/unit/mutant/mutator/node/cbase/mutation_spec.rb index b0239fb0..43638b04 100644 --- a/spec/unit/mutant/mutator/node/cbase/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/cbase/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Noop, 'cbase' do diff --git a/spec/unit/mutant/mutator/node/connective/binary/mutation_spec.rb b/spec/unit/mutant/mutator/node/connective/binary/mutation_spec.rb index a51012d1..29a8bfe9 100644 --- a/spec/unit/mutant/mutator/node/connective/binary/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/connective/binary/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Connective::Binary, 'mutations' do diff --git a/spec/unit/mutant/mutator/node/const/mutation_spec.rb b/spec/unit/mutant/mutator/node/const/mutation_spec.rb index 250f439e..07a79633 100644 --- a/spec/unit/mutant/mutator/node/const/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/const/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Const, 'const' do diff --git a/spec/unit/mutant/mutator/node/define/mutation_spec.rb b/spec/unit/mutant/mutator/node/define/mutation_spec.rb index 50fc8924..ac3de669 100644 --- a/spec/unit/mutant/mutator/node/define/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/define/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator, 'def' do diff --git a/spec/unit/mutant/mutator/node/defined_predicate/mutation_spec.rb b/spec/unit/mutant/mutator/node/defined_predicate/mutation_spec.rb index e74bb23e..6ce3c8ed 100644 --- a/spec/unit/mutant/mutator/node/defined_predicate/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/defined_predicate/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'defined?' do diff --git a/spec/unit/mutant/mutator/node/dstr/mutation_spec.rb b/spec/unit/mutant/mutator/node/dstr/mutation_spec.rb index 6f2db551..08cac4d7 100644 --- a/spec/unit/mutant/mutator/node/dstr/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/dstr/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'dstr' do diff --git a/spec/unit/mutant/mutator/node/dsym/mutation_spec.rb b/spec/unit/mutant/mutator/node/dsym/mutation_spec.rb index d059f4cb..eed07c37 100644 --- a/spec/unit/mutant/mutator/node/dsym/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/dsym/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'dsum' do diff --git a/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb b/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb index 0a633170..827617c7 100644 --- a/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'ensure' do diff --git a/spec/unit/mutant/mutator/node/if/mutation_spec.rb b/spec/unit/mutant/mutator/node/if/mutation_spec.rb index bf05ae88..5f0c076e 100644 --- a/spec/unit/mutant/mutator/node/if/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/if/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator, 'if' do diff --git a/spec/unit/mutant/mutator/node/literal/array_spec.rb b/spec/unit/mutant/mutator/node/literal/array_spec.rb index 5a94fccc..32798e69 100644 --- a/spec/unit/mutant/mutator/node/literal/array_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/array_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'array' do diff --git a/spec/unit/mutant/mutator/node/literal/boolean/mutation_spec.rb b/spec/unit/mutant/mutator/node/literal/boolean/mutation_spec.rb index 9b6f871b..344e2bdb 100644 --- a/spec/unit/mutant/mutator/node/literal/boolean/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/boolean/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'boolean' do diff --git a/spec/unit/mutant/mutator/node/literal/fixnum_spec.rb b/spec/unit/mutant/mutator/node/literal/fixnum_spec.rb index a69dc32b..795fc6d0 100644 --- a/spec/unit/mutant/mutator/node/literal/fixnum_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/fixnum_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'fixnum' do diff --git a/spec/unit/mutant/mutator/node/literal/float_spec.rb b/spec/unit/mutant/mutator/node/literal/float_spec.rb index 5c9c1861..4332cca8 100644 --- a/spec/unit/mutant/mutator/node/literal/float_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/float_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'float' do diff --git a/spec/unit/mutant/mutator/node/literal/hash_spec.rb b/spec/unit/mutant/mutator/node/literal/hash_spec.rb index 6e25b4e9..88e23451 100644 --- a/spec/unit/mutant/mutator/node/literal/hash_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/hash_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'hash' do diff --git a/spec/unit/mutant/mutator/node/literal/nil_spec.rb b/spec/unit/mutant/mutator/node/literal/nil_spec.rb index 759ae273..72fb2e54 100644 --- a/spec/unit/mutant/mutator/node/literal/nil_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/nil_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'nil' do diff --git a/spec/unit/mutant/mutator/node/literal/range_spec.rb b/spec/unit/mutant/mutator/node/literal/range_spec.rb index 94212698..1963b4ea 100644 --- a/spec/unit/mutant/mutator/node/literal/range_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/range_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'range' do diff --git a/spec/unit/mutant/mutator/node/literal/regex_spec.rb b/spec/unit/mutant/mutator/node/literal/regex_spec.rb index 07cdba40..8a3a1dce 100644 --- a/spec/unit/mutant/mutator/node/literal/regex_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/regex_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'regex' do diff --git a/spec/unit/mutant/mutator/node/literal/string_spec.rb b/spec/unit/mutant/mutator/node/literal/string_spec.rb index 1bb18c6d..b2fe6473 100644 --- a/spec/unit/mutant/mutator/node/literal/string_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/string_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'string' do diff --git a/spec/unit/mutant/mutator/node/literal/symbol_spec.rb b/spec/unit/mutant/mutator/node/literal/symbol_spec.rb index 9832e5f7..0acc656f 100644 --- a/spec/unit/mutant/mutator/node/literal/symbol_spec.rb +++ b/spec/unit/mutant/mutator/node/literal/symbol_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Literal, 'symbol' do diff --git a/spec/unit/mutant/mutator/node/masgn/mutation_spec.rb b/spec/unit/mutant/mutator/node/masgn/mutation_spec.rb index f9be3d7a..f1c94d63 100644 --- a/spec/unit/mutant/mutator/node/masgn/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/masgn/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator, 'masgn' do diff --git a/spec/unit/mutant/mutator/node/match_current_line/mutation_spec.rb b/spec/unit/mutant/mutator/node/match_current_line/mutation_spec.rb index 09f65e2d..50e20117 100644 --- a/spec/unit/mutant/mutator/node/match_current_line/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/match_current_line/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'match_current_line' do diff --git a/spec/unit/mutant/mutator/node/named_value/access/mutation_spec.rb b/spec/unit/mutant/mutator/node/named_value/access/mutation_spec.rb index 75d02795..15d04bfb 100644 --- a/spec/unit/mutant/mutator/node/named_value/access/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/named_value/access/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::NamedValue::Access, 'mutations' do diff --git a/spec/unit/mutant/mutator/node/named_value/constant_assignment/mutation_spec.rb b/spec/unit/mutant/mutator/node/named_value/constant_assignment/mutation_spec.rb index 66454a71..45604ed4 100644 --- a/spec/unit/mutant/mutator/node/named_value/constant_assignment/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/named_value/constant_assignment/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::NamedValue::VariableAssignment, 'mutations' do diff --git a/spec/unit/mutant/mutator/node/named_value/variable_assignment/mutation_spec.rb b/spec/unit/mutant/mutator/node/named_value/variable_assignment/mutation_spec.rb index 219d2924..e06405c0 100644 --- a/spec/unit/mutant/mutator/node/named_value/variable_assignment/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/named_value/variable_assignment/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::NamedValue::VariableAssignment, 'mutations' do diff --git a/spec/unit/mutant/mutator/node/next/mutation_spec.rb b/spec/unit/mutant/mutator/node/next/mutation_spec.rb index b35506f8..a5fdeaaa 100644 --- a/spec/unit/mutant/mutator/node/next/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/next/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'next' do diff --git a/spec/unit/mutant/mutator/node/op_assgn/mutation_spec.rb b/spec/unit/mutant/mutator/node/op_assgn/mutation_spec.rb index dcff8e81..b44ddf5b 100644 --- a/spec/unit/mutant/mutator/node/op_assgn/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/op_assgn/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'op_asgn' do diff --git a/spec/unit/mutant/mutator/node/or_asgn/mutation_spec.rb b/spec/unit/mutant/mutator/node/or_asgn/mutation_spec.rb index 2c5b896b..e707a519 100644 --- a/spec/unit/mutant/mutator/node/or_asgn/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/or_asgn/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'or_asgn' do diff --git a/spec/unit/mutant/mutator/node/redo/mutation_spec.rb b/spec/unit/mutant/mutator/node/redo/mutation_spec.rb index 01deab52..9723a89d 100644 --- a/spec/unit/mutant/mutator/node/redo/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/redo/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'redo' do diff --git a/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb b/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb index e99b4576..91f6d14f 100644 --- a/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'rescue' do diff --git a/spec/unit/mutant/mutator/node/restarg/mutation_spec.rb b/spec/unit/mutant/mutator/node/restarg/mutation_spec.rb index 2ded7de0..8d325937 100644 --- a/spec/unit/mutant/mutator/node/restarg/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/restarg/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'restarg' do diff --git a/spec/unit/mutant/mutator/node/return/mutation_spec.rb b/spec/unit/mutant/mutator/node/return/mutation_spec.rb index 18cab57a..e099041c 100644 --- a/spec/unit/mutant/mutator/node/return/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/return/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator, 'return' do diff --git a/spec/unit/mutant/mutator/node/send/mutation_spec.rb b/spec/unit/mutant/mutator/node/send/mutation_spec.rb index a841204a..83193bfc 100644 --- a/spec/unit/mutant/mutator/node/send/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/send/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' # FIXME: This spec needs to be structured better! diff --git a/spec/unit/mutant/mutator/node/super/mutation_spec.rb b/spec/unit/mutant/mutator/node/super/mutation_spec.rb index 0f3c9ed7..47304065 100644 --- a/spec/unit/mutant/mutator/node/super/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/super/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator, 'super' do diff --git a/spec/unit/mutant/mutator/node/while/mutation_spec.rb b/spec/unit/mutant/mutator/node/while/mutation_spec.rb index 9441e8c1..1b220ad7 100644 --- a/spec/unit/mutant/mutator/node/while/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/while/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::While do diff --git a/spec/unit/mutant/mutator/node/yield/mutation_spec.rb b/spec/unit/mutant/mutator/node/yield/mutation_spec.rb index 6d6eda68..47f096a6 100644 --- a/spec/unit/mutant/mutator/node/yield/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/yield/mutation_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'yield' do diff --git a/spec/unit/mutant/node_helpers/n_not_spec.rb b/spec/unit/mutant/node_helpers/n_not_spec.rb index 6e737e27..3487a2f1 100644 --- a/spec/unit/mutant/node_helpers/n_not_spec.rb +++ b/spec/unit/mutant/node_helpers/n_not_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::NodeHelpers, '#n_not' do diff --git a/spec/unit/mutant/runner/config/subjects_spec.rb b/spec/unit/mutant/runner/config/subjects_spec.rb index 6cce1580..f70cc19f 100644 --- a/spec/unit/mutant/runner/config/subjects_spec.rb +++ b/spec/unit/mutant/runner/config/subjects_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Runner::Config, '#subjects' do diff --git a/spec/unit/mutant/runner/config/success_predicate_spec.rb b/spec/unit/mutant/runner/config/success_predicate_spec.rb index 0b437e64..3d1df834 100644 --- a/spec/unit/mutant/runner/config/success_predicate_spec.rb +++ b/spec/unit/mutant/runner/config/success_predicate_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Runner::Config, '#success?' do diff --git a/spec/unit/mutant/runner/mutation/killer_spec.rb b/spec/unit/mutant/runner/mutation/killer_spec.rb index 2396d691..e7e0da13 100644 --- a/spec/unit/mutant/runner/mutation/killer_spec.rb +++ b/spec/unit/mutant/runner/mutation/killer_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Runner::Mutation, '#killer' do diff --git a/spec/unit/mutant/runner/subject/success_predicate_spec.rb b/spec/unit/mutant/runner/subject/success_predicate_spec.rb index 58d21519..b0bbd55d 100644 --- a/spec/unit/mutant/runner/subject/success_predicate_spec.rb +++ b/spec/unit/mutant/runner/subject/success_predicate_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Runner::Subject, '#success?' do diff --git a/spec/unit/mutant/strategy/method_expansion/class_methods/run_spec.rb b/spec/unit/mutant/strategy/method_expansion/class_methods/run_spec.rb index 1a15269c..e9c08888 100644 --- a/spec/unit/mutant/strategy/method_expansion/class_methods/run_spec.rb +++ b/spec/unit/mutant/strategy/method_expansion/class_methods/run_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Strategy::MethodExpansion, '.run' do diff --git a/spec/unit/mutant/strategy/rspec/dm2/lookup/method/instance/spec_files_spec.rb b/spec/unit/mutant/strategy/rspec/dm2/lookup/method/instance/spec_files_spec.rb index ab1ce701..a86c6c96 100644 --- a/spec/unit/mutant/strategy/rspec/dm2/lookup/method/instance/spec_files_spec.rb +++ b/spec/unit/mutant/strategy/rspec/dm2/lookup/method/instance/spec_files_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' singleton = Mutant::Strategy::Rspec::DM2::Lookup::Method::Instance diff --git a/spec/unit/mutant/strategy/rspec/dm2/lookup/method/singleton/spec_files_spec.rb b/spec/unit/mutant/strategy/rspec/dm2/lookup/method/singleton/spec_files_spec.rb index 3023bac3..9e0f7964 100644 --- a/spec/unit/mutant/strategy/rspec/dm2/lookup/method/singleton/spec_files_spec.rb +++ b/spec/unit/mutant/strategy/rspec/dm2/lookup/method/singleton/spec_files_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' singleton = Mutant::Strategy::Rspec::DM2::Lookup::Method::Singleton diff --git a/spec/unit/mutant/subject/context_spec.rb b/spec/unit/mutant/subject/context_spec.rb index 1e173c27..c7d1173f 100644 --- a/spec/unit/mutant/subject/context_spec.rb +++ b/spec/unit/mutant/subject/context_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Subject, '#context' do diff --git a/spec/unit/mutant/subject/mutations_spec.rb b/spec/unit/mutant/subject/mutations_spec.rb index c54e3ff6..38159102 100644 --- a/spec/unit/mutant/subject/mutations_spec.rb +++ b/spec/unit/mutant/subject/mutations_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Subject, '#mutations' do diff --git a/spec/unit/mutant/subject/node_spec.rb b/spec/unit/mutant/subject/node_spec.rb index 302e84f4..29f38224 100644 --- a/spec/unit/mutant/subject/node_spec.rb +++ b/spec/unit/mutant/subject/node_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe Mutant::Subject, '#node' do diff --git a/test_app/lib/test_app.rb b/test_app/lib/test_app.rb index 1723b090..0df5bbc0 100644 --- a/test_app/lib/test_app.rb +++ b/test_app/lib/test_app.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + # Namespace for test application module TestApp end diff --git a/test_app/lib/test_app/literal.rb b/test_app/lib/test_app/literal.rb index 025a726c..691b3bca 100644 --- a/test_app/lib/test_app/literal.rb +++ b/test_app/lib/test_app/literal.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + module TestApp # Class for integration testing literal mutations class Literal diff --git a/test_app/spec/shared/method_filter_parse_behavior.rb b/test_app/spec/shared/method_filter_parse_behavior.rb index 99cb867e..0cddb85d 100644 --- a/test_app/spec/shared/method_filter_parse_behavior.rb +++ b/test_app/spec/shared/method_filter_parse_behavior.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + shared_examples_for 'a method filter parse result' do before do expected_class.stub(:new => response) diff --git a/test_app/spec/shared/method_match_behavior.rb b/test_app/spec/shared/method_match_behavior.rb index c9b16eec..cf50bf51 100644 --- a/test_app/spec/shared/method_match_behavior.rb +++ b/test_app/spec/shared/method_match_behavior.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + shared_examples_for 'a method match' do subject { Mutant::Matcher::Method.parse(pattern).to_a } diff --git a/test_app/spec/unit/test_app/literal/command_spec.rb b/test_app/spec/unit/test_app/literal/command_spec.rb index 338929c0..8f8a8beb 100644 --- a/test_app/spec/unit/test_app/literal/command_spec.rb +++ b/test_app/spec/unit/test_app/literal/command_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe TestApp::Literal, '#string' do diff --git a/test_app/spec/unit/test_app/literal/string_spec.rb b/test_app/spec/unit/test_app/literal/string_spec.rb index 8704f1e7..b05a421a 100644 --- a/test_app/spec/unit/test_app/literal/string_spec.rb +++ b/test_app/spec/unit/test_app/literal/string_spec.rb @@ -1,3 +1,5 @@ +# encoding: utf-8 + require 'spec_helper' describe TestApp::Literal, '#string' do From 1057425e1bf57b579416ef0c674e372823e2060b Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Sun, 28 Jul 2013 16:23:19 -0700 Subject: [PATCH 04/36] Fix rubocop warnings in gemspec * Add bundler as a development dependency --- config/rubocop.yml | 1 + mutant.gemspec | 15 ++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/config/rubocop.yml b/config/rubocop.yml index 93d34398..2a4e4a10 100644 --- a/config/rubocop.yml +++ b/config/rubocop.yml @@ -3,6 +3,7 @@ AllCops: - '../**/*.rake' - 'Gemfile' - 'Gemfile.devtools' + - 'mutant.gemspec' Excludes: - '**/vendor/**' - '**/benchmarks/**' diff --git a/mutant.gemspec b/mutant.gemspec index 17cf81e8..5ac7df1e 100644 --- a/mutant.gemspec +++ b/mutant.gemspec @@ -1,21 +1,20 @@ -# -*- encoding: utf-8 -*- +# encoding: utf-8 Gem::Specification.new do |gem| gem.name = 'mutant' gem.version = '0.3.0.beta21' - gem.authors = [ 'Markus Schirp' ] - gem.email = [ 'mbj@schirp-dso.com' ] - + gem.authors = ['Markus Schirp'] + gem.email = ['mbj@schirp-dso.com'] gem.description = 'Mutation testing for ruby' gem.summary = 'Mutation testing tool for ruby under MRI and Rubinius' gem.homepage = 'https://github.com/mbj/mutant' gem.license = 'MIT' - gem.require_paths = [ 'lib' ] + gem.require_paths = %w[lib] gem.files = `git ls-files`.split("\n") - gem.test_files = `git ls-files -- spec`.split("\n") + gem.test_files = `git ls-files -- spec/{unit,integration}`.split($/) gem.extra_rdoc_files = %w[TODO LICENSE] - gem.executables = [ 'mutant' ] + gem.executables = %w[mutant] gem.add_runtime_dependency('parser', '~> 2.0.0.pre3') gem.add_runtime_dependency('unparser', '~> 0.0.10') @@ -27,4 +26,6 @@ Gem::Specification.new do |gem| gem.add_runtime_dependency('anima', '~> 0.0.6') gem.add_runtime_dependency('concord', '~> 0.1.1') gem.add_runtime_dependency('rspec', '~> 2.14.1') + + gem.add_development_dependency('bundler', '~> 1.3', '>= 1.3.5') end From b6964574cdf7b7554d7bee228cd7f42643a7f0fc Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Sun, 28 Jul 2013 16:39:23 -0700 Subject: [PATCH 05/36] Upgrade unparser gem dependency * Fix failing "canary" specs * Not all mutations can be performed yet for rescue, but this is an improvement since it does not raise an exception. --- mutant.gemspec | 2 +- .../mutator/node/rescue/mutation_spec.rb | 20 ++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/mutant.gemspec b/mutant.gemspec index 5ac7df1e..1918e526 100644 --- a/mutant.gemspec +++ b/mutant.gemspec @@ -17,7 +17,7 @@ Gem::Specification.new do |gem| gem.executables = %w[mutant] gem.add_runtime_dependency('parser', '~> 2.0.0.pre3') - gem.add_runtime_dependency('unparser', '~> 0.0.10') + gem.add_runtime_dependency('unparser', '~> 0.0.11') gem.add_runtime_dependency('ice_nine', '~> 0.8.0') gem.add_runtime_dependency('descendants_tracker', '~> 0.0.1') gem.add_runtime_dependency('adamantium', '~> 0.0.10') diff --git a/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb b/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb index 91f6d14f..8ab1363a 100644 --- a/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb @@ -3,18 +3,20 @@ require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'rescue' do - let(:source) { 'begin; rescue Exception => e; end' } - let(:mutations) { [] } + let(:source) { 'begin; rescue Exception => e; end' } - # TODO: remove once unparser is fixed - it 'does not raise an exception when unparsing source' do - pending 'unparser bug' do - expect { Unparser.unparse(Parser::CurrentRuby.parse(source)) } - .to_not raise_error - end + let(:mutations) do + mutations = [] + mutations << 'begin; rescue Exception => srandom; end' + mutations << 'begin; rescue nil => e; end' + mutations << 'begin; rescue => e; end' end - pending 'unparser bug' do + before do + Mutant::Random.stub(:hex_string => 'random') + end + + pending do it_should_behave_like 'a mutator' end end From 47e2827adfaa9f9d54b63fea61dfe6e58b067ad8 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Sun, 28 Jul 2013 17:45:40 -0700 Subject: [PATCH 06/36] Update code to be simpler --- spec/shared/mutator_behavior.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/spec/shared/mutator_behavior.rb b/spec/shared/mutator_behavior.rb index 3a37b59c..4b0793ba 100644 --- a/spec/shared/mutator_behavior.rb +++ b/spec/shared/mutator_behavior.rb @@ -58,9 +58,7 @@ shared_examples_for 'a mutator' do it { should be_instance_of(to_enum.class) } let(:expected_mutations) do - mutations.map do |mutation| - Subject.coerce(mutation) - end + mutations.map(&Subject.method(:coerce)) end let(:generated_mutations) do From 04ffa8b86cebfbd17687cea5d45cbe38c34ce05f Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Sun, 28 Jul 2013 17:45:16 -0700 Subject: [PATCH 07/36] Upgrade unparser gem dependency * Fix now (partly) passing specs --- mutant.gemspec | 2 +- .../mutant/mutator/node/ensure/mutation_spec.rb | 17 ++++++----------- .../mutant/mutator/node/rescue/mutation_spec.rb | 10 ++++++---- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/mutant.gemspec b/mutant.gemspec index 1918e526..af7f5c0d 100644 --- a/mutant.gemspec +++ b/mutant.gemspec @@ -17,7 +17,7 @@ Gem::Specification.new do |gem| gem.executables = %w[mutant] gem.add_runtime_dependency('parser', '~> 2.0.0.pre3') - gem.add_runtime_dependency('unparser', '~> 0.0.11') + gem.add_runtime_dependency('unparser', '~> 0.0.12') gem.add_runtime_dependency('ice_nine', '~> 0.8.0') gem.add_runtime_dependency('descendants_tracker', '~> 0.0.1') gem.add_runtime_dependency('adamantium', '~> 0.0.10') diff --git a/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb b/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb index 827617c7..7ca129b0 100644 --- a/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/ensure/mutation_spec.rb @@ -3,18 +3,13 @@ require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'ensure' do - let(:source) { 'begin; rescue; ensure; end' } - let(:mutations) { [] } + let(:source) { 'begin; rescue; ensure; true; end' } - # TODO: remove once unparser is fixed - it 'does not raise an exception when unparsing source' do - pending 'unparser bug' do - expect { Unparser.unparse(Parser::CurrentRuby.parse(source)) } - .to_not raise_error - end + let(:mutations) do + mutations = [] + mutations << 'begin; rescue; ensure; false; end' + mutations << 'begin; rescue; ensure; nil; end' end - pending 'unparser bug' do - it_should_behave_like 'a mutator' - end + it_should_behave_like 'a mutator' end diff --git a/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb b/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb index 8ab1363a..e59338c3 100644 --- a/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/rescue/mutation_spec.rb @@ -3,13 +3,15 @@ require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'rescue' do - let(:source) { 'begin; rescue Exception => e; end' } + let(:source) { 'begin; rescue Exception => e; true end' } let(:mutations) do mutations = [] - mutations << 'begin; rescue Exception => srandom; end' - mutations << 'begin; rescue nil => e; end' - mutations << 'begin; rescue => e; end' + mutations << 'begin; rescue Exception => srandom; true; end' + mutations << 'begin; rescue Exception => e; false; end' + mutations << 'begin; rescue Exception => e; nil; end' + mutations << 'begin; rescue nil => e; true; end' +# mutations << 'begin; rescue => e; true; end' # FIXME end before do From 65f8223c4235432c4b1e7a8c5eeb12a5d4e14ced Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Sun, 28 Jul 2013 22:53:32 -0700 Subject: [PATCH 08/36] Replace global variable with string literal --- mutant.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mutant.gemspec b/mutant.gemspec index af7f5c0d..75193970 100644 --- a/mutant.gemspec +++ b/mutant.gemspec @@ -12,7 +12,7 @@ Gem::Specification.new do |gem| gem.require_paths = %w[lib] gem.files = `git ls-files`.split("\n") - gem.test_files = `git ls-files -- spec/{unit,integration}`.split($/) + gem.test_files = `git ls-files -- spec/{unit,integration}`.split("\n") gem.extra_rdoc_files = %w[TODO LICENSE] gem.executables = %w[mutant] From 64d8ee0e80002cab21233c2411f66540c21040f1 Mon Sep 17 00:00:00 2001 From: Markus Schirp Date: Mon, 29 Jul 2013 22:06:33 +0200 Subject: [PATCH 09/36] Update IRC channel --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 456ae670..1f23a9aa 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,8 @@ Your options: * GitHub Issues https://github.com/mbj/mutant/issues * Ping me on https://twitter.com/_m_b_j_ -* #rom-rb channel on freenode, I hang around on CET daytimes. (nick mbj) +* #mutant channel on freenode, I hang around on CET daytimes. (nick mbj) + You'll also find others [ROM](https://github.com/rom-rb) team members here that can answer questions. Credits ------- From 94d94819f5a6eddff2e713b7f31a1aa08ed8b1ef Mon Sep 17 00:00:00 2001 From: Markus Schirp Date: Mon, 29 Jul 2013 22:16:01 +0200 Subject: [PATCH 10/36] Update travis IRC notifications --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cafc5f7e..77a1162d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,6 @@ matrix: notifications: irc: channels: - - irc.freenode.org#rom-rb + - irc.freenode.org#mutant on_success: never on_failure: change From 27e955dfb48185fbfc3336bb34ac2296f4e19376 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 16:17:25 -0700 Subject: [PATCH 11/36] Upgrade unparser gem dependency --- mutant.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mutant.gemspec b/mutant.gemspec index 75193970..8241b438 100644 --- a/mutant.gemspec +++ b/mutant.gemspec @@ -17,7 +17,7 @@ Gem::Specification.new do |gem| gem.executables = %w[mutant] gem.add_runtime_dependency('parser', '~> 2.0.0.pre3') - gem.add_runtime_dependency('unparser', '~> 0.0.12') + gem.add_runtime_dependency('unparser', '~> 0.0.13') gem.add_runtime_dependency('ice_nine', '~> 0.8.0') gem.add_runtime_dependency('descendants_tracker', '~> 0.0.1') gem.add_runtime_dependency('adamantium', '~> 0.0.10') From ab3ec615ab8bf23b97e26596fc442a572fe2d40a Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 16:16:50 -0700 Subject: [PATCH 12/36] Fix failing spec caused by bug fix in unparser --- spec/unit/mutant/mutator/node/next/mutation_spec.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spec/unit/mutant/mutator/node/next/mutation_spec.rb b/spec/unit/mutant/mutator/node/next/mutation_spec.rb index a5fdeaaa..4bf4e406 100644 --- a/spec/unit/mutant/mutator/node/next/mutation_spec.rb +++ b/spec/unit/mutant/mutator/node/next/mutation_spec.rb @@ -3,8 +3,13 @@ require 'spec_helper' describe Mutant::Mutator::Node::Generic, 'next' do - let(:source) { 'next true' } - let(:mutations) { [] } + let(:source) { 'next true' } + + let(:mutations) do + mutations = [] + mutations << 'next false' + mutations << 'next nil' + end it_should_behave_like 'a mutator' end From 92bc48aa8acd4f739c6ef994f3ce25017cfb74e3 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 16:20:54 -0700 Subject: [PATCH 13/36] Update travis config to track coverage properly in jruby * Update latest bundler to install and exclude unnecessary gems from the gemfile --- .travis.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 77a1162d..9e7c3fc2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,22 @@ language: ruby -script: 'bundle exec rake ci' +before_install: gem install bundler +bundler_args: --without yard guard benchmarks +script: "bundle exec rake ci" rvm: - 1.9.3 - 2.0.0 - ruby-head - rbx-19mode - - ruby-head - - jruby-19mode matrix: + include: + - rvm: jruby-19mode + env: JRUBY_OPTS="$JRUBY_OPTS --debug" + - rvm: jruby-head + env: JRUBY_OPTS="$JRUBY_OPTS --debug" allow_failures: - - rvm: jruby-19mode # No fork(2) support, workaround planned - - rvm: ruby-head # Broken at this time, bundler issue on travis - - rvm: rbx-19mode # Broken at this time, yard/yardstick issue + - rvm: ruby-head # Broken at this time, bundler issue on travis + - rvm: rbx-19mode # Broken at this time, yard/yardstick issue + - rvm: jruby-19mode # No fork(2) support, workaround planned notifications: irc: channels: From c26feb786fa18759b9e3d02ed723ba3712ac85d9 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 17:06:10 -0700 Subject: [PATCH 14/36] Add jruby-head to list of rubies to allow failures --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 9e7c3fc2..f298c78c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,7 @@ matrix: - rvm: ruby-head # Broken at this time, bundler issue on travis - rvm: rbx-19mode # Broken at this time, yard/yardstick issue - rvm: jruby-19mode # No fork(2) support, workaround planned + - rvm: jruby-head # No fork(2) support, workaround planned notifications: irc: channels: From 223b929cd485c34ff15abf0ddc0e03a2b37a45fe Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 17:06:49 -0700 Subject: [PATCH 15/36] Update reason that ruby-head allows failures --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f298c78c..d90822bf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ matrix: - rvm: jruby-head env: JRUBY_OPTS="$JRUBY_OPTS --debug" allow_failures: - - rvm: ruby-head # Broken at this time, bundler issue on travis + - rvm: ruby-head # Broken at this time, rvm issue on travis - rvm: rbx-19mode # Broken at this time, yard/yardstick issue - rvm: jruby-19mode # No fork(2) support, workaround planned - rvm: jruby-head # No fork(2) support, workaround planned From 16bb6a398cdc1af863c5ca82e41f77fbbae6db43 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 17:08:03 -0700 Subject: [PATCH 16/36] Update unit test time threshold to 5 seconds * No test should take this long, but I am seeing weird failures on travis with 1.9.3, so I want to find a threshold that works 100% of the time. --- config/devtools.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/devtools.yml b/config/devtools.yml index f7e1f615..615bfc58 100644 --- a/config/devtools.yml +++ b/config/devtools.yml @@ -1,2 +1,2 @@ --- -unit_test_timeout: 1.0 +unit_test_timeout: 5.0 From 8f46081d5941452aff115cb1b033c24199e20929 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 17:17:04 -0700 Subject: [PATCH 17/36] Add encoding to ruby files --- Rakefile | 3 +++ bin/mutant | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Rakefile b/Rakefile index 8ba32c66..82170d8b 100644 --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,7 @@ +# encoding: utf-8 + require 'devtools' + Devtools.init_rake_tasks Rake.application.load_imports diff --git a/bin/mutant b/bin/mutant index 9248ea4a..9913d4a6 100755 --- a/bin/mutant +++ b/bin/mutant @@ -1,5 +1,7 @@ #!/usr/bin/env ruby +# encoding: utf-8 + trap('INT') do |status| exit! 128 + status end From d675c9258d86f7bfeb21d45c13e546d5584623b7 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 17:33:44 -0700 Subject: [PATCH 18/36] Update path name to report the filename better on failure --- spec/unit/mutant/loader/eval/class_methods/run_spec.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/unit/mutant/loader/eval/class_methods/run_spec.rb b/spec/unit/mutant/loader/eval/class_methods/run_spec.rb index 8c2f587f..1ddb6966 100644 --- a/spec/unit/mutant/loader/eval/class_methods/run_spec.rb +++ b/spec/unit/mutant/loader/eval/class_methods/run_spec.rb @@ -6,9 +6,9 @@ describe Mutant::Loader::Eval, '.run' do subject { object.run(node, mutation_subject) } - let(:object) { described_class } - let(:path) { 'test.rb' } - let(:line) { 1 } + let(:object) { described_class } + let(:path) { __FILE__ } + let(:line) { 1 } let(:mutation_subject) do double('Subject', :source_path => path, :source_line => line) @@ -43,6 +43,6 @@ describe Mutant::Loader::Eval, '.run' do subject ::SomeNamespace::Bar .instance_method(:some_method) - .source_location.should eql(['test.rb', 3]) + .source_location.should eql([__FILE__, 3]) end end From f8c062326548a31067892bbaac6c9275f90b6e4a Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 17:34:02 -0700 Subject: [PATCH 19/36] Fix whitespace --- lib/mutant/mutator/node.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/mutant/mutator/node.rb b/lib/mutant/mutator/node.rb index 64a54561..39748541 100644 --- a/lib/mutant/mutator/node.rb +++ b/lib/mutant/mutator/node.rb @@ -1,8 +1,10 @@ # encoding: utf-8 module Mutant + # Generator for mutations class Mutator + # Abstract base class for node mutators class Node < self include AbstractType, NodeHelpers, Unparser::Constants From 42173369908dd401f922655e6bb6ad13c6ab925b Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 17:34:11 -0700 Subject: [PATCH 20/36] Add rspec profiling and turn on warnings in specs --- .rspec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.rspec b/.rspec index 81e6e158..5e712d36 100644 --- a/.rspec +++ b/.rspec @@ -1,3 +1,5 @@ --color --format progress +--profile +--warnings --order random From 011c99d3fde0b725f15a0aa7dc6751078d414e51 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 17:39:47 -0700 Subject: [PATCH 21/36] Move encoding line to the second line where rubycop will find it --- bin/mutant | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/mutant b/bin/mutant index 9913d4a6..bbdc27c9 100755 --- a/bin/mutant +++ b/bin/mutant @@ -1,5 +1,4 @@ #!/usr/bin/env ruby - # encoding: utf-8 trap('INT') do |status| From 6236f085fb64f319f090e86d18d84a0843a492a0 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 14:43:42 -0700 Subject: [PATCH 22/36] Fix code formatting --- lib/mutant/cli/classifier/method.rb | 3 ++- lib/mutant/cli/classifier/namespace.rb | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/mutant/cli/classifier/method.rb b/lib/mutant/cli/classifier/method.rb index 4bb9c93f..cb36a8ea 100644 --- a/lib/mutant/cli/classifier/method.rb +++ b/lib/mutant/cli/classifier/method.rb @@ -3,13 +3,14 @@ module Mutant class CLI class Classifier + # Explicit method classifier class Method < self register TABLE = { '.' => Matcher::Methods::Singleton, - '#' => Matcher::Methods::Instance + '#' => Matcher::Methods::Instance, }.freeze REGEXP = diff --git a/lib/mutant/cli/classifier/namespace.rb b/lib/mutant/cli/classifier/namespace.rb index 27be7509..fe23c7ae 100644 --- a/lib/mutant/cli/classifier/namespace.rb +++ b/lib/mutant/cli/classifier/namespace.rb @@ -31,15 +31,17 @@ module Mutant # Recursive namespace classifier class Recursive < self - REGEXP = /\A(#{SCOPE_PATTERN})\*\z/.freeze + REGEXP = /\A(#{SCOPE_PATTERN})\*\z/.freeze MATCHER = Matcher::Namespace + register end # Recursive # Recursive namespace classifier class Flat < self - REGEXP = /\A(#{SCOPE_PATTERN})\z/.freeze + REGEXP = /\A(#{SCOPE_PATTERN})\z/.freeze MATCHER = Matcher::Scope + register end # Flat From df172e704ea7149f16565b893fd2e290c4fbcfd1 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 14:09:22 -0700 Subject: [PATCH 23/36] Refactor scope and method regexps --- lib/mutant/cli/classifier.rb | 24 ++++++++++++++---------- lib/mutant/cli/classifier/method.rb | 9 +++++++-- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/lib/mutant/cli/classifier.rb b/lib/mutant/cli/classifier.rb index 91ec353c..2839b3cb 100644 --- a/lib/mutant/cli/classifier.rb +++ b/lib/mutant/cli/classifier.rb @@ -8,15 +8,19 @@ module Mutant include Equalizer.new(:identifier) - SCOPE_NAME_PATTERN = /[A-Za-z][A-Za-z_0-9]*/.freeze - OPERATOR_PATTERN = Regexp.union(*OPERATOR_METHODS.map(&:to_s)).freeze - METHOD_NAME_PATTERN = - /([_A-Za-z][A-Za-z0-9_]*[!?=]?|#{OPERATOR_PATTERN})/.freeze - SCOPE_PATTERN = - /(?:::)?#{SCOPE_NAME_PATTERN}(?:::#{SCOPE_NAME_PATTERN})*/.freeze - CBASE_PATTERN = /\A::/.freeze - SCOPE_OPERATOR = '::'.freeze - SINGLETON_PATTERN = /\A(#{SCOPE_PATTERN})\z/.freeze + SCOPE_NAME_PATTERN = /[A-Za-z][A-Za-z\d_]*/.freeze + SCOPE_OPERATOR = '::'.freeze + CBASE_PATTERN = /\A#{SCOPE_OPERATOR}/.freeze + + METHOD_NAME_PATTERN = Regexp.union( + /[A-Za-z_][A-Za-z\d_]*[!?=]?/, + *OPERATOR_METHODS.map(&:to_s) + ).freeze + + SCOPE_PATTERN = / + (?:#{SCOPE_OPERATOR})?#{SCOPE_NAME_PATTERN} + (?:#{SCOPE_OPERATOR}#{SCOPE_NAME_PATTERN})* + /x.freeze REGISTRY = [] @@ -41,7 +45,7 @@ module Mutant # def self.constant_lookup(location) location - .gsub(CBASE_PATTERN, EMPTY_STRING) + .sub(CBASE_PATTERN, EMPTY_STRING) .split(SCOPE_OPERATOR) .reduce(Object) do |parent, name| parent.const_get(name) diff --git a/lib/mutant/cli/classifier/method.rb b/lib/mutant/cli/classifier/method.rb index cb36a8ea..72842f08 100644 --- a/lib/mutant/cli/classifier/method.rb +++ b/lib/mutant/cli/classifier/method.rb @@ -13,8 +13,13 @@ module Mutant '#' => Matcher::Methods::Instance, }.freeze - REGEXP = - %r(\A(#{SCOPE_PATTERN})([.#])(#{METHOD_NAME_PATTERN}\z)).freeze + REGEXP = / + \A + (#{SCOPE_PATTERN}) + ([.#]) + (#{METHOD_NAME_PATTERN}) + \z + /x.freeze # Positions of captured regexp groups SCOPE_NAME_POSITION = 1 From 97aefb18764e44da7195f9dc642a6206c7731b66 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 14:39:38 -0700 Subject: [PATCH 24/36] Change Mutant::CLI::Classifier#matcher to be private --- lib/mutant/cli/classifier.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/mutant/cli/classifier.rb b/lib/mutant/cli/classifier.rb index 2839b3cb..73c98ec1 100644 --- a/lib/mutant/cli/classifier.rb +++ b/lib/mutant/cli/classifier.rb @@ -130,6 +130,7 @@ module Mutant # @api private # abstract_method :matcher + private :matcher end # Classifier end # CLI From d922e14e02bbc82ec9a5361049698657ba0d5c3f Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 14:31:05 -0700 Subject: [PATCH 25/36] Change Mutant::CLI::Classifier::Method#matcher to be private --- lib/mutant/cli/classifier/method.rb | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/mutant/cli/classifier/method.rb b/lib/mutant/cli/classifier/method.rb index 72842f08..2435d84f 100644 --- a/lib/mutant/cli/classifier/method.rb +++ b/lib/mutant/cli/classifier/method.rb @@ -26,17 +26,6 @@ module Mutant SCOPE_SYMBOL_POSITION = 2 METHOD_NAME_POSITION = 3 - # Return method matcher - # - # @return [Matcher::Method] - # - # @api private - # - def matcher - methods_matcher.matcher.build(cache, scope, method) - end - memoize :matcher - # Return identification # # @return [String] @@ -49,6 +38,17 @@ module Mutant private + # Return method matcher + # + # @return [Matcher::Method] + # + # @api private + # + def matcher + methods_matcher.matcher.build(cache, scope, method) + end + memoize :matcher + # Return method # # @return [Method, UnboundMethod] From 85aabae109a3b9af53d47161e8db50a62d99922d Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 14:38:19 -0700 Subject: [PATCH 26/36] Remove Mutant::CLI::Classifier::Method#identification * This is a duplicate of #identifer in the parent class --- lib/mutant/cli/classifier/method.rb | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/lib/mutant/cli/classifier/method.rb b/lib/mutant/cli/classifier/method.rb index 2435d84f..7e30d7fb 100644 --- a/lib/mutant/cli/classifier/method.rb +++ b/lib/mutant/cli/classifier/method.rb @@ -26,16 +26,6 @@ module Mutant SCOPE_SYMBOL_POSITION = 2 METHOD_NAME_POSITION = 3 - # Return identification - # - # @return [String] - # - # @api private - # - def identification - match.to_s - end - private # Return method matcher @@ -58,7 +48,7 @@ module Mutant def method methods_matcher.methods.detect do |method| method.name == method_name - end or raise("Cannot find method #{identification}") + end or raise "Cannot find method #{identifier}" end memoize :method, :freezer => :noop From f3061f77c8fbf00e40f8dda8c78d0aa0fefed4d3 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 15:55:52 -0700 Subject: [PATCH 27/36] Update method not found to raise a NameError --- lib/mutant/cli/classifier/method.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mutant/cli/classifier/method.rb b/lib/mutant/cli/classifier/method.rb index 7e30d7fb..4abfbeee 100644 --- a/lib/mutant/cli/classifier/method.rb +++ b/lib/mutant/cli/classifier/method.rb @@ -48,7 +48,7 @@ module Mutant def method methods_matcher.methods.detect do |method| method.name == method_name - end or raise "Cannot find method #{identifier}" + end or raise NameError, "Cannot find method #{identifier}" end memoize :method, :freezer => :noop From 94e532254115a28cd3e46cd474fef777406bd83c Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Sun, 28 Jul 2013 12:33:21 -0700 Subject: [PATCH 28/36] Update constant lookup to use stricter approach --- lib/mutant/cli/classifier.rb | 2 +- .../mutant/cli/classifier/method/each_spec.rb | 89 +++++++++++++++++++ .../classifier/namespace/flat/each_spec.rb | 58 ++++++++++++ .../namespace/recursive/each_spec.rb | 58 ++++++++++++ .../mutant/cli/classifier/scope/each_spec.rb | 33 +++++++ 5 files changed, 239 insertions(+), 1 deletion(-) create mode 100644 spec/unit/mutant/cli/classifier/method/each_spec.rb create mode 100644 spec/unit/mutant/cli/classifier/namespace/flat/each_spec.rb create mode 100644 spec/unit/mutant/cli/classifier/namespace/recursive/each_spec.rb create mode 100644 spec/unit/mutant/cli/classifier/scope/each_spec.rb diff --git a/lib/mutant/cli/classifier.rb b/lib/mutant/cli/classifier.rb index 73c98ec1..8c448feb 100644 --- a/lib/mutant/cli/classifier.rb +++ b/lib/mutant/cli/classifier.rb @@ -48,7 +48,7 @@ module Mutant .sub(CBASE_PATTERN, EMPTY_STRING) .split(SCOPE_OPERATOR) .reduce(Object) do |parent, name| - parent.const_get(name) + parent.const_get(name, nil) end end diff --git a/spec/unit/mutant/cli/classifier/method/each_spec.rb b/spec/unit/mutant/cli/classifier/method/each_spec.rb new file mode 100644 index 00000000..83fcd6b6 --- /dev/null +++ b/spec/unit/mutant/cli/classifier/method/each_spec.rb @@ -0,0 +1,89 @@ +# encoding: utf-8 + +require 'spec_helper' + +describe Mutant::CLI::Classifier::Method, '#each' do + let(:object) { described_class.build(cache, input) } + let(:cache) { Mutant::Cache.new } + let(:instance_method) { '::TestApp::Literal#string' } + let(:singleton_method) { '::TestApp::Literal.string' } + let(:unknown_method) { '::TestApp::Literal#unknown' } + + context 'with a block' do + subject { object.each {} } + + context 'with an instance method name' do + let(:input) { instance_method } + + it_behaves_like 'a command method' + + it 'yield an instance subject' do + expect { |block| object.each(&block) } + .to yield_with_args(Mutant::Subject::Method::Instance) + end + end + + context 'with an singleton method name' do + let(:input) { singleton_method } + + it_behaves_like 'a command method' + + it 'yield an instance subject' do + expect { |block| object.each(&block) } + .to yield_with_args(Mutant::Subject::Method::Singleton) + end + end + + context 'with an unknown method' do + let(:input) { unknown_method } + + it 'raises an exception' do + expect { subject } + .to raise_error(NameError, "Cannot find method #{input}") + end + end + end + + context 'without a block' do + subject { object.each } + + context 'with an instance method name' do + let(:input) { instance_method } + + it 'returns an enumerator' do + should be_instance_of(to_enum.class) + end + + it 'yield an instance subject' do + expect { |block| subject.each(&block) } + .to yield_with_args(Mutant::Subject::Method::Instance) + end + end + + context 'with an singleton method name' do + let(:input) { singleton_method } + + it 'returns an enumerator' do + should be_instance_of(to_enum.class) + end + + it 'yield an instance subject' do + expect { |block| subject.each(&block) } + .to yield_with_args(Mutant::Subject::Method::Singleton) + end + end + + context 'with an unknown method' do + let(:input) { unknown_method } + + it 'returns an enumerator' do + should be_instance_of(to_enum.class) + end + + it 'raises an exception when #each is called' do + expect { subject.each {} } + .to raise_error(NameError, "Cannot find method #{input}") + end + end + end +end diff --git a/spec/unit/mutant/cli/classifier/namespace/flat/each_spec.rb b/spec/unit/mutant/cli/classifier/namespace/flat/each_spec.rb new file mode 100644 index 00000000..ee045430 --- /dev/null +++ b/spec/unit/mutant/cli/classifier/namespace/flat/each_spec.rb @@ -0,0 +1,58 @@ +# encoding: utf-8 + +require 'spec_helper' + +describe Mutant::CLI::Classifier::Namespace::Flat, '#each' do + let(:object) { described_class.build(cache, input) } + let(:cache) { Mutant::Cache.new } + let(:known_namespace) { '::TestApp::Literal' } + let(:unknown_namespace) { '::TestApp::Object' } + + context 'with a block' do + subject { object.each {} } + + context 'with a known namespace' do + let(:input) { known_namespace } + + it_behaves_like 'a command method' + + it 'yield method subjects' do + expect { |block| object.each(&block) } + .to yield_control.exactly(7).times + end + end + + context 'with an unknown namespace' do + let(:input) { unknown_namespace } + + it 'raises an exception' do + expect { subject }.to raise_error(NameError) + end + end + end + + context 'without a block' do + subject { object.each } + + context 'with a known namespace' do + let(:input) { known_namespace } + + it 'returns an enumerator' do + should be_instance_of(to_enum.class) + end + + it 'yield an instance subject' do + expect { |block| object.each(&block) } + .to yield_control.exactly(7).times + end + end + + context 'with an unknown namespace' do + let(:input) { unknown_namespace } + + it 'raises an exception when #each is called' do + expect { subject.each {} }.to raise_error(NameError) + end + end + end +end diff --git a/spec/unit/mutant/cli/classifier/namespace/recursive/each_spec.rb b/spec/unit/mutant/cli/classifier/namespace/recursive/each_spec.rb new file mode 100644 index 00000000..a1da8801 --- /dev/null +++ b/spec/unit/mutant/cli/classifier/namespace/recursive/each_spec.rb @@ -0,0 +1,58 @@ +# encoding: utf-8 + +require 'spec_helper' + +describe Mutant::CLI::Classifier::Namespace::Recursive, '#each' do + let(:object) { described_class.build(cache, "#{input}*") } + let(:cache) { Mutant::Cache.new } + let(:known_namespace) { '::TestApp::Literal' } + let(:unknown_namespace) { '::TestApp::Object' } + + context 'with a block' do + subject { object.each {} } + + context 'with a known namespace' do + let(:input) { known_namespace } + + it_behaves_like 'a command method' + + it 'yield method subjects' do + expect { |block| object.each(&block) } + .to yield_control.exactly(7).times + end + end + + context 'with an unknown namespace' do + let(:input) { unknown_namespace } + + it 'raises an exception' do + expect { subject }.to raise_error(NameError) + end + end + end + + context 'without a block' do + subject { object.each } + + context 'with a known namespace' do + let(:input) { known_namespace } + + it 'returns an enumerator' do + should be_instance_of(to_enum.class) + end + + it 'yield an instance subject' do + expect { |block| object.each(&block) } + .to yield_control.exactly(7).times + end + end + + context 'with an unknown namespace' do + let(:input) { unknown_namespace } + + it 'raises an exception when #each is called' do + expect { subject.each {} }.to raise_error(NameError) + end + end + end +end diff --git a/spec/unit/mutant/cli/classifier/scope/each_spec.rb b/spec/unit/mutant/cli/classifier/scope/each_spec.rb new file mode 100644 index 00000000..ba18cf9c --- /dev/null +++ b/spec/unit/mutant/cli/classifier/scope/each_spec.rb @@ -0,0 +1,33 @@ +# encoding: utf-8 + +require 'spec_helper' + +describe Mutant::CLI::Classifier::Scope, '#each' do + let(:object) { described_class.build(cache, input) } + let(:cache) { Mutant::Cache.new } + let(:input) { ::TestApp::Literal } + + context 'with a block' do + subject { object.each {} } + + it_behaves_like 'a command method' + + it 'yield method subjects' do + expect { |block| object.each(&block) } + .to yield_control.exactly(7).times + end + end + + context 'without a block' do + subject { object.each } + + it 'returns an enumerator' do + should be_instance_of(to_enum.class) + end + + it 'yield an instance subject' do + expect { |block| object.each(&block) } + .to yield_control.exactly(7).times + end + end +end From e34ba860cc168c805c77ebeb45e2f461860616a9 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Mon, 29 Jul 2013 15:58:32 -0700 Subject: [PATCH 29/36] Update metrics thresholds --- config/flay.yml | 2 +- spec/spec_helper.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/flay.yml b/config/flay.yml index 9892b938..5ce82f59 100644 --- a/config/flay.yml +++ b/config/flay.yml @@ -1,3 +1,3 @@ --- threshold: 16 -total_score: 773 +total_score: 764 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index ca215b0a..d1b261e4 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -17,7 +17,7 @@ if ENV['COVERAGE'] == 'true' add_filter 'config' add_filter 'spec' add_filter 'test_app' - minimum_coverage 88.74 # TODO: raise this to 100, then mutation test + minimum_coverage 89.56 # TODO: raise this to 100, then mutation test end end From 30f257db18d162184b85c747ec525aa69c647134 Mon Sep 17 00:00:00 2001 From: Markus Schirp Date: Tue, 30 Jul 2013 10:40:05 +0200 Subject: [PATCH 30/36] Bump version to 0.3.0.beta22 --- mutant.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mutant.gemspec b/mutant.gemspec index 8241b438..27a0cfbe 100644 --- a/mutant.gemspec +++ b/mutant.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |gem| gem.name = 'mutant' - gem.version = '0.3.0.beta21' + gem.version = '0.3.0.beta22' gem.authors = ['Markus Schirp'] gem.email = ['mbj@schirp-dso.com'] gem.description = 'Mutation testing for ruby' From 8ba03a02f9967d53c11b55a407e24d86756707f4 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Tue, 30 Jul 2013 02:22:02 -0700 Subject: [PATCH 31/36] Fix whitespace --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f23a9aa..321fb983 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ Your options: * GitHub Issues https://github.com/mbj/mutant/issues * Ping me on https://twitter.com/_m_b_j_ -* #mutant channel on freenode, I hang around on CET daytimes. (nick mbj) +* #mutant channel on freenode, I hang around on CET daytimes. (nick mbj) You'll also find others [ROM](https://github.com/rom-rb) team members here that can answer questions. Credits From 2b6eba8ad3b36e550865889ef5282ffdc166c940 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Tue, 30 Jul 2013 02:14:27 -0700 Subject: [PATCH 32/36] Refactor conditional logic to use a boolean connective * Change the guard clause into a simple if/else block. I believe a guard clause is only useful if it happens before the majority of the code in the method. In this case it adds nothing, and is probably more difficult to understand. --- lib/mutant/matcher/method.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/mutant/matcher/method.rb b/lib/mutant/matcher/method.rb index cd6c54e8..bb8bd487 100644 --- a/lib/mutant/matcher/method.rb +++ b/lib/mutant/matcher/method.rb @@ -54,16 +54,16 @@ module Mutant # def skip? location = source_location - if location.nil? or BLACKLIST.match(location.first) + if location.nil? || BLACKLIST.match(location.first) message = sprintf( '%s does not have valid source location unable to emit matcher', method.inspect ) $stderr.puts(message) - return true + true + else + false end - - false end # Return method name From 181abdc501e237212abcf8f8c02c2354e24e7737 Mon Sep 17 00:00:00 2001 From: Dan Kubb Date: Wed, 31 Jul 2013 11:35:25 -0700 Subject: [PATCH 33/36] Move rvm section into matrix/include * This is a test to see if we can remove the rvm section from travis config and just keep everything under matrix/include for consistency. --- .travis.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index d90822bf..0cf376fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,13 +2,12 @@ language: ruby before_install: gem install bundler bundler_args: --without yard guard benchmarks script: "bundle exec rake ci" -rvm: - - 1.9.3 - - 2.0.0 - - ruby-head - - rbx-19mode matrix: include: + - rvm: 1.9.3 + - rvm: 2.0.0 + - rvm: ruby-head + - rvm: rbx-19mode - rvm: jruby-19mode env: JRUBY_OPTS="$JRUBY_OPTS --debug" - rvm: jruby-head From 1aad731de0bf0e67e1cb0f22766a6161c4bf9876 Mon Sep 17 00:00:00 2001 From: Markus Schirp Date: Wed, 31 Jul 2013 22:08:50 +0200 Subject: [PATCH 34/36] Bump parser dependency ~> 2.0.0.pre5 --- mutant.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mutant.gemspec b/mutant.gemspec index 27a0cfbe..f2f7cac1 100644 --- a/mutant.gemspec +++ b/mutant.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |gem| gem.extra_rdoc_files = %w[TODO LICENSE] gem.executables = %w[mutant] - gem.add_runtime_dependency('parser', '~> 2.0.0.pre3') + gem.add_runtime_dependency('parser', '~> 2.0.0.pre5') gem.add_runtime_dependency('unparser', '~> 0.0.13') gem.add_runtime_dependency('ice_nine', '~> 0.8.0') gem.add_runtime_dependency('descendants_tracker', '~> 0.0.1') From 1fae013bd4bc7fccc4be50be12b72cb60e40fdd3 Mon Sep 17 00:00:00 2001 From: Markus Schirp Date: Wed, 31 Jul 2013 22:09:05 +0200 Subject: [PATCH 35/36] Bump unparser dependency to ~> 0.0.14 --- mutant.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mutant.gemspec b/mutant.gemspec index f2f7cac1..ae65261f 100644 --- a/mutant.gemspec +++ b/mutant.gemspec @@ -17,7 +17,7 @@ Gem::Specification.new do |gem| gem.executables = %w[mutant] gem.add_runtime_dependency('parser', '~> 2.0.0.pre5') - gem.add_runtime_dependency('unparser', '~> 0.0.13') + gem.add_runtime_dependency('unparser', '~> 0.0.14') gem.add_runtime_dependency('ice_nine', '~> 0.8.0') gem.add_runtime_dependency('descendants_tracker', '~> 0.0.1') gem.add_runtime_dependency('adamantium', '~> 0.0.10') From 82454f15d9c6b0544e207250657a882bd2e833a7 Mon Sep 17 00:00:00 2001 From: Markus Schirp Date: Wed, 31 Jul 2013 22:09:40 +0200 Subject: [PATCH 36/36] Bump concord dependency to ~> 0.1.3 --- mutant.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mutant.gemspec b/mutant.gemspec index ae65261f..7e5e66c4 100644 --- a/mutant.gemspec +++ b/mutant.gemspec @@ -24,7 +24,7 @@ Gem::Specification.new do |gem| gem.add_runtime_dependency('equalizer', '~> 0.0.5') gem.add_runtime_dependency('inflecto', '~> 0.0.2') gem.add_runtime_dependency('anima', '~> 0.0.6') - gem.add_runtime_dependency('concord', '~> 0.1.1') + gem.add_runtime_dependency('concord', '~> 0.1.3') gem.add_runtime_dependency('rspec', '~> 2.14.1') gem.add_development_dependency('bundler', '~> 1.3', '>= 1.3.5')