minitest-bonus-assertions 2.0 → 3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.autotest +2 -24
- data/.travis.yml +6 -13
- data/History.rdoc +13 -0
- data/Licence.rdoc +6 -2
- data/README.rdoc +3 -1
- data/Rakefile +38 -18
- data/lib/minitest-bonus-assertions.rb +43 -2
- data/test/test_minitest-bonus-assertions.rb +134 -10
- metadata +56 -28
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 17f766351988c0089b1651becf011c006b7267e8
         | 
| 4 | 
            +
              data.tar.gz: 1ee36b549b5e7a9209bddef79ecae633fd355c84
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e7eceaee5c7286a851013d0c6ef13d88e7323f03d7d27a15d95c9cf5a56da6edda961eb039c835acc802cd390962fa5924a771be84e94b30df7fe02e951588f7
         | 
| 7 | 
            +
              data.tar.gz: de21954797dfcad1ad1b769b7796b9ce7cd729b085a21a6b15187243ffde548363df02d6c7457250beaef9e871e2b9b0c46810e8cd6d55476c0fd10f0bde1b67
         | 
    
        data/.autotest
    CHANGED
    
    | @@ -1,27 +1,5 @@ | |
| 1 | 
            -
            # -*- ruby -*-
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "autotest/restart"
         | 
| 1 | 
            +
            # -*- ruby encoding: utf-8 -*-
         | 
| 4 2 |  | 
| 5 3 | 
             
            Autotest.add_hook :initialize do |at|
         | 
| 6 | 
            -
               | 
| 7 | 
            -
              at.testlib = ".minitest.rb"
         | 
| 8 | 
            -
              # at.testlib = "minitest/unit"
         | 
| 9 | 
            -
              #
         | 
| 10 | 
            -
              # at.extra_files << "../some/external/dependency.rb"
         | 
| 11 | 
            -
              #
         | 
| 12 | 
            -
              # at.libs << ":../some/external"
         | 
| 13 | 
            -
              #
         | 
| 14 | 
            -
              # at.add_exception "vendor"
         | 
| 15 | 
            -
              #
         | 
| 16 | 
            -
              # at.add_mapping(/dependency.rb/) do |f, _|
         | 
| 17 | 
            -
              #   at.files_matching(/test_.*rb$/)
         | 
| 18 | 
            -
              # end
         | 
| 19 | 
            -
              #
         | 
| 20 | 
            -
              # %w(TestA TestB).each do |klass|
         | 
| 21 | 
            -
              #   at.extra_class_map[klass] = "test/test_misc.rb"
         | 
| 22 | 
            -
              # end
         | 
| 4 | 
            +
              at.testlib = ".minitest"
         | 
| 23 5 | 
             
            end
         | 
| 24 | 
            -
             | 
| 25 | 
            -
            # Autotest.add_hook :run_command do |at|
         | 
| 26 | 
            -
            #   system "rake build"
         | 
| 27 | 
            -
            # end
         | 
    
        data/.travis.yml
    CHANGED
    
    | @@ -1,29 +1,22 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            language: ruby
         | 
| 3 3 | 
             
            rvm:
         | 
| 4 | 
            +
              - 2.4.1
         | 
| 5 | 
            +
              - 2.3.4
         | 
| 4 6 | 
             
              - 2.2.3
         | 
| 5 7 | 
             
              - 2.1.7
         | 
| 6 | 
            -
              - 2.0.0 | 
| 8 | 
            +
              - 2.0.0
         | 
| 9 | 
            +
              - jruby-9.0.5.0
         | 
| 10 | 
            +
              - jruby-9.1.6.0
         | 
| 7 11 | 
             
              - ruby-head
         | 
| 8 | 
            -
              - jruby-9.0
         | 
| 9 | 
            -
              - jruby-19mode
         | 
| 10 | 
            -
              - jruby-head
         | 
| 11 | 
            -
              - rbx-2
         | 
| 12 12 | 
             
            matrix:
         | 
| 13 13 | 
             
              allow_failures:
         | 
| 14 | 
            -
                - rvm: 1.9.3
         | 
| 15 | 
            -
                - rvm: rbx-2
         | 
| 16 14 | 
             
                - rvm: jruby-head
         | 
| 17 15 | 
             
                - rvm: ruby-head
         | 
| 16 | 
            +
              fast_finish: true
         | 
| 18 17 | 
             
            gemfile:
         | 
| 19 18 | 
             
              - Gemfile
         | 
| 20 19 | 
             
            before_script:
         | 
| 21 | 
            -
              - |
         | 
| 22 | 
            -
                case "${TRAVIS_RUBY_VERSION}" in
         | 
| 23 | 
            -
                  rbx*)
         | 
| 24 | 
            -
                    gem install psych
         | 
| 25 | 
            -
                    ;;
         | 
| 26 | 
            -
                esac
         | 
| 27 20 | 
             
              - rake travis:before -t
         | 
| 28 21 | 
             
            script: rake travis
         | 
| 29 22 | 
             
            after_script:
         | 
    
        data/History.rdoc
    CHANGED
    
    | @@ -1,3 +1,16 @@ | |
| 1 | 
            +
            === 3.0 / 2017-04-26
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * 1 major enhancement
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              * Dropped support for Ruby 1.9.
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            * 1 minor enhancement
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              * Added assertion +assert_result_equal+ (expectation +must_equal_result+) to
         | 
| 10 | 
            +
                be ready for Minitest 6. This will allow those who have legitimate cases
         | 
| 11 | 
            +
                where they do not know whether the expected is nil or not to have a
         | 
| 12 | 
            +
                meaningful test and silence deprecation warnings.
         | 
| 13 | 
            +
             | 
| 1 14 | 
             
            === 2.0 / 2015-10-19
         | 
| 2 15 |  | 
| 3 16 | 
             
            * 1 major enhancement
         | 
    
        data/Licence.rdoc
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            This software is available under an MIT-style licence.
         | 
| 4 4 |  | 
| 5 | 
            -
            * Copyright 2015 Austin Ziegler
         | 
| 5 | 
            +
            * Copyright 2015–2017 Austin Ziegler
         | 
| 6 6 | 
             
            * Copyright 2012 Ben Somers
         | 
| 7 7 |  | 
| 8 8 | 
             
            Permission is hereby granted, free of charge, to any person obtaining a copy of
         | 
| @@ -10,7 +10,11 @@ this software and associated documentation files (the "Software"), to deal in | |
| 10 10 | 
             
            the Software without restriction, including without limitation the rights to
         | 
| 11 11 | 
             
            use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
         | 
| 12 12 | 
             
            of the Software, and to permit persons to whom the Software is furnished to do
         | 
| 13 | 
            -
            so, subject to the following conditions | 
| 13 | 
            +
            so, subject to the following conditions:
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            * The names of its contributors may not be used to endorse or promote
         | 
| 16 | 
            +
              products derived from this software without specific prior written
         | 
| 17 | 
            +
              permission.
         | 
| 14 18 |  | 
| 15 19 | 
             
            The above copyright notice and this permission notice shall be included in all
         | 
| 16 20 | 
             
            copies or substantial portions of the Software.
         | 
    
        data/README.rdoc
    CHANGED
    
    | @@ -7,7 +7,7 @@ continuous integration :: {<img src="https://travis-ci.org/halostatue/minitest-b | |
| 7 7 | 
             
            == Description
         | 
| 8 8 |  | 
| 9 9 | 
             
            Bonus assertions for {Minitest}[https://github.com/seattlerb/minitest],
         | 
| 10 | 
            -
            providing assertions I use frequently.
         | 
| 10 | 
            +
            providing assertions I use frequently, supporting only Ruby 2.0 or better.
         | 
| 11 11 |  | 
| 12 12 | 
             
            == Features
         | 
| 13 13 |  | 
| @@ -30,6 +30,8 @@ New assertions: | |
| 30 30 | 
             
              values. (+must_equal_set+)
         | 
| 31 31 | 
             
            * +refute_set_equal+: requires that the actual enumerable *not* have the same
         | 
| 32 32 | 
             
              values as the expected enumerable. (+must_not_equal_set+)
         | 
| 33 | 
            +
            * +assert_result_equal+: requires that the actual is equal to the result of
         | 
| 34 | 
            +
              evaluating an expression.
         | 
| 33 35 |  | 
| 34 36 | 
             
            I am also providing the Minitest-tester code I use as something that can be
         | 
| 35 37 | 
             
            required by other developers. This should *only* be used to test Minitest
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -14,32 +14,51 @@ Hoe.plugin :email unless ENV['CI'] or ENV['TRAVIS'] | |
| 14 14 | 
             
            spec = Hoe.spec 'minitest-bonus-assertions' do
         | 
| 15 15 | 
             
              developer('Austin Ziegler', 'halostatue@gmail.com')
         | 
| 16 16 |  | 
| 17 | 
            +
              license 'MIT'
         | 
| 18 | 
            +
             | 
| 19 | 
            +
              require_ruby_version '>= 2.0'
         | 
| 20 | 
            +
             | 
| 17 21 | 
             
              self.history_file = 'History.rdoc'
         | 
| 18 22 | 
             
              self.readme_file = 'README.rdoc'
         | 
| 19 23 | 
             
              self.extra_rdoc_files = FileList["*.rdoc"].to_a -
         | 
| 20 24 | 
             
                %w(History.rdoc README.rdoc)
         | 
| 21 25 |  | 
| 22 | 
            -
               | 
| 23 | 
            -
             | 
| 24 | 
            -
               | 
| 25 | 
            -
               | 
| 26 | 
            -
             | 
| 27 | 
            -
               | 
| 28 | 
            -
               | 
| 29 | 
            -
               | 
| 30 | 
            -
               | 
| 31 | 
            -
               | 
| 32 | 
            -
               | 
| 33 | 
            -
               | 
| 34 | 
            -
               | 
| 35 | 
            -
               | 
| 36 | 
            -
               | 
| 37 | 
            -
              self.extra_dev_deps << ['minitest-pretty_diff', '~> 0.1']
         | 
| 38 | 
            -
              self.extra_dev_deps << ['rake', '>= 10.0']
         | 
| 39 | 
            -
              self.extra_dev_deps << ['simplecov', '~> 0.7']
         | 
| 26 | 
            +
              extra_dev_deps << ['hoe-doofus', '~> 1.0']
         | 
| 27 | 
            +
              extra_dev_deps << ['hoe-gemspec2', '~> 1.1']
         | 
| 28 | 
            +
              extra_dev_deps << ['hoe-git', '~> 1.6']
         | 
| 29 | 
            +
              extra_dev_deps << ['hoe-travis', '~> 1.2']
         | 
| 30 | 
            +
              extra_dev_deps << ['minitest', '~> 5.8']
         | 
| 31 | 
            +
              extra_dev_deps << ['minitest-around', '~> 0.3']
         | 
| 32 | 
            +
              extra_dev_deps << ['minitest-autotest', '~> 1.0']
         | 
| 33 | 
            +
              extra_dev_deps << ['minitest-bisect', '~> 1.2']
         | 
| 34 | 
            +
              extra_dev_deps << ['minitest-bonus-assertions', '~> 2.0']
         | 
| 35 | 
            +
              extra_dev_deps << ['minitest-focus', '~> 1.1']
         | 
| 36 | 
            +
              extra_dev_deps << ['minitest-moar', '~> 0.0']
         | 
| 37 | 
            +
              extra_dev_deps << ['minitest-pretty_diff', '~> 0.1']
         | 
| 38 | 
            +
              extra_dev_deps << ['rake', '~> 10.0']
         | 
| 39 | 
            +
              extra_dev_deps << ['simplecov', '~> 0.7']
         | 
| 40 | 
            +
              extra_dev_deps << ['coveralls', '~> 0.7']
         | 
| 40 41 | 
             
            end
         | 
| 41 42 |  | 
| 42 43 | 
             
            namespace :test do
         | 
| 44 | 
            +
              if ENV['CI'] or ENV['TRAVIS']
         | 
| 45 | 
            +
                desc "Submit test coverage to Coveralls"
         | 
| 46 | 
            +
                task :coveralls do
         | 
| 47 | 
            +
                  spec.test_prelude = [
         | 
| 48 | 
            +
                    'require "psych"',
         | 
| 49 | 
            +
                    'require "simplecov"',
         | 
| 50 | 
            +
                    'require "coveralls"',
         | 
| 51 | 
            +
                    'SimpleCov.formatter = Coveralls::SimpleCov::Formatter',
         | 
| 52 | 
            +
                    'SimpleCov.start("test_frameworks") { command_name "Minitest" }',
         | 
| 53 | 
            +
                    'gem "minitest"'
         | 
| 54 | 
            +
                  ].join('; ')
         | 
| 55 | 
            +
                  Rake::Task['test'].execute
         | 
| 56 | 
            +
                end
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                  Rake::Task['travis'].prerequisites.replace(%w(test:coveralls))
         | 
| 59 | 
            +
              end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
              desc "Runs test coverage. Only works Ruby 1.9+ and assumes 'simplecov' is installed."
         | 
| 43 62 | 
             
              task :coverage do
         | 
| 44 63 | 
             
                spec.test_prelude = [
         | 
| 45 64 | 
             
                  'require "simplecov"',
         | 
| @@ -48,6 +67,7 @@ namespace :test do | |
| 48 67 | 
             
                ].join('; ')
         | 
| 49 68 | 
             
                Rake::Task['test'].execute
         | 
| 50 69 | 
             
              end
         | 
| 70 | 
            +
             | 
| 51 71 | 
             
              CLOBBER << 'coverage'
         | 
| 52 72 | 
             
            end
         | 
| 53 73 |  | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            module Minitest
         | 
| 2 2 | 
             
              module BonusAssertions # :nodoc:
         | 
| 3 | 
            -
                VERSION = ' | 
| 3 | 
            +
                VERSION = '3.0' # :nodoc:
         | 
| 4 4 | 
             
              end
         | 
| 5 5 |  | 
| 6 6 | 
             
              module Assertions
         | 
| @@ -105,6 +105,39 @@ module Minitest | |
| 105 105 | 
             
                  }
         | 
| 106 106 | 
             
                  refute_equal Set.new(expected), Set.new(actual), msg
         | 
| 107 107 | 
             
                end
         | 
| 108 | 
            +
             | 
| 109 | 
            +
                ##
         | 
| 110 | 
            +
                # Fails unless +actual+ is the same value as the result of evaluating
         | 
| 111 | 
            +
                # +expr+ in the context of the test case through instance_eval (when +expr+
         | 
| 112 | 
            +
                # is a String) or instance_exec (when +expr+ is a callable).
         | 
| 113 | 
            +
                #
         | 
| 114 | 
            +
                # If +expr+ results in +nil+, this test delegates to #assert_nil, otherwise
         | 
| 115 | 
            +
                # it delegates to #assert_equal.
         | 
| 116 | 
            +
                #
         | 
| 117 | 
            +
                # This assertion exists because Minitest 6 is changing #assert_equal so
         | 
| 118 | 
            +
                # that it fails when comparing against +nil+.
         | 
| 119 | 
            +
                #
         | 
| 120 | 
            +
                #   assert_result_equal -> { model.department }, response[:department]
         | 
| 121 | 
            +
                #   assert_result_equal 'model.department', response[:department]
         | 
| 122 | 
            +
                def assert_result_equal expr, actual, msg = nil
         | 
| 123 | 
            +
                  result = if expr.respond_to?(:call)
         | 
| 124 | 
            +
                             instance_exec(&expr)
         | 
| 125 | 
            +
                           else
         | 
| 126 | 
            +
                             instance_eval(expr)
         | 
| 127 | 
            +
                           end
         | 
| 128 | 
            +
             | 
| 129 | 
            +
                  if result.nil?
         | 
| 130 | 
            +
                    msg = message(msg) {
         | 
| 131 | 
            +
                      "nil expected (expr #{mu_pp(expr)}) but was #{mu_pp(actual)}"
         | 
| 132 | 
            +
                    }
         | 
| 133 | 
            +
                    assert_nil actual, msg
         | 
| 134 | 
            +
                  else
         | 
| 135 | 
            +
                    msg = message(msg) {
         | 
| 136 | 
            +
                      "#{mu_pp(result)} expected (expr #{mu_pp(expr)}) but was #{mu_pp(actual)}"
         | 
| 137 | 
            +
                    }
         | 
| 138 | 
            +
                    assert_equal result, actual, msg
         | 
| 139 | 
            +
                  end
         | 
| 140 | 
            +
                end
         | 
| 108 141 | 
             
              end
         | 
| 109 142 |  | 
| 110 143 | 
             
              module Expectations
         | 
| @@ -178,12 +211,20 @@ module Minitest | |
| 178 211 | 
             
                infect_an_assertion :assert_set_equal, :must_equal_set, :unary
         | 
| 179 212 |  | 
| 180 213 | 
             
                ##
         | 
| 181 | 
            -
                # See Minitest:: | 
| 214 | 
            +
                # See Minitest::Assertions#refute_set_equal
         | 
| 182 215 | 
             
                #
         | 
| 183 216 | 
             
                #    %w(a b c).must_equal_set %(c b a)
         | 
| 184 217 | 
             
                #
         | 
| 185 218 | 
             
                # :method: must_equal_set
         | 
| 186 219 |  | 
| 187 220 | 
             
                infect_an_assertion :refute_set_equal, :must_not_equal_set, :unary
         | 
| 221 | 
            +
             | 
| 222 | 
            +
                ##
         | 
| 223 | 
            +
                # See Minitest::Assertions#assert_result_equal
         | 
| 224 | 
            +
                #
         | 
| 225 | 
            +
                #   response[:department].must_equal_result 'model.department'
         | 
| 226 | 
            +
                #   response[:department].must_equal_result -> { model.department }
         | 
| 227 | 
            +
             | 
| 228 | 
            +
                infect_an_assertion :assert_result_equal, :must_equal_result, :unary
         | 
| 188 229 | 
             
              end
         | 
| 189 230 | 
             
            end
         | 
| @@ -6,7 +6,7 @@ describe Minitest::BonusAssertions do | |
| 6 6 | 
             
              include Minitest::AssertionTests
         | 
| 7 7 |  | 
| 8 8 | 
             
              describe '.assert_true' do
         | 
| 9 | 
            -
                it ' | 
| 9 | 
            +
                it 'returns true for true' do
         | 
| 10 10 | 
             
                  assert_expected_assertions do
         | 
| 11 11 | 
             
                    assert_equal true, tc.assert_true(true), 'returns true for true'
         | 
| 12 12 | 
             
                  end
         | 
| @@ -34,7 +34,7 @@ describe Minitest::BonusAssertions do | |
| 34 34 | 
             
              end
         | 
| 35 35 |  | 
| 36 36 | 
             
              describe '.assert_false' do
         | 
| 37 | 
            -
                it ' | 
| 37 | 
            +
                it 'returns true for false' do
         | 
| 38 38 | 
             
                  assert_expected_assertions do
         | 
| 39 39 | 
             
                    assert_equal true, tc.assert_false(false), 'returns true for false'
         | 
| 40 40 | 
             
                  end
         | 
| @@ -58,13 +58,13 @@ describe Minitest::BonusAssertions do | |
| 58 58 | 
             
              end
         | 
| 59 59 |  | 
| 60 60 | 
             
              describe '.assert_between' do
         | 
| 61 | 
            -
                it ' | 
| 61 | 
            +
                it 'returns true for basic integers' do
         | 
| 62 62 | 
             
                  assert_expected_assertions do
         | 
| 63 63 | 
             
                    assert_equal true, tc.assert_between(1, 10, 5), 'returns true for 1 to 10 and 5'
         | 
| 64 64 | 
             
                  end
         | 
| 65 65 | 
             
                end
         | 
| 66 66 |  | 
| 67 | 
            -
                it ' | 
| 67 | 
            +
                it 'returns true for the range case' do
         | 
| 68 68 | 
             
                  assert_expected_assertions do
         | 
| 69 69 | 
             
                    assert_equal true, tc.assert_between((1..10), 5), 'returns true for 1..10 with 5'
         | 
| 70 70 | 
             
                  end
         | 
| @@ -76,7 +76,7 @@ describe Minitest::BonusAssertions do | |
| 76 76 | 
             
                  end
         | 
| 77 77 | 
             
                end
         | 
| 78 78 |  | 
| 79 | 
            -
                it ' | 
| 79 | 
            +
                it 'returns false for values outside the bounds' do
         | 
| 80 80 | 
             
                  assert_expected_assertions do
         | 
| 81 81 | 
             
                    assert_assertion_triggered 'Expected 100 to be between 1 and 10.' do
         | 
| 82 82 | 
             
                      tc.assert_between(1, 10, 100)
         | 
| @@ -108,7 +108,7 @@ describe Minitest::BonusAssertions do | |
| 108 108 | 
             
              end
         | 
| 109 109 |  | 
| 110 110 | 
             
              describe '.assert_has_keys' do
         | 
| 111 | 
            -
                it ' | 
| 111 | 
            +
                it 'returns true if the keys are present' do
         | 
| 112 112 | 
             
                  assert_expected_assertions do
         | 
| 113 113 | 
             
                    assert_equal true, tc.assert_has_keys({ 'a' => 1 }, 'a'),
         | 
| 114 114 | 
             
                      %q(returns true for key 'a' in { 'a' => 1 })
         | 
| @@ -135,7 +135,7 @@ describe Minitest::BonusAssertions do | |
| 135 135 | 
             
              end
         | 
| 136 136 |  | 
| 137 137 | 
             
              describe '.assert_missing_keys' do
         | 
| 138 | 
            -
                it ' | 
| 138 | 
            +
                it 'returns true if the keys are missing' do
         | 
| 139 139 | 
             
                  assert_expected_assertions do
         | 
| 140 140 | 
             
                    assert_equal true, tc.assert_missing_keys({ 'a' => 1 }, 'b'),
         | 
| 141 141 | 
             
                      %q(returns true for key 'b' missing from { 'a' => 1 })
         | 
| @@ -162,7 +162,7 @@ describe Minitest::BonusAssertions do | |
| 162 162 | 
             
              end
         | 
| 163 163 |  | 
| 164 164 | 
             
              describe '.assert_raises_with_message' do
         | 
| 165 | 
            -
                it ' | 
| 165 | 
            +
                it 'returns the matched exception if the exception and message match' do
         | 
| 166 166 | 
             
                  assert_expected_assertions 2 do
         | 
| 167 167 | 
             
                    res = tc.assert_raises_with_message(ArgumentError, %q(Don't have a cow, man!)) do
         | 
| 168 168 | 
             
                      raise ArgumentError, %q(Don't have a cow, man!)
         | 
| @@ -194,7 +194,7 @@ describe Minitest::BonusAssertions do | |
| 194 194 | 
             
              end
         | 
| 195 195 |  | 
| 196 196 | 
             
              describe '.assert_set_equal' do
         | 
| 197 | 
            -
                it ' | 
| 197 | 
            +
                it 'returns true if the sets are equal' do
         | 
| 198 198 | 
             
                  assert_expected_assertions do
         | 
| 199 199 | 
             
                    assert_equal true, tc.assert_set_equal(%w(a b c), %w(c b a)),
         | 
| 200 200 | 
             
                      %q(returns true for sets %w(a b c) and %w(c b a))
         | 
| @@ -211,7 +211,7 @@ describe Minitest::BonusAssertions do | |
| 211 211 | 
             
              end
         | 
| 212 212 |  | 
| 213 213 | 
             
              describe '.refute_set_equal' do
         | 
| 214 | 
            -
                it ' | 
| 214 | 
            +
                it 'returns true if the sets are not equal' do
         | 
| 215 215 | 
             
                  assert_expected_assertions do
         | 
| 216 216 | 
             
                    assert_equal false, tc.refute_set_equal(%w(a b c), %w(c b)),
         | 
| 217 217 | 
             
                      %q(returns true for sets %w(a b c) and %w(c b))
         | 
| @@ -226,4 +226,128 @@ describe Minitest::BonusAssertions do | |
| 226 226 | 
             
                  end
         | 
| 227 227 | 
             
                end
         | 
| 228 228 | 
             
              end
         | 
| 229 | 
            +
             | 
| 230 | 
            +
              describe '.assert_result_equal' do
         | 
| 231 | 
            +
                describe 'when expr is a string' do
         | 
| 232 | 
            +
                  let(:expr) { 'expected' }
         | 
| 233 | 
            +
             | 
| 234 | 
            +
                  describe 'when expr yields nil' do
         | 
| 235 | 
            +
                    before do
         | 
| 236 | 
            +
                      tc.define_singleton_method(:expected) { nil }
         | 
| 237 | 
            +
                      spec.define_singleton_method(:expected) { nil }
         | 
| 238 | 
            +
                    end
         | 
| 239 | 
            +
             | 
| 240 | 
            +
                    it 'returns true if the actual is nil' do
         | 
| 241 | 
            +
                      assert_expected_assertions do
         | 
| 242 | 
            +
                        assert_equal true, tc.assert_result_equal('expected', nil),
         | 
| 243 | 
            +
                          %q(returns true for expr-string result nil and nil)
         | 
| 244 | 
            +
                      end
         | 
| 245 | 
            +
                    end
         | 
| 246 | 
            +
             | 
| 247 | 
            +
                    it 'returns true if the actual is nil' do
         | 
| 248 | 
            +
                      assert_expected_assertions do
         | 
| 249 | 
            +
                        assert_equal true, tc.assert_result_equal('expected', nil),
         | 
| 250 | 
            +
                          %q(returns true for expr-string result nil and nil)
         | 
| 251 | 
            +
                      end
         | 
| 252 | 
            +
                    end
         | 
| 253 | 
            +
             | 
| 254 | 
            +
                    it 'is triggered if the actual is not nil' do
         | 
| 255 | 
            +
                      assert_expected_assertions do
         | 
| 256 | 
            +
                        assert_assertion_triggered %Q(nil expected (expr \"expected\") but was 3.\nExpected 3 to be nil.) do
         | 
| 257 | 
            +
                          assert_equal true, tc.assert_result_equal('expected', 3),
         | 
| 258 | 
            +
                            %q(returns true for expr-string result nil and nil)
         | 
| 259 | 
            +
                        end
         | 
| 260 | 
            +
                      end
         | 
| 261 | 
            +
                    end
         | 
| 262 | 
            +
                  end
         | 
| 263 | 
            +
             | 
| 264 | 
            +
                  describe 'when expr yields a non-nil value' do
         | 
| 265 | 
            +
                    before do
         | 
| 266 | 
            +
                      tc.define_singleton_method(:expected) { 3 }
         | 
| 267 | 
            +
                    end
         | 
| 268 | 
            +
             | 
| 269 | 
            +
                    it 'returns true if the actual is equal' do
         | 
| 270 | 
            +
                      assert_expected_assertions do
         | 
| 271 | 
            +
                        assert_equal true, tc.assert_result_equal('expected', 3),
         | 
| 272 | 
            +
                          %q(returns true for expr-string result 3 and 3)
         | 
| 273 | 
            +
                      end
         | 
| 274 | 
            +
                    end
         | 
| 275 | 
            +
             | 
| 276 | 
            +
                    it 'is triggered if the actual is nil' do
         | 
| 277 | 
            +
                      assert_expected_assertions do
         | 
| 278 | 
            +
                        assert_assertion_triggered %Q(3 expected (expr \"expected\") but was nil.\nExpected: 3\n  Actual: nil) do
         | 
| 279 | 
            +
                          assert_equal true, tc.assert_result_equal('expected', nil),
         | 
| 280 | 
            +
                            %q(returns true for expr-string result 3 and 3)
         | 
| 281 | 
            +
                        end
         | 
| 282 | 
            +
                      end
         | 
| 283 | 
            +
                    end
         | 
| 284 | 
            +
             | 
| 285 | 
            +
                    it 'is triggered if the actual is not equal' do
         | 
| 286 | 
            +
                      assert_expected_assertions do
         | 
| 287 | 
            +
                        assert_assertion_triggered %Q(3 expected (expr \"expected\") but was 5.\nExpected: 3\n  Actual: 5) do
         | 
| 288 | 
            +
                          assert_equal true, tc.assert_result_equal('expected', 5),
         | 
| 289 | 
            +
                            %q(returns true for expr-string result 3 and 3)
         | 
| 290 | 
            +
                        end
         | 
| 291 | 
            +
                      end
         | 
| 292 | 
            +
                    end
         | 
| 293 | 
            +
                  end
         | 
| 294 | 
            +
                end
         | 
| 295 | 
            +
             | 
| 296 | 
            +
                describe 'when expr is a proc' do
         | 
| 297 | 
            +
                  let(:expr) { -> { expected } }
         | 
| 298 | 
            +
             | 
| 299 | 
            +
                  describe 'when expr yields nil' do
         | 
| 300 | 
            +
                    before do
         | 
| 301 | 
            +
                      tc.define_singleton_method(:expected) { nil }
         | 
| 302 | 
            +
                    end
         | 
| 303 | 
            +
             | 
| 304 | 
            +
                    it 'returns true if the actual is nil' do
         | 
| 305 | 
            +
                      assert_expected_assertions do
         | 
| 306 | 
            +
                        assert_equal true, tc.assert_result_equal('expected', nil),
         | 
| 307 | 
            +
                          %q(returns true for expr-proc result nil and nil)
         | 
| 308 | 
            +
                      end
         | 
| 309 | 
            +
                    end
         | 
| 310 | 
            +
             | 
| 311 | 
            +
                    it 'is triggered if the actual is not nil' do
         | 
| 312 | 
            +
                      assert_expected_assertions do
         | 
| 313 | 
            +
                        assert_assertion_triggered %Q(nil expected (expr \"expected\") but was 3.\nExpected 3 to be nil.) do
         | 
| 314 | 
            +
                          assert_equal true, tc.assert_result_equal('expected', 3),
         | 
| 315 | 
            +
                            %q(returns true for expr-proc result nil and nil)
         | 
| 316 | 
            +
                        end
         | 
| 317 | 
            +
                      end
         | 
| 318 | 
            +
                    end
         | 
| 319 | 
            +
                  end
         | 
| 320 | 
            +
             | 
| 321 | 
            +
                  describe 'when expr yields a non-nil value' do
         | 
| 322 | 
            +
                    before do
         | 
| 323 | 
            +
                      tc.define_singleton_method(:expected) { 3 }
         | 
| 324 | 
            +
                    end
         | 
| 325 | 
            +
             | 
| 326 | 
            +
                    it 'returns true if the actual is equal' do
         | 
| 327 | 
            +
                      assert_expected_assertions do
         | 
| 328 | 
            +
                        assert_equal true, tc.assert_result_equal('expected', 3),
         | 
| 329 | 
            +
                          %q(returns true for expr-proc result 3 and 3)
         | 
| 330 | 
            +
                      end
         | 
| 331 | 
            +
                    end
         | 
| 332 | 
            +
             | 
| 333 | 
            +
                    it 'is triggered if the actual is nil' do
         | 
| 334 | 
            +
                      assert_expected_assertions do
         | 
| 335 | 
            +
                        assert_assertion_triggered %Q(3 expected (expr \"expected\") but was nil.\nExpected: 3\n  Actual: nil) do
         | 
| 336 | 
            +
                          assert_equal true, tc.assert_result_equal('expected', nil),
         | 
| 337 | 
            +
                            %q(returns true for expr-proc result 3 and 3)
         | 
| 338 | 
            +
                        end
         | 
| 339 | 
            +
                      end
         | 
| 340 | 
            +
                    end
         | 
| 341 | 
            +
             | 
| 342 | 
            +
                    it 'is triggered if the actual is not equal' do
         | 
| 343 | 
            +
                      assert_expected_assertions do
         | 
| 344 | 
            +
                        assert_assertion_triggered %Q(3 expected (expr \"expected\") but was 5.\nExpected: 3\n  Actual: 5) do
         | 
| 345 | 
            +
                          assert_equal true, tc.assert_result_equal('expected', 5),
         | 
| 346 | 
            +
                            %q(returns true for expr-proc result 3 and 3)
         | 
| 347 | 
            +
                        end
         | 
| 348 | 
            +
                      end
         | 
| 349 | 
            +
                    end
         | 
| 350 | 
            +
                  end
         | 
| 351 | 
            +
                end
         | 
| 352 | 
            +
              end
         | 
| 229 353 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: minitest-bonus-assertions
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: ' | 
| 4 | 
            +
              version: '3.0'
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Austin Ziegler
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2017-04-26 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: minitest
         | 
| @@ -16,28 +16,14 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '5. | 
| 19 | 
            +
                    version: '5.10'
         | 
| 20 20 | 
             
              type: :development
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: '5. | 
| 27 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            -
              name: rdoc
         | 
| 29 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 | 
            -
                requirements:
         | 
| 31 | 
            -
                - - "~>"
         | 
| 32 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: '4.0'
         | 
| 34 | 
            -
              type: :development
         | 
| 35 | 
            -
              prerelease: false
         | 
| 36 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 | 
            -
                requirements:
         | 
| 38 | 
            -
                - - "~>"
         | 
| 39 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: '4.0'
         | 
| 26 | 
            +
                    version: '5.10'
         | 
| 41 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 28 | 
             
              name: hoe-doofus
         | 
| 43 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -72,14 +58,14 @@ dependencies: | |
| 72 58 | 
             
                requirements:
         | 
| 73 59 | 
             
                - - "~>"
         | 
| 74 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            -
                    version: '1. | 
| 61 | 
            +
                    version: '1.6'
         | 
| 76 62 | 
             
              type: :development
         | 
| 77 63 | 
             
              prerelease: false
         | 
| 78 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 65 | 
             
                requirements:
         | 
| 80 66 | 
             
                - - "~>"
         | 
| 81 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            -
                    version: '1. | 
| 68 | 
            +
                    version: '1.6'
         | 
| 83 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 84 70 | 
             
              name: hoe-travis
         | 
| 85 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -136,6 +122,20 @@ dependencies: | |
| 136 122 | 
             
                - - "~>"
         | 
| 137 123 | 
             
                  - !ruby/object:Gem::Version
         | 
| 138 124 | 
             
                    version: '1.2'
         | 
| 125 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 126 | 
            +
              name: minitest-bonus-assertions
         | 
| 127 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 | 
            +
                requirements:
         | 
| 129 | 
            +
                - - "~>"
         | 
| 130 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 131 | 
            +
                    version: '2.0'
         | 
| 132 | 
            +
              type: :development
         | 
| 133 | 
            +
              prerelease: false
         | 
| 134 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 135 | 
            +
                requirements:
         | 
| 136 | 
            +
                - - "~>"
         | 
| 137 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 138 | 
            +
                    version: '2.0'
         | 
| 139 139 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 140 140 | 
             
              name: minitest-focus
         | 
| 141 141 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -182,14 +182,14 @@ dependencies: | |
| 182 182 | 
             
              name: rake
         | 
| 183 183 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 184 184 | 
             
                requirements:
         | 
| 185 | 
            -
                - - " | 
| 185 | 
            +
                - - "~>"
         | 
| 186 186 | 
             
                  - !ruby/object:Gem::Version
         | 
| 187 187 | 
             
                    version: '10.0'
         | 
| 188 188 | 
             
              type: :development
         | 
| 189 189 | 
             
              prerelease: false
         | 
| 190 190 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 191 191 | 
             
                requirements:
         | 
| 192 | 
            -
                - - " | 
| 192 | 
            +
                - - "~>"
         | 
| 193 193 | 
             
                  - !ruby/object:Gem::Version
         | 
| 194 194 | 
             
                    version: '10.0'
         | 
| 195 195 | 
             
            - !ruby/object:Gem::Dependency
         | 
| @@ -206,23 +206,51 @@ dependencies: | |
| 206 206 | 
             
                - - "~>"
         | 
| 207 207 | 
             
                  - !ruby/object:Gem::Version
         | 
| 208 208 | 
             
                    version: '0.7'
         | 
| 209 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 210 | 
            +
              name: coveralls
         | 
| 211 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 212 | 
            +
                requirements:
         | 
| 213 | 
            +
                - - "~>"
         | 
| 214 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 215 | 
            +
                    version: '0.7'
         | 
| 216 | 
            +
              type: :development
         | 
| 217 | 
            +
              prerelease: false
         | 
| 218 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 219 | 
            +
                requirements:
         | 
| 220 | 
            +
                - - "~>"
         | 
| 221 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 222 | 
            +
                    version: '0.7'
         | 
| 223 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 224 | 
            +
              name: rdoc
         | 
| 225 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 226 | 
            +
                requirements:
         | 
| 227 | 
            +
                - - "~>"
         | 
| 228 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 229 | 
            +
                    version: '4.0'
         | 
| 230 | 
            +
              type: :development
         | 
| 231 | 
            +
              prerelease: false
         | 
| 232 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 233 | 
            +
                requirements:
         | 
| 234 | 
            +
                - - "~>"
         | 
| 235 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 236 | 
            +
                    version: '4.0'
         | 
| 209 237 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 210 238 | 
             
              name: hoe
         | 
| 211 239 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 212 240 | 
             
                requirements:
         | 
| 213 241 | 
             
                - - "~>"
         | 
| 214 242 | 
             
                  - !ruby/object:Gem::Version
         | 
| 215 | 
            -
                    version: '3. | 
| 243 | 
            +
                    version: '3.16'
         | 
| 216 244 | 
             
              type: :development
         | 
| 217 245 | 
             
              prerelease: false
         | 
| 218 246 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 219 247 | 
             
                requirements:
         | 
| 220 248 | 
             
                - - "~>"
         | 
| 221 249 | 
             
                  - !ruby/object:Gem::Version
         | 
| 222 | 
            -
                    version: '3. | 
| 250 | 
            +
                    version: '3.16'
         | 
| 223 251 | 
             
            description: |-
         | 
| 224 252 | 
             
              Bonus assertions for {Minitest}[https://github.com/seattlerb/minitest],
         | 
| 225 | 
            -
              providing assertions I use frequently.
         | 
| 253 | 
            +
              providing assertions I use frequently, supporting only Ruby 2.0 or better.
         | 
| 226 254 | 
             
            email:
         | 
| 227 255 | 
             
            - halostatue@gmail.com
         | 
| 228 256 | 
             
            executables: []
         | 
| @@ -267,7 +295,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 267 295 | 
             
              requirements:
         | 
| 268 296 | 
             
              - - ">="
         | 
| 269 297 | 
             
                - !ruby/object:Gem::Version
         | 
| 270 | 
            -
                  version:  | 
| 298 | 
            +
                  version: '2.0'
         | 
| 271 299 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 272 300 | 
             
              requirements:
         | 
| 273 301 | 
             
              - - ">="
         | 
| @@ -275,9 +303,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 275 303 | 
             
                  version: '0'
         | 
| 276 304 | 
             
            requirements: []
         | 
| 277 305 | 
             
            rubyforge_project: 
         | 
| 278 | 
            -
            rubygems_version: 2. | 
| 306 | 
            +
            rubygems_version: 2.5.1
         | 
| 279 307 | 
             
            signing_key: 
         | 
| 280 308 | 
             
            specification_version: 4
         | 
| 281 309 | 
             
            summary: Bonus assertions for {Minitest}[https://github.com/seattlerb/minitest], providing
         | 
| 282 | 
            -
              assertions I use frequently.
         | 
| 310 | 
            +
              assertions I use frequently, supporting only Ruby 2.0 or better.
         | 
| 283 311 | 
             
            test_files: []
         |