diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 600e628..b8972de 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,6 +21,9 @@ jobs: - '3.0' - 3.1 - 3.2 + - 3.3 + - 3.4 + - 4.0 - jruby steps: diff --git a/mutations.gemspec b/mutations.gemspec index a1b90be..3dfc2d7 100644 --- a/mutations.gemspec +++ b/mutations.gemspec @@ -14,6 +14,6 @@ Gem::Specification.new do |s| s.require_path = 'lib' s.add_dependency "activesupport" - s.add_development_dependency 'minitest', '~> 4' + s.add_development_dependency 'minitest' s.add_development_dependency 'rake' end diff --git a/spec/additional_filter_spec.rb b/spec/additional_filter_spec.rb index 1efb48f..31d1e05 100644 --- a/spec/additional_filter_spec.rb +++ b/spec/additional_filter_spec.rb @@ -39,7 +39,7 @@ def execute it "should recognize additional filters" do outcome = TestCommandUsingAdditionalFilters.run(:first_name => "John", :last_name => "Doe") assert outcome.success? - assert_equal nil, outcome.errors + assert_nil outcome.errors end class TestCommandUsingAdditionalFiltersInHashes < Mutations::Command @@ -60,7 +60,7 @@ def execute ) assert outcome.success? - assert_equal nil, outcome.errors + assert_nil outcome.errors end class TestCommandUsingAdditionalFiltersInArrays < Mutations::Command @@ -81,7 +81,7 @@ def execute ) assert outcome.success? - assert_equal nil, outcome.errors + assert_nil outcome.errors end module Mutations diff --git a/spec/array_filter_spec.rb b/spec/array_filter_spec.rb index 74edb06..6380f04 100644 --- a/spec/array_filter_spec.rb +++ b/spec/array_filter_spec.rb @@ -9,7 +9,7 @@ class SimpleModel; end f = Mutations::ArrayFilter.new(:arr) filtered, errors = f.filter([1]) assert_equal [1], filtered - assert_equal nil, errors + assert_nil errors end it "considers non-arrays to be invalid" do @@ -23,7 +23,7 @@ class SimpleModel; end it "considers nil to be invalid" do f = Mutations::ArrayFilter.new(:arr, :nils => false) filtered, errors = f.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end @@ -31,20 +31,20 @@ class SimpleModel; end f = Mutations::ArrayFilter.new(:arr, :nils => true) _filtered, errors = f.filter(nil) _filtered, errors = f.filter(nil) - assert_equal nil, errors + assert_nil errors end it "lets you specify a class, and has valid elements" do f = Mutations::ArrayFilter.new(:arr, :class => Integer) filtered, errors = f.filter([1,2,3]) - assert_equal nil, errors + assert_nil errors assert_equal [1,2,3], filtered end it "lets you specify a class as a string, and has valid elements" do f = Mutations::ArrayFilter.new(:arr, :class => 'Integer') filtered, errors = f.filter([1,2,3]) - assert_equal nil, errors + assert_nil errors assert_equal [1,2,3], filtered end @@ -125,7 +125,7 @@ class SimpleModel; end filtered, errors = f.filter([true, false, "1"]) assert_equal [true, false, true], filtered - assert_equal nil, errors + assert_nil errors end it "lets you pass model in arrays" do @@ -133,7 +133,7 @@ class SimpleModel; end filtered, errors = f.filter(["hey"]) assert_equal ["hey"], filtered - assert_equal nil, errors + assert_nil errors end it "lets you pass hashes in arrays" do @@ -153,8 +153,8 @@ class SimpleModel; end filtered, errors = f.filter([{:foo => "f", :bar => 3, :baz => true}, {:foo => "f", :bar => 3}, {:foo => "f"}]) assert_equal [{:foo=>"f", :bar=>3, :baz=>true}, {:foo=>"f", :bar=>3}, {:foo=>"f"}], filtered - assert_equal nil, errors[0] - assert_equal nil, errors[1] + assert_nil errors[0] + assert_nil errors[1] assert_equal({"bar"=>:required}, errors[2].symbolic) end @@ -167,7 +167,7 @@ class SimpleModel; end filtered, errors = f.filter([["h", "e"], ["l"], [], ["lo"]]) assert_equal filtered, [["h", "e"], ["l"], [], ["lo"]] - assert_equal nil, errors + assert_nil errors end it "handles errors for arrays of arrays" do @@ -189,14 +189,14 @@ class SimpleModel; end end filtered, errors = f.filter([1, "2", "three", "4", 5, [6]]) assert_equal [1,2,4,5], filtered - assert_equal nil, errors + assert_nil errors end it "considers long arrays to be valid" do f = Mutations::ArrayFilter.new(:arr, :min_length => 2) filtered, errors = f.filter([1, 2]) assert_equal [1, 2], filtered - assert_equal nil, errors + assert_nil errors end it "considers short arrays to be invalid" do @@ -210,7 +210,7 @@ class SimpleModel; end f = Mutations::ArrayFilter.new(:arr, :max_length => 20) filtered, errors = f.filter([1]) assert_equal [1], filtered - assert_equal nil, errors + assert_nil errors end it "sets a max_length for the array of 2 with 5 as invalid" do @@ -229,7 +229,7 @@ class SimpleModel; end m = SimpleModel.new filtered, errors = f.filter([m]) assert_equal [m], filtered - assert_equal nil, errors + assert_nil errors Object.send(:remove_const, 'SimpleModel') class SimpleModel; end @@ -251,7 +251,7 @@ class SimpleModel; end m = SimpleModel.new filtered, errors = f.filter([m]) assert_equal [m], filtered - assert_equal nil, errors + assert_nil errors Object.send(:remove_const, 'SimpleModel') class SimpleModel; end @@ -259,7 +259,7 @@ class SimpleModel; end m = SimpleModel.new filtered, errors = f.filter([m]) assert_equal [m], filtered - assert_equal nil, errors + assert_nil errors Mutations.cache_constants = was end diff --git a/spec/boolean_filter_spec.rb b/spec/boolean_filter_spec.rb index 0049e0d..dd3ac38 100644 --- a/spec/boolean_filter_spec.rb +++ b/spec/boolean_filter_spec.rb @@ -6,11 +6,11 @@ f = Mutations::BooleanFilter.new filtered, errors = f.filter(true) assert_equal true, filtered - assert_equal nil, errors + assert_nil errors filtered, errors = f.filter(false) assert_equal false, filtered - assert_equal nil, errors + assert_nil errors end it "considers non-booleans to be invalid" do @@ -24,15 +24,15 @@ it "considers nil to be invalid" do f = Mutations::BooleanFilter.new(:nils => false) filtered, errors = f.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end it "considers nil to be valid" do f = Mutations::BooleanFilter.new(:nils => true) filtered, errors = f.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers certain strings to be valid booleans" do @@ -40,7 +40,7 @@ [["true", true], ["TRUE", true], ["TrUe", true], ["1", true], ["false", false], ["FALSE", false], ["FalSe", false], ["0", false], [0, false], [1, true]].each do |(str, v)| filtered, errors = f.filter(str) assert_equal v, filtered - assert_equal nil, errors + assert_nil errors end end diff --git a/spec/command_spec.rb b/spec/command_spec.rb index 881622b..6cfa9a6 100644 --- a/spec/command_spec.rb +++ b/spec/command_spec.rb @@ -9,7 +9,7 @@ assert outcome.success? assert_equal({:name => "John", :email => "john@gmail.com", :amount => 5}.stringify_keys, outcome.result) - assert_equal nil, outcome.errors + assert_nil outcome.errors end it "should filter out spurious params" do @@ -17,7 +17,7 @@ assert outcome.success? assert_equal({:name => "John", :email => "john@gmail.com", :amount => 5}.stringify_keys, outcome.result) - assert_equal nil, outcome.errors + assert_nil outcome.errors end it "should discover errors in inputs" do @@ -70,7 +70,7 @@ assert !outcome.success? assert_equal :max_length, outcome.errors.symbolic[:name] - assert_equal nil, outcome.errors.symbolic[:email] + assert_nil outcome.errors.symbolic[:email] end it "should merge multiple hashes" do diff --git a/spec/date_filter_spec.rb b/spec/date_filter_spec.rb index a71f87a..2792fc1 100644 --- a/spec/date_filter_spec.rb +++ b/spec/date_filter_spec.rb @@ -6,7 +6,7 @@ f = Mutations::DateFilter.new filtered, errors = f.filter(date) assert_equal date, filtered - assert_equal nil, errors + assert_nil errors end it "takes a DateTime object" do @@ -14,7 +14,7 @@ f = Mutations::DateFilter.new filtered, errors = f.filter(date) assert_equal date, filtered - assert_equal nil, errors + assert_nil errors end it "takes a Time object and converts it to a date" do @@ -22,7 +22,7 @@ f = Mutations::DateFilter.new filtered, errors = f.filter(time) assert_equal time.to_date, filtered - assert_equal nil, errors + assert_nil errors end it "checks if the given date is after a certain date" do @@ -32,7 +32,7 @@ filtered, errors = f.filter(date) assert_equal date, filtered - assert_equal nil, errors + assert_nil errors end it "gives errors when the given date is before the after date" do @@ -41,7 +41,7 @@ f = Mutations::DateFilter.new(:after => after_date) filtered, errors = f.filter(date) - assert_equal nil, filtered + assert_nil filtered assert_equal :after, errors end @@ -52,7 +52,7 @@ filtered, errors = f.filter(date) assert_equal date, filtered - assert_equal nil, errors + assert_nil errors end it "gives errors when the given date is after the before date" do @@ -61,7 +61,7 @@ f = Mutations::DateFilter.new(:before => before_date) filtered, errors = f.filter(date) - assert_equal nil, filtered + assert_nil filtered assert_equal :before, errors end @@ -73,7 +73,7 @@ filtered, errors = f.filter(date) assert_equal date, filtered - assert_equal nil, errors + assert_nil errors end it "should be able to parse a D-M-Y string to a date" do @@ -83,7 +83,7 @@ filtered, errors = f.filter(date_string) assert_equal date, filtered - assert_equal nil, errors + assert_nil errors end it "should be able to parse a Y-M-D string to a date" do @@ -93,7 +93,7 @@ filtered, errors = f.filter(date_string) assert_equal date, filtered - assert_equal nil, errors + assert_nil errors end it "should be able to handle date formatting" do @@ -103,21 +103,21 @@ filtered, errors = f.filter(date_string) assert_equal date, filtered - assert_equal nil, errors + assert_nil errors date_string = "1, 2, 2000" f = Mutations::DateFilter.new(:format => '%m, %d, %Y') filtered, errors = f.filter(date_string) assert_equal date, filtered - assert_equal nil, errors + assert_nil errors end it "considers nil to be invalid" do f = Mutations::DateFilter.new filtered, errors = f.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end @@ -132,8 +132,8 @@ f = Mutations::DateFilter.new(:nils => true) filtered, errors = f.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers empty strings to be nil if empty_is_nil option is used" do @@ -145,8 +145,8 @@ it "returns empty strings as nil if empty_is_nil option is used" do f = Mutations::DateFilter.new(:empty_is_nil => true, :nils => true) filtered, errors = f.filter("") - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "doesn't allow non-existing dates" do @@ -154,7 +154,7 @@ f = Mutations::DateFilter.new filtered, errors = f.filter(date_string) - assert_equal nil, filtered + assert_nil filtered assert_equal :date, errors end end diff --git a/spec/duck_filter_spec.rb b/spec/duck_filter_spec.rb index ab2d99e..046c9b5 100644 --- a/spec/duck_filter_spec.rb +++ b/spec/duck_filter_spec.rb @@ -6,11 +6,11 @@ f = Mutations::DuckFilter.new(:methods => [:length]) filtered, errors = f.filter("test") assert_equal "test", filtered - assert_equal nil, errors + assert_nil errors filtered, errors = f.filter([1, 2]) assert_equal [1, 2], filtered - assert_equal nil, errors + assert_nil errors end it "doesn't allow objects that respond to a single specified method" do @@ -27,15 +27,15 @@ it "considers nil to be invalid" do f = Mutations::DuckFilter.new(:nils => false) filtered, errors = f.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end it "considers nil to be valid" do f = Mutations::DuckFilter.new(:nils => true) filtered, errors = f.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "Allows anything if no methods are specified" do @@ -43,7 +43,7 @@ [true, "hi", 1, [1, 2, 3]].each do |v| filtered, errors = f.filter(v) assert_equal v, filtered - assert_equal nil, errors + assert_nil errors end end end diff --git a/spec/file_filter_spec.rb b/spec/file_filter_spec.rb index ce071c3..e318f72 100644 --- a/spec/file_filter_spec.rb +++ b/spec/file_filter_spec.rb @@ -13,7 +13,7 @@ class UploadedStringIO < StringIO f = Mutations::FileFilter.new filtered, errors = f.filter(file) assert_equal file, filtered - assert_equal nil, errors + assert_nil errors end it "allows files - stringio class" do @@ -21,7 +21,7 @@ class UploadedStringIO < StringIO f = Mutations::FileFilter.new filtered, errors = f.filter(file) assert_equal file, filtered - assert_equal nil, errors + assert_nil errors end it "allows files - tempfile" do @@ -29,7 +29,7 @@ class UploadedStringIO < StringIO f = Mutations::FileFilter.new filtered, errors = f.filter(file) assert_equal file, filtered - assert_equal nil, errors + assert_nil errors end it "doesn't allow non-files" do @@ -46,15 +46,15 @@ class UploadedStringIO < StringIO it "considers nil to be invalid" do f = Mutations::FileFilter.new(:nils => false) filtered, errors = f.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end it "considers nil to be valid" do f = Mutations::FileFilter.new(:nils => true) filtered, errors = f.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers empty strings to be empty" do @@ -68,7 +68,7 @@ class UploadedStringIO < StringIO f = Mutations::FileFilter.new(:size => 4) filtered, errors = f.filter(file) assert_equal file, filtered - assert_equal nil, errors + assert_nil errors end it "shouldn't allow big files" do @@ -84,7 +84,7 @@ class UploadedStringIO < StringIO f = Mutations::FileFilter.new(:upload => true) filtered, errors = f.filter(file) assert_equal file, filtered - assert_equal nil, errors + assert_nil errors end it "should require extra methods if uploaded file: deny" do diff --git a/spec/float_filter_spec.rb b/spec/float_filter_spec.rb index 0bbfd96..2f47eb0 100644 --- a/spec/float_filter_spec.rb +++ b/spec/float_filter_spec.rb @@ -6,42 +6,42 @@ f = Mutations::FloatFilter.new filtered, errors = f.filter(3.1415926) assert_equal 3.1415926, filtered - assert_equal nil, errors + assert_nil errors end it "allows strings that start with a digit" do f = Mutations::FloatFilter.new filtered, errors = f.filter("3") assert_equal 3.0, filtered - assert_equal nil, errors + assert_nil errors end it "allows string representation of float" do f = Mutations::FloatFilter.new filtered, errors = f.filter("3.14") assert_equal 3.14, filtered - assert_equal nil, errors + assert_nil errors end it "allows string representation of float without a number before dot" do f = Mutations::FloatFilter.new filtered, errors = f.filter(".14") assert_equal 0.14, filtered - assert_equal nil, errors + assert_nil errors end it "allows negative strings" do f = Mutations::FloatFilter.new filtered, errors = f.filter("-.14") assert_equal(-0.14, filtered) - assert_equal nil, errors + assert_nil errors end it "allows strings with a positive sign" do f = Mutations::FloatFilter.new filtered, errors = f.filter("+.14") assert_equal 0.14, filtered - assert_equal nil, errors + assert_nil errors end it "doesnt't allow other strings, nor does it allow random objects or symbols" do @@ -55,15 +55,15 @@ it "considers nil to be invalid" do f = Mutations::FloatFilter.new(:nils => false) filtered, errors = f.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end it "considers nil to be valid" do f = Mutations::FloatFilter.new(:nils => true) filtered, errors = f.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers empty strings to be empty" do @@ -83,7 +83,7 @@ f = Mutations::FloatFilter.new(:min => 10) filtered, errors = f.filter(31) assert_equal 31, filtered - assert_equal nil, errors + assert_nil errors end it "considers high numbers invalid" do @@ -97,7 +97,7 @@ f = Mutations::FloatFilter.new(:max => 10) filtered, errors = f.filter(3) assert_equal 3, filtered - assert_equal nil, errors + assert_nil errors end end diff --git a/spec/hash_filter_spec.rb b/spec/hash_filter_spec.rb index c4402dc..235d9bf 100644 --- a/spec/hash_filter_spec.rb +++ b/spec/hash_filter_spec.rb @@ -9,7 +9,7 @@ end filtered, errors = hf.filter(:foo => "bar") assert_equal({"foo" => "bar"}, filtered) - assert_equal nil, errors + assert_nil errors end it 'disallows non-hashes' do @@ -29,7 +29,7 @@ def input.to_hash string :foo end _filtered, errors = hf.filter(input) - assert_equal nil, errors + assert_nil errors end it "allows wildcards in hashes" do @@ -38,7 +38,7 @@ def input.to_hash end filtered, errors = hf.filter(:foo => "bar", :baz => "ban") assert_equal({"foo" => "bar", "baz" => "ban"}, filtered) - assert_equal nil, errors + assert_nil errors end it "allows floats in hashes" do @@ -47,7 +47,7 @@ def input.to_hash end filtered, errors = hf.filter(:foo => 3.14) assert_equal({"foo" => 3.14}, filtered) - assert_equal nil, errors + assert_nil errors end it "allows ducks in hashes" do @@ -56,7 +56,7 @@ def input.to_hash end filtered, errors = hf.filter(:foo => "123") assert_equal({"foo" => "123"}, filtered) - assert_equal nil, errors + assert_nil errors end it "allows dates in hashes" do @@ -65,7 +65,7 @@ def input.to_hash end filtered, errors = hf.filter(:foo => "1-1-2000") assert_equal Date.new(2000, 1, 1), filtered[:foo] - assert_equal nil, errors + assert_nil errors end it "allows files in hashes" do @@ -75,7 +75,7 @@ def input.to_hash end filtered, errors = hf.filter(:foo => sio) assert_equal({"foo" => sio}, filtered) - assert_equal nil, errors + assert_nil errors end it "doesn't allow wildcards in hashes" do @@ -93,7 +93,7 @@ def input.to_hash end filtered, errors = hf.filter(:foo => "bar", :baz => "4") assert_equal({"foo" => "bar", "baz" => 4}, filtered) - assert_equal nil, errors + assert_nil errors end it "doesn't allow a mix of specific keys and then wildcards -- should raise errors appropriately" do @@ -118,7 +118,7 @@ def input.to_hash filtered, errors = hf.filter(:foo => "bar") assert_equal({"foo" => "bar"}, filtered) - assert_equal nil, errors + assert_nil errors end it "bar is optional -- it works if nil is passed" do @@ -133,7 +133,7 @@ def input.to_hash filtered, errors = hf.filter(:foo => "bar", :bar => nil) assert_equal({"foo" => "bar"}, filtered) - assert_equal nil, errors + assert_nil errors end it "bar is optional -- it works if nil is passed and nils are allowed" do @@ -148,7 +148,7 @@ def input.to_hash filtered, errors = hf.filter(:foo => "bar", :bar => nil) assert_equal({"foo" => "bar", "bar" => nil}, filtered) - assert_equal nil, errors + assert_nil errors end end @@ -165,7 +165,7 @@ def input.to_hash filtered, errors = hf.filter(:foo => "bar", :bar => "") assert_equal({"foo" => "bar"}, filtered) - assert_equal nil, errors + assert_nil errors end it "bar is optional -- discards empty if it needs to be stripped" do @@ -180,7 +180,7 @@ def input.to_hash filtered, errors = hf.filter(:foo => "bar", :bar => " ") assert_equal({"foo" => "bar"}, filtered) - assert_equal nil, errors + assert_nil errors end it "bar is optional -- don't discard empty if it's spaces but stripping is off" do @@ -195,7 +195,7 @@ def input.to_hash filtered, errors = hf.filter(:foo => "bar", :bar => " ") assert_equal({"foo" => "bar", "bar" => " "}, filtered) - assert_equal nil, errors + assert_nil errors end it "bar is optional -- errors if discard_empty is false and value is blank" do @@ -224,7 +224,7 @@ def input.to_hash filtered, errors = hf.filter(:foo => "bar", :bar => "", :baz => "\t") assert_equal({"foo" => "bar"}, filtered) - assert_equal nil, errors + assert_nil errors end end @@ -241,7 +241,7 @@ def input.to_hash filtered, errors = hf.filter(:foo => "bar", :bar => "baz") assert_equal({"foo" => "bar"}, filtered) - assert_equal nil, errors + assert_nil errors end it "should discard invalid optional values for wildcards" do @@ -256,7 +256,7 @@ def input.to_hash filtered, errors = hf.filter(:foo => "bar", :bar => "baz", :wat => 1) assert_equal({"foo" => "bar", "wat" => 1}, filtered) - assert_equal nil, errors + assert_nil errors end diff --git a/spec/integer_filter_spec.rb b/spec/integer_filter_spec.rb index 5b690c2..39e0161 100644 --- a/spec/integer_filter_spec.rb +++ b/spec/integer_filter_spec.rb @@ -6,21 +6,21 @@ f = Mutations::IntegerFilter.new filtered, errors = f.filter(3) assert_equal 3, filtered - assert_equal nil, errors + assert_nil errors end it "allows strings that start with a digit" do f = Mutations::IntegerFilter.new filtered, errors = f.filter("3") assert_equal 3, filtered - assert_equal nil, errors + assert_nil errors end it "allows negative strings" do f = Mutations::IntegerFilter.new filtered, errors = f.filter("-3") assert_equal(-3, filtered) - assert_equal nil, errors + assert_nil errors end it "doesnt't allow other strings, nor does it allow random objects or symbols" do @@ -34,15 +34,15 @@ it "considers nil to be invalid" do f = Mutations::IntegerFilter.new(:nils => false) filtered, errors = f.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end it "considers nil to be valid" do f = Mutations::IntegerFilter.new(:nils => true) filtered, errors = f.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers empty strings to be empty" do @@ -60,8 +60,8 @@ it "returns empty strings as nil if empty_is_nil option is used" do f = Mutations::IntegerFilter.new(:empty_is_nil => true, :nils => true) filtered, errors = f.filter("") - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers low numbers invalid" do @@ -75,7 +75,7 @@ f = Mutations::IntegerFilter.new(:min => 10) filtered, errors = f.filter(31) assert_equal 31, filtered - assert_equal nil, errors + assert_nil errors end it "considers high numbers invalid" do @@ -89,7 +89,7 @@ f = Mutations::IntegerFilter.new(:max => 10) filtered, errors = f.filter(3) assert_equal 3, filtered - assert_equal nil, errors + assert_nil errors end it "considers not matching numbers to be invalid" do diff --git a/spec/model_filter_spec.rb b/spec/model_filter_spec.rb index 7fa1d5b..e23c463 100644 --- a/spec/model_filter_spec.rb +++ b/spec/model_filter_spec.rb @@ -20,7 +20,7 @@ def new_record? m = SimpleModel.new filtered, errors = f.filter(m) assert_equal m, filtered - assert_equal nil, errors + assert_nil errors end # it "disallows different types of models" do @@ -50,15 +50,15 @@ def new_record? it "considers nil to be invalid" do f = Mutations::ModelFilter.new(:simple_model, :nils => false) filtered, errors = f.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end it "considers nil to be valid" do f = Mutations::ModelFilter.new(:simple_model, :nils => true) filtered, errors = f.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "will not re-constantize if cache_constants is true" do @@ -68,7 +68,7 @@ def new_record? m = SimpleModel.new filtered, errors = f.filter(m) assert_equal m, filtered - assert_equal nil, errors + assert_nil errors Object.send(:remove_const, 'SimpleModel') @@ -89,7 +89,7 @@ class SimpleModel; end m = SimpleModel.new filtered, errors = f.filter(m) assert_equal m, filtered - assert_equal nil, errors + assert_nil errors Object.send(:remove_const, 'SimpleModel') @@ -98,7 +98,7 @@ class SimpleModel; end m = SimpleModel.new filtered, errors = f.filter(m) assert_equal m, filtered - assert_equal nil, errors + assert_nil errors Mutations.cache_constants = was end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 31a38b3..bfb660f 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,4 +1,3 @@ -require 'minitest/unit' require 'minitest/autorun' require 'pp' diff --git a/spec/string_filter_spec.rb b/spec/string_filter_spec.rb index 8c7e6fd..eb6f142 100644 --- a/spec/string_filter_spec.rb +++ b/spec/string_filter_spec.rb @@ -8,21 +8,21 @@ sf = Mutations::StringFilter.new filtered, errors = sf.filter("hello") assert_equal "hello", filtered - assert_equal nil, errors + assert_nil errors end it "allows symbols" do sf = Mutations::StringFilter.new filtered, errors = sf.filter(:hello) assert_equal "hello", filtered - assert_equal nil, errors + assert_nil errors end it "allows numbers" do sf = Mutations::StringFilter.new filtered, errors = sf.filter(1) assert_equal "1", filtered - assert_equal nil, errors + assert_nil errors end it "disallows non-string" do @@ -37,28 +37,28 @@ sf = Mutations::StringFilter.new(:strip => true) filtered, errors = sf.filter(" hello ") assert_equal "hello", filtered - assert_equal nil, errors + assert_nil errors end it "doesn't strip" do sf = Mutations::StringFilter.new(:strip => false) filtered, errors = sf.filter(" hello ") assert_equal " hello ", filtered - assert_equal nil, errors + assert_nil errors end it "considers nil to be invalid" do sf = Mutations::StringFilter.new(:nils => false) filtered, errors = sf.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end it "considers nil to be valid" do sf = Mutations::StringFilter.new(:nils => true) filtered, errors = sf.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers empty strings to be nil if empty_is_nil option is used" do @@ -70,8 +70,8 @@ it "returns empty strings as nil if empty_is_nil option is used" do f = Mutations::StringFilter.new(:empty_is_nil => true, :nils => true) filtered, errors = f.filter("") - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers empty strings to be invalid" do @@ -85,7 +85,7 @@ sf = Mutations::StringFilter.new(:empty => true) filtered, errors = sf.filter("") assert_equal "", filtered - assert_equal nil, errors + assert_nil errors end it "considers stripped strings that are empty to be invalid" do @@ -98,14 +98,14 @@ it "considers stripped strings that are blank to be nil if empty_is_nil option is used" do sf = Mutations::StringFilter.new(:strip => true, :empty_is_nil => true, :nils => true) filtered, errors = sf.filter(" ") - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers stripped strings that are blank to be invalid if empty_is_nil option is used" do sf = Mutations::StringFilter.new(:strip => true, :empty_is_nil => true) filtered, errors = sf.filter(" ") - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end @@ -127,7 +127,7 @@ sf = Mutations::StringFilter.new(:max_length => 5) filtered, errors = sf.filter("12345") assert_equal "12345", filtered - assert_equal nil, errors + assert_nil errors end it "considers short strings to be invalid" do @@ -141,7 +141,7 @@ sf = Mutations::StringFilter.new(:min_length => 5) filtered, errors = sf.filter("12345") assert_equal "12345", filtered - assert_equal nil, errors + assert_nil errors end it "considers bad matches to be invalid" do @@ -155,7 +155,7 @@ sf = Mutations::StringFilter.new(:matches => /aaa/) filtered, errors = sf.filter("baaab") assert_equal "baaab", filtered - assert_equal nil, errors + assert_nil errors end it "considers non-inclusion to be invalid" do @@ -169,42 +169,42 @@ sf = Mutations::StringFilter.new(:in => %w(red blue green)) filtered, errors = sf.filter("red") assert_equal "red", filtered - assert_equal nil, errors + assert_nil errors end it "converts symbols to strings" do sf = Mutations::StringFilter.new(:strict => false) filtered, errors = sf.filter(:my_sym) assert_equal "my_sym", filtered - assert_equal nil, errors + assert_nil errors end it "converts integers to strings" do sf = Mutations::StringFilter.new(:strict => false) filtered, errors = sf.filter(1) assert_equal "1", filtered - assert_equal nil, errors + assert_nil errors end it "converts bigdecimals to strings" do sf = Mutations::StringFilter.new(:strict => false) filtered, errors = sf.filter(BigDecimal("0.0001")) assert_equal("0.1E-3", filtered.upcase) - assert_equal nil, errors + assert_nil errors end it "converts floats to strings" do sf = Mutations::StringFilter.new(:strict => false) filtered, errors = sf.filter(0.0001) assert_equal "0.0001", filtered - assert_equal nil, errors + assert_nil errors end it "converts booleans to strings" do sf = Mutations::StringFilter.new(:strict => false) filtered, errors = sf.filter(true) assert_equal "true", filtered - assert_equal nil, errors + assert_nil errors end it "disallows symbols" do @@ -247,28 +247,28 @@ sf = Mutations::StringFilter.new(:allow_control_characters => false) filtered, errors = sf.filter("Hello\u0000\u0000World!") assert_equal "Hello World!", filtered - assert_equal nil, errors + assert_nil errors end it "doesn't remove control characters" do sf = Mutations::StringFilter.new(:allow_control_characters => true) filtered, errors = sf.filter("Hello\u0000\u0000World!") assert_equal "Hello\u0000\u0000World!", filtered - assert_equal nil, errors + assert_nil errors end it "doesn't remove tabs, spaces and line breaks" do sf = Mutations::StringFilter.new(:allow_control_characters => false) filtered, errors = sf.filter("Hello,\tWorld !\r\nNew Line") assert_equal "Hello,\tWorld !\r\nNew Line", filtered - assert_equal nil, errors + assert_nil errors end it "doesn't remove emoji" do sf = Mutations::StringFilter.new(:allow_control_characters => false) filtered, errors = sf.filter("😂🙂🙃🤣🤩🥰🥱") assert_equal "😂🙂🙃🤣🤩🥰🥱", filtered - assert_equal nil, errors + assert_nil errors end end diff --git a/spec/symbol_filter_spec.rb b/spec/symbol_filter_spec.rb index ccc9377..a6b8936 100644 --- a/spec/symbol_filter_spec.rb +++ b/spec/symbol_filter_spec.rb @@ -6,14 +6,14 @@ sf = Mutations::SymbolFilter.new filtered, errors = sf.filter("hello") assert_equal :hello, filtered - assert_equal nil, errors + assert_nil errors end it "allows symbols" do sf = Mutations::SymbolFilter.new filtered, errors = sf.filter(:hello) assert_equal :hello, filtered - assert_equal nil, errors + assert_nil errors end it "doesn't allow non-symbols" do @@ -27,15 +27,15 @@ it "considers nil to be invalid" do sf = Mutations::SymbolFilter.new(:nils => false) filtered, errors = sf.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end it "considers nil to be valid" do sf = Mutations::SymbolFilter.new(:nils => true) filtered, errors = sf.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers non-inclusion to be invalid" do @@ -49,7 +49,7 @@ sf = Mutations::SymbolFilter.new(:in => [:red, :blue, :green]) filtered, errors = sf.filter(:red) assert_equal :red, filtered - assert_equal nil, errors + assert_nil errors end end diff --git a/spec/time_filter_spec.rb b/spec/time_filter_spec.rb index 38d3888..b3e19ab 100644 --- a/spec/time_filter_spec.rb +++ b/spec/time_filter_spec.rb @@ -7,7 +7,7 @@ f = Mutations::TimeFilter.new filtered, errors = f.filter(time) assert_equal time, filtered - assert_equal nil, errors + assert_nil errors end it "takes a Date object and converts it to a time" do @@ -15,7 +15,7 @@ f = Mutations::TimeFilter.new filtered, errors = f.filter(date) assert_equal date.to_time, filtered - assert_equal nil, errors + assert_nil errors end it "takes a DateTime object and converts it to a time" do @@ -23,7 +23,7 @@ f = Mutations::TimeFilter.new filtered, errors = f.filter(date) assert_equal date.to_time, filtered - assert_equal nil, errors + assert_nil errors end it "checks if the given time is after a certain time" do @@ -31,14 +31,14 @@ f = Mutations::TimeFilter.new(:after => time - 1) filtered, errors = f.filter(time) assert_equal time, filtered - assert_equal nil, errors + assert_nil errors end it "gives errors when the given time is before the after time" do time = Time.now f = Mutations::TimeFilter.new(:after => time + 1) filtered, errors = f.filter(time) - assert_equal nil, filtered + assert_nil filtered assert_equal :after, errors end @@ -47,14 +47,14 @@ f = Mutations::TimeFilter.new(:before => time + 1) filtered, errors = f.filter(time) assert_equal time, filtered - assert_equal nil, errors + assert_nil errors end it "gives errors when the given time is after the before time" do time = Time.now f = Mutations::TimeFilter.new(:before => time - 1) filtered, errors = f.filter(time) - assert_equal nil, filtered + assert_nil filtered assert_equal :before, errors end @@ -63,7 +63,7 @@ f = Mutations::TimeFilter.new(:after => time - 1, :before => time + 1) filtered, errors = f.filter(time) assert_equal time, filtered - assert_equal nil, errors + assert_nil errors end it "should be able to parse a D-M-Y string to a time" do @@ -72,7 +72,7 @@ f = Mutations::TimeFilter.new filtered, errors = f.filter(date_string) assert_equal date.to_time, filtered - assert_equal nil, errors + assert_nil errors end it "should be able to parse a Y-M-D string to a time" do @@ -81,7 +81,7 @@ f = Mutations::TimeFilter.new filtered, errors = f.filter(date_string) assert_equal date.to_time, filtered - assert_equal nil, errors + assert_nil errors end it "should be able to handle time formatting" do @@ -90,27 +90,27 @@ f = Mutations::TimeFilter.new(:format => '%Y-%m-%d %H:%M:%S') filtered, errors = f.filter(time_string) assert_equal time, filtered - assert_equal nil, errors + assert_nil errors time_string = "1, 2, 2000, 121314" f = Mutations::TimeFilter.new(:format => '%m, %d, %Y, %H%M%S') filtered, errors = f.filter(time_string) assert_equal time, filtered - assert_equal nil, errors + assert_nil errors end it "considers nil to be invalid" do f = Mutations::TimeFilter.new filtered, errors = f.filter(nil) - assert_equal nil, filtered + assert_nil filtered assert_equal :nils, errors end it "allows the use of nil when specified" do f = Mutations::TimeFilter.new(:nils => true) filtered, errors = f.filter(nil) - assert_equal nil, filtered - assert_equal nil, errors + assert_nil filtered + assert_nil errors end it "considers empty strings to be empty" do @@ -124,7 +124,7 @@ invalid_time_string = "1, 20, 2013 25:13" f = Mutations::TimeFilter.new filtered, errors = f.filter(invalid_time_string) - assert_equal nil, filtered + assert_nil filtered assert_equal :time, errors end end