minitest-given 3.6.0 → 3.8.2
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 +5 -5
 - data/Gemfile.lock +19 -16
 - data/README.md +39 -7
 - data/Rakefile +2 -5
 - data/examples/active_support_helper.rb +10 -0
 - data/examples/example_helper.rb +1 -0
 - data/examples/integration/failing_messages_spec.rb +20 -5
 - data/examples/integration/given_spec.rb +2 -2
 - data/examples/integration/then_spec.rb +1 -2
 - data/examples/minitest-rails/test_case_spec.rb +33 -0
 - data/examples/minitest_helper.rb +4 -8
 - data/examples/use_assertions.rb +33 -36
 - data/lib/minitest-given.rb +1 -1
 - data/lib/minitest/given.rb +1 -0
 - data/rakelib/gemspec.rake +0 -3
 - metadata +10 -9
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 2 
     | 
    
         
            +
            SHA256:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: fd3d164a314ccce6dcff4898b68e050f021209d265c4fcf8040222781e9addf9
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 652592b056739a640159ede981c2869dddd6b0975983819d977b66d216f006fc
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 56bb654001246ebee0e060181d1ce1b559e1914c7d26e91b8ae2e5fd5f62cb2ae01ea4201a2b7fc42a86929b6eb1b6c8cc1a7599acc6ba972cb6a7ba3e8e1c82
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 6162d7a38540731542e752ee9a2844d86296faf5a942dd32ec3516d6100655dbc24ae5acdd4775ea5a240985fecb6a47305a8227309cc1f56feb67e4b82fe6d8
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,25 +1,25 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            GEM
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: https://rubygems.org/
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                diff-lcs (1. 
     | 
| 
       5 
     | 
    
         
            -
                minitest (5. 
     | 
| 
       6 
     | 
    
         
            -
                rake ( 
     | 
| 
       7 
     | 
    
         
            -
                rspec (3. 
     | 
| 
       8 
     | 
    
         
            -
                  rspec-core (~> 3. 
     | 
| 
       9 
     | 
    
         
            -
                  rspec-expectations (~> 3. 
     | 
| 
       10 
     | 
    
         
            -
                  rspec-mocks (~> 3. 
     | 
| 
       11 
     | 
    
         
            -
                rspec-core (3.1 
     | 
| 
       12 
     | 
    
         
            -
                  rspec-support (~> 3. 
     | 
| 
       13 
     | 
    
         
            -
                rspec-expectations (3.1 
     | 
| 
      
 4 
     | 
    
         
            +
                diff-lcs (1.4.4)
         
     | 
| 
      
 5 
     | 
    
         
            +
                minitest (5.14.3)
         
     | 
| 
      
 6 
     | 
    
         
            +
                rake (13.0.3)
         
     | 
| 
      
 7 
     | 
    
         
            +
                rspec (3.10.0)
         
     | 
| 
      
 8 
     | 
    
         
            +
                  rspec-core (~> 3.10.0)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  rspec-expectations (~> 3.10.0)
         
     | 
| 
      
 10 
     | 
    
         
            +
                  rspec-mocks (~> 3.10.0)
         
     | 
| 
      
 11 
     | 
    
         
            +
                rspec-core (3.10.1)
         
     | 
| 
      
 12 
     | 
    
         
            +
                  rspec-support (~> 3.10.0)
         
     | 
| 
      
 13 
     | 
    
         
            +
                rspec-expectations (3.10.1)
         
     | 
| 
       14 
14 
     | 
    
         
             
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
       15 
     | 
    
         
            -
                  rspec-support (~> 3. 
     | 
| 
       16 
     | 
    
         
            -
                rspec-mocks (3. 
     | 
| 
       17 
     | 
    
         
            -
                   
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                 
     | 
| 
      
 15 
     | 
    
         
            +
                  rspec-support (~> 3.10.0)
         
     | 
| 
      
 16 
     | 
    
         
            +
                rspec-mocks (3.10.2)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  diff-lcs (>= 1.2.0, < 2.0)
         
     | 
| 
      
 18 
     | 
    
         
            +
                  rspec-support (~> 3.10.0)
         
     | 
| 
      
 19 
     | 
    
         
            +
                rspec-support (3.10.2)
         
     | 
| 
      
 20 
     | 
    
         
            +
                sorcerer (2.0.1)
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         
             
            PLATFORMS
         
     | 
| 
       22 
     | 
    
         
            -
              java
         
     | 
| 
       23 
23 
     | 
    
         
             
              ruby
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
            DEPENDENCIES
         
     | 
| 
         @@ -27,3 +27,6 @@ DEPENDENCIES 
     | 
|
| 
       27 
27 
     | 
    
         
             
              rake
         
     | 
| 
       28 
28 
     | 
    
         
             
              rspec (>= 2.14.0)
         
     | 
| 
       29 
29 
     | 
    
         
             
              sorcerer (>= 0.3.7)
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            BUNDLED WITH
         
     | 
| 
      
 32 
     | 
    
         
            +
               2.1.4
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -4,7 +4,7 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
            | :----: |
         
     | 
| 
       5 
5 
     | 
    
         
             
            | [](https://travis-ci.org/rspec-given/rspec-given) |
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
            Covering rspec-given, minitest-given, and given-core, version 3. 
     | 
| 
      
 7 
     | 
    
         
            +
            Covering rspec-given, minitest-given, and given-core, version 3.8.2.
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            rspec-given and minitest-given are extensions to your favorite testing
         
     | 
| 
       10 
10 
     | 
    
         
             
            framework to allow Given/When/Then notation when writing specs.
         
     | 
| 
         @@ -53,7 +53,7 @@ things to watch out for: 
     | 
|
| 
       53 
53 
     | 
    
         | 
| 
       54 
54 
     | 
    
         
             
            * Only one before block is allowed in any given Minitest::Spec
         
     | 
| 
       55 
55 
     | 
    
         
             
              describe block. This doesn't effect the number of Givens you are
         
     | 
| 
       56 
     | 
    
         
            -
              allowed to use, but it may surprise if you are  
     | 
| 
      
 56 
     | 
    
         
            +
              allowed to use, but it may surprise you if you are used to RSpec.
         
     | 
| 
       57 
57 
     | 
    
         | 
| 
       58 
58 
     | 
    
         
             
            ### Auto Selecting
         
     | 
| 
       59 
59 
     | 
    
         | 
| 
         @@ -347,6 +347,17 @@ should use an empty _Then_ clause, like this: 
     | 
|
| 
       347 
347 
     | 
    
         
             
                Then { }
         
     | 
| 
       348 
348 
     | 
    
         
             
            ```
         
     | 
| 
       349 
349 
     | 
    
         | 
| 
      
 350 
     | 
    
         
            +
            A _Then_ clause accepts arguments for user-defined RSpec metadata:
         
     | 
| 
      
 351 
     | 
    
         
            +
             
     | 
| 
      
 352 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 353 
     | 
    
         
            +
                Then(:zippy, :foo => 17) { ... }
         
     | 
| 
      
 354 
     | 
    
         
            +
            ```
         
     | 
| 
      
 355 
     | 
    
         
            +
             
     | 
| 
      
 356 
     | 
    
         
            +
            Metadata on _Then_ clauses is an RSpec-only feature. You can read more about
         
     | 
| 
      
 357 
     | 
    
         
            +
            metadata [in RSpec's
         
     | 
| 
      
 358 
     | 
    
         
            +
            documentation](https://www.relishapp.com/rspec/rspec-core/docs/metadata/user-defined-metadata).
         
     | 
| 
      
 359 
     | 
    
         
            +
             
     | 
| 
      
 360 
     | 
    
         
            +
             
     | 
| 
       350 
361 
     | 
    
         
             
            #### Then examples:
         
     | 
| 
       351 
362 
     | 
    
         | 
| 
       352 
363 
     | 
    
         
             
            ```ruby
         
     | 
| 
         @@ -760,12 +771,13 @@ _expect_. 
     | 
|
| 
       760 
771 
     | 
    
         | 
| 
       761 
772 
     | 
    
         
             
            Given uses the Ripper library to parse the source lines and failing
         
     | 
| 
       762 
773 
     | 
    
         
             
            conditions to find all the sub-expression values upon a failure.
         
     | 
| 
       763 
     | 
    
         
            -
            Currently Ripper is not supported on Rubinius and versions of JRuby
         
     | 
| 
       764 
     | 
    
         
            -
            prior to JRuby-1.7.5.
         
     | 
| 
       765 
774 
     | 
    
         | 
| 
       766 
     | 
    
         
            -
            If  
     | 
| 
       767 
     | 
    
         
            -
             
     | 
| 
       768 
     | 
    
         
            -
             
     | 
| 
      
 775 
     | 
    
         
            +
            If Ripper is not available, like on Rubinius and versions of JRuby prior to
         
     | 
| 
      
 776 
     | 
    
         
            +
            JRuby-1.7.5, detailed explanations of failures for natural assertions won't be
         
     | 
| 
      
 777 
     | 
    
         
            +
            available.  Natural assertions will still work, though.
         
     | 
| 
      
 778 
     | 
    
         
            +
             
     | 
| 
      
 779 
     | 
    
         
            +
            If you want to use a version of Ruby that does not support Ripper, then you
         
     | 
| 
      
 780 
     | 
    
         
            +
            should disable source caching in the configuration (see the configuration
         
     | 
| 
       769 
781 
     | 
    
         
             
            section below).
         
     | 
| 
       770 
782 
     | 
    
         | 
| 
       771 
783 
     | 
    
         
             
            ### Non-Spec Assertions
         
     | 
| 
         @@ -870,6 +882,26 @@ License. See the MIT-LICENSE file in the source distribution. 
     | 
|
| 
       870 
882 
     | 
    
         | 
| 
       871 
883 
     | 
    
         
             
            # History
         
     | 
| 
       872 
884 
     | 
    
         | 
| 
      
 885 
     | 
    
         
            +
            * Version 3.8.1
         
     | 
| 
      
 886 
     | 
    
         
            +
             
     | 
| 
      
 887 
     | 
    
         
            +
              * Fix deprecation warnings fro Ruby 2.6 & up
         
     | 
| 
      
 888 
     | 
    
         
            +
             
     | 
| 
      
 889 
     | 
    
         
            +
            * Version 3.8.0
         
     | 
| 
      
 890 
     | 
    
         
            +
             
     | 
| 
      
 891 
     | 
    
         
            +
              * RSpec metadata can now be added to _Then_ clauses (see [#11](https://github.com/rspec-given/rspec-given/pull/11))
         
     | 
| 
      
 892 
     | 
    
         
            +
              * Natural assertions now run on Rubinius and older versions of JRuby (see [#15](https://github.com/rspec-given/rspec-given/issues/15))
         
     | 
| 
      
 893 
     | 
    
         
            +
                * WARNING: On these platforms, detailed failure explanations aren't available and source code snippets of Then clauses will only show the first line.
         
     | 
| 
      
 894 
     | 
    
         
            +
                * WARNING: Assertions of void statements (e.g. `Then { }`) will fail only under runtimes lacking Ripper support
         
     | 
| 
      
 895 
     | 
    
         
            +
              * `Given.ok_to_use_natural_assertions` was removed; the method was never properly supported as public, but it was publicly reachable
         
     | 
| 
      
 896 
     | 
    
         
            +
             
     | 
| 
      
 897 
     | 
    
         
            +
            * Version 3.7.1
         
     | 
| 
      
 898 
     | 
    
         
            +
             
     | 
| 
      
 899 
     | 
    
         
            +
              * Mixin Minitest extensions for both ActiveSupport::TestCase (when present) as well as for MiniTest::Spec (see [#8](https://github.com/rspec-given/rspec-given/pulls/8))
         
     | 
| 
      
 900 
     | 
    
         
            +
             
     | 
| 
      
 901 
     | 
    
         
            +
            * Version 3.7.0
         
     | 
| 
      
 902 
     | 
    
         
            +
             
     | 
| 
      
 903 
     | 
    
         
            +
              * Add support for Rails tests when using minitest-given (See [#6](https://github.com/rspec-given/rspec-given/pull/6))
         
     | 
| 
      
 904 
     | 
    
         
            +
             
     | 
| 
       873 
905 
     | 
    
         
             
            * Version 3.6.0
         
     | 
| 
       874 
906 
     | 
    
         | 
| 
       875 
907 
     | 
    
         
             
              * Various fixes for RSpec 3.0 (See [#1](https://github.com/rspec-given/rspec-given/pull/1))
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -62,13 +62,10 @@ end 
     | 
|
| 
       62 
62 
     | 
    
         
             
            EXAMPLES = FileList['examples/**/*_spec.rb', 'examples/use_assertions.rb'].
         
     | 
| 
       63 
63 
     | 
    
         
             
              exclude('examples/failing/*.rb').
         
     | 
| 
       64 
64 
     | 
    
         
             
              exclude('examples/minitest/*.rb').
         
     | 
| 
      
 65 
     | 
    
         
            +
              exclude('examples/minitest-rails/*.rb').
         
     | 
| 
       65 
66 
     | 
    
         
             
              exclude('examples/integration/failing/*.rb')
         
     | 
| 
       66 
67 
     | 
    
         | 
| 
       67 
     | 
    
         
            -
            MT_EXAMPLES = FileList['examples/minitest/**/*_spec.rb']
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
            unless Given::NATURAL_ASSERTIONS_SUPPORTED
         
     | 
| 
       70 
     | 
    
         
            -
              EXAMPLES.exclude("examples/stack/*.rb")
         
     | 
| 
       71 
     | 
    
         
            -
            end
         
     | 
| 
      
 68 
     | 
    
         
            +
            MT_EXAMPLES = FileList['examples/minitest-rails/**/*_spec.rb', 'examples/minitest/**/*_spec.rb']
         
     | 
| 
       72 
69 
     | 
    
         | 
| 
       73 
70 
     | 
    
         
             
            FAILING_EXAMPLES = FileList['examples/failing/**/*_spec.rb']
         
     | 
| 
       74 
71 
     | 
    
         | 
    
        data/examples/example_helper.rb
    CHANGED
    
    
| 
         @@ -2,30 +2,44 @@ require 'example_helper' 
     | 
|
| 
       2 
2 
     | 
    
         
             
            require 'open3'
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            describe "Failing Messages" do
         
     | 
| 
       5 
     | 
    
         
            -
              use_natural_assertions_if_supported
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
5 
     | 
    
         
             
              IOS = Struct.new(:out, :err)
         
     | 
| 
       8 
6 
     | 
    
         | 
| 
       9 
7 
     | 
    
         
             
              def run_spec(filename)
         
     | 
| 
       10 
     | 
    
         
            -
                 
     | 
| 
      
 8 
     | 
    
         
            +
                _inn, out, err, _wait = Open3.popen3(
         
     | 
| 
      
 9 
     | 
    
         
            +
                  "rspec", "examples/integration/failing/#{filename}",
         
     | 
| 
      
 10 
     | 
    
         
            +
                  # Ensure our `project_source_dirs` config is set when we shell out to RSpec.
         
     | 
| 
      
 11 
     | 
    
         
            +
                  "-rexample_helper"
         
     | 
| 
      
 12 
     | 
    
         
            +
                )
         
     | 
| 
       11 
13 
     | 
    
         
             
                IOS.new(out.read, err.read)
         
     | 
| 
       12 
14 
     | 
    
         
             
              end
         
     | 
| 
       13 
15 
     | 
    
         | 
| 
       14 
16 
     | 
    
         
             
              When(:ios) { run_spec(failing_test) }
         
     | 
| 
       15 
17 
     | 
    
         | 
| 
       16 
18 
     | 
    
         
             
              context "when referencing constants from nested modules" do
         
     | 
| 
      
 19 
     | 
    
         
            +
                skip_natural_assertions_if_not_supported
         
     | 
| 
       17 
20 
     | 
    
         
             
                Given(:failing_test) { "module_nesting_spec.rb" }
         
     | 
| 
       18 
21 
     | 
    
         
             
                Then { ios.err == "" }
         
     | 
| 
       19 
22 
     | 
    
         
             
                And { ios.out !~ /uninitialized constant RSpec::Given::InstanceExtensions::X/ }
         
     | 
| 
       20 
23 
     | 
    
         
             
              end
         
     | 
| 
       21 
24 
     | 
    
         | 
| 
       22 
25 
     | 
    
         
             
              context "when referencing undefined methods" do
         
     | 
| 
      
 26 
     | 
    
         
            +
                skip_natural_assertions_if_not_supported
         
     | 
| 
       23 
27 
     | 
    
         
             
                Given(:failing_test) { "undefined_method_spec.rb" }
         
     | 
| 
       24 
28 
     | 
    
         
             
                Then { ios.err == "" }
         
     | 
| 
       25 
     | 
    
         
            -
                And { ios.out  
     | 
| 
      
 29 
     | 
    
         
            +
                And { complains_xyz_is_not_in_scope?(ios.out) }
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                def complains_xyz_is_not_in_scope?(out)
         
     | 
| 
      
 32 
     | 
    
         
            +
                  [
         
     | 
| 
      
 33 
     | 
    
         
            +
                    # RSpec <3.2's message:
         
     | 
| 
      
 34 
     | 
    
         
            +
                    "undefined local variable or method `xyz'",
         
     | 
| 
      
 35 
     | 
    
         
            +
                    # RSpec >3.2's message:
         
     | 
| 
      
 36 
     | 
    
         
            +
                    "`xyz` is not available from within an example"
         
     | 
| 
      
 37 
     | 
    
         
            +
                  ].any? { |msg| out.include?(msg) }
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
       26 
39 
     | 
    
         
             
              end
         
     | 
| 
       27 
40 
     | 
    
         | 
| 
       28 
41 
     | 
    
         
             
              context "when breaking down expressions" do
         
     | 
| 
      
 42 
     | 
    
         
            +
                skip_natural_assertions_if_not_supported
         
     | 
| 
       29 
43 
     | 
    
         
             
                Given(:failing_test) { "eval_subexpression_spec.rb" }
         
     | 
| 
       30 
44 
     | 
    
         
             
                Then { ios.err == "" }
         
     | 
| 
       31 
45 
     | 
    
         
             
                And  { ios.out =~ /false *<- array\[index\]\.upcase == value$/ }
         
     | 
| 
         @@ -42,8 +56,9 @@ describe "Failing Messages" do 
     | 
|
| 
       42 
56 
     | 
    
         
             
              end
         
     | 
| 
       43 
57 
     | 
    
         | 
| 
       44 
58 
     | 
    
         
             
              context "with an oddly formatted then" do
         
     | 
| 
      
 59 
     | 
    
         
            +
                skip_natural_assertions_if_not_supported
         
     | 
| 
       45 
60 
     | 
    
         
             
                Given(:failing_test) { "oddly_formatted_then.rb" }
         
     | 
| 
       46 
     | 
    
         
            -
                Then { ios.out =~ /Failure\/Error 
     | 
| 
      
 61 
     | 
    
         
            +
                Then { ios.out =~ /Failure\/Error:\s*Then \{ result == \['a',$/ }
         
     | 
| 
       47 
62 
     | 
    
         
             
                And  { ios.out =~ /expected: "anything"/ }
         
     | 
| 
       48 
63 
     | 
    
         
             
                And  { ios.out =~ /to equal: \["a", "a"\]/ }
         
     | 
| 
       49 
64 
     | 
    
         
             
              end
         
     | 
| 
         @@ -11,11 +11,10 @@ end 
     | 
|
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            describe "Then" do
         
     | 
| 
       13 
13 
     | 
    
         
             
              context "empty thens with natural assertions" do
         
     | 
| 
       14 
     | 
    
         
            -
                 
     | 
| 
      
 14 
     | 
    
         
            +
                skip_natural_assertions_if_not_supported #<--we can't detect void statements
         
     | 
| 
       15 
15 
     | 
    
         
             
                Then { }
         
     | 
| 
       16 
16 
     | 
    
         
             
              end
         
     | 
| 
       17 
17 
     | 
    
         
             
              context "thens to_bool/true will pass" do
         
     | 
| 
       18 
     | 
    
         
            -
                use_natural_assertions_if_supported
         
     | 
| 
       19 
18 
     | 
    
         
             
                Then { ToBool.new(true) }
         
     | 
| 
       20 
19 
     | 
    
         
             
              end
         
     | 
| 
       21 
20 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,33 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'minitest/autorun'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'active_support_helper'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'minitest/given'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'example_helper'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            describe ActiveSupport::TestCase, :model do
         
     | 
| 
      
 8 
     | 
    
         
            +
              Given(:info) { [] }
         
     | 
| 
      
 9 
     | 
    
         
            +
              Given { info << "outer1" }
         
     | 
| 
      
 10 
     | 
    
         
            +
              Given { info << "outer2" }
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              context "using a when without result" do
         
     | 
| 
      
 13 
     | 
    
         
            +
                When { info << "when" }
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                context "inner with When" do
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Given { info << "inner1" }
         
     | 
| 
      
 17 
     | 
    
         
            +
                  Given { info << "inner2" }
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Then { given_assert_equal ["outer1", "outer2", "inner1", "inner2", "when"], info }
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                  context "using a nested When" do
         
     | 
| 
      
 21 
     | 
    
         
            +
                    When { info << "when2" }
         
     | 
| 
      
 22 
     | 
    
         
            +
                    Then { given_assert_equal ["outer1", "outer2", "inner1", "inner2", "when", "when2"], info}
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                  context "using two nested When" do
         
     | 
| 
      
 26 
     | 
    
         
            +
                    When { info << "when2a" }
         
     | 
| 
      
 27 
     | 
    
         
            +
                    When { info << "when2b" }
         
     | 
| 
      
 28 
     | 
    
         
            +
                    Then { given_assert_equal ["outer1", "outer2", "inner1", "inner2", "when", "when2a", "when2b"], info }
         
     | 
| 
      
 29 
     | 
    
         
            +
                  end
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
    
        data/examples/minitest_helper.rb
    CHANGED
    
    | 
         @@ -1,4 +1,3 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
1 
     | 
    
         
             
            module GivenAssertions
         
     | 
| 
       3 
2 
     | 
    
         
             
              def given_assert(cond)
         
     | 
| 
       4 
3 
     | 
    
         
             
                assert cond
         
     | 
| 
         @@ -23,16 +22,13 @@ module GivenAssertions 
     | 
|
| 
       23 
22 
     | 
    
         
             
            end
         
     | 
| 
       24 
23 
     | 
    
         | 
| 
       25 
24 
     | 
    
         
             
            module NaturalAssertionControl
         
     | 
| 
       26 
     | 
    
         
            -
              def  
     | 
| 
       27 
     | 
    
         
            -
                if  
     | 
| 
       28 
     | 
    
         
            -
                  Given {
         
     | 
| 
       29 
     | 
    
         
            -
                    skip "Natural assertions are not supported in JRuby"
         
     | 
| 
       30 
     | 
    
         
            -
                  }
         
     | 
| 
       31 
     | 
    
         
            -
                else
         
     | 
| 
       32 
     | 
    
         
            -
                  use_natural_assertions(enabled)
         
     | 
| 
      
 25 
     | 
    
         
            +
              def skip_natural_assertions_if_not_supported
         
     | 
| 
      
 26 
     | 
    
         
            +
                if !Given::NATURAL_ASSERTIONS_SUPPORTED
         
     | 
| 
      
 27 
     | 
    
         
            +
                  Given { skip "This test requires a Ruby runtime with full natural assertions support." }
         
     | 
| 
       33 
28 
     | 
    
         
             
                end
         
     | 
| 
       34 
29 
     | 
    
         
             
              end
         
     | 
| 
       35 
30 
     | 
    
         
             
            end
         
     | 
| 
       36 
31 
     | 
    
         | 
| 
       37 
32 
     | 
    
         
             
            Minitest::Spec.send(:include, GivenAssertions)
         
     | 
| 
      
 33 
     | 
    
         
            +
            Minitest::Test.send(:include, GivenAssertions)
         
     | 
| 
       38 
34 
     | 
    
         
             
            include NaturalAssertionControl
         
     | 
    
        data/examples/use_assertions.rb
    CHANGED
    
    | 
         @@ -1,47 +1,44 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'given/module_methods'
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
            require 'given/assertions'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'given/fuzzy_number'
         
     | 
| 
       4 
5 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
      
 6 
     | 
    
         
            +
            include Given::Assertions
         
     | 
| 
      
 7 
     | 
    
         
            +
            include Given::Fuzzy
         
     | 
| 
       7 
8 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
               
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
               
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                Postcondition { result ** 2 == about(n) }
         
     | 
| 
       15 
     | 
    
         
            -
                result
         
     | 
| 
       16 
     | 
    
         
            -
              end
         
     | 
| 
      
 9 
     | 
    
         
            +
            def sqrt(n)
         
     | 
| 
      
 10 
     | 
    
         
            +
              Precondition { n >= 0 }
         
     | 
| 
      
 11 
     | 
    
         
            +
              result = Math.sqrt(n)
         
     | 
| 
      
 12 
     | 
    
         
            +
              Postcondition { result ** 2 == about(n) }
         
     | 
| 
      
 13 
     | 
    
         
            +
              result
         
     | 
| 
      
 14 
     | 
    
         
            +
            end
         
     | 
| 
       17 
15 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
      
 16 
     | 
    
         
            +
            def sqrt_bad_postcondition(n)
         
     | 
| 
      
 17 
     | 
    
         
            +
              Precondition { n >= 0 }
         
     | 
| 
      
 18 
     | 
    
         
            +
              result = Math.sqrt(n)
         
     | 
| 
      
 19 
     | 
    
         
            +
              Postcondition { result ** 2 == about(n+1) }
         
     | 
| 
      
 20 
     | 
    
         
            +
              result
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
| 
       24 
22 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
      
 23 
     | 
    
         
            +
            def use_assert(n)
         
     | 
| 
      
 24 
     | 
    
         
            +
              Assert { n == 1 }
         
     | 
| 
      
 25 
     | 
    
         
            +
            end
         
     | 
| 
       28 
26 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
            def should_fail
         
     | 
| 
      
 28 
     | 
    
         
            +
              begin
         
     | 
| 
      
 29 
     | 
    
         
            +
                yield
         
     | 
| 
      
 30 
     | 
    
         
            +
                fail "Expected error"
         
     | 
| 
      
 31 
     | 
    
         
            +
              rescue Given::Assertions::AssertError => ex
         
     | 
| 
      
 32 
     | 
    
         
            +
                true
         
     | 
| 
       36 
33 
     | 
    
         
             
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
            end
         
     | 
| 
       37 
35 
     | 
    
         | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 36 
     | 
    
         
            +
            sqrt(1)
         
     | 
| 
      
 37 
     | 
    
         
            +
            sqrt(2)
         
     | 
| 
      
 38 
     | 
    
         
            +
            sqrt(0)
         
     | 
| 
       41 
39 
     | 
    
         | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
      
 40 
     | 
    
         
            +
            should_fail { sqrt(-1) }
         
     | 
| 
      
 41 
     | 
    
         
            +
            should_fail { sqrt_bad_postcondition(1) }
         
     | 
| 
       44 
42 
     | 
    
         | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
            end
         
     | 
| 
      
 43 
     | 
    
         
            +
            use_assert(1)
         
     | 
| 
      
 44 
     | 
    
         
            +
            should_fail { use_assert(0) }
         
     | 
    
        data/lib/minitest-given.rb
    CHANGED
    
    
    
        data/lib/minitest/given.rb
    CHANGED
    
    
    
        data/rakelib/gemspec.rake
    CHANGED
    
    | 
         @@ -56,7 +56,6 @@ EOF 
     | 
|
| 
       56 
56 
     | 
    
         
             
                s.author = "Jim Weirich"
         
     | 
| 
       57 
57 
     | 
    
         
             
                s.email = "jim.weirich@gmail.com"
         
     | 
| 
       58 
58 
     | 
    
         
             
                s.homepage = "http://github.com/rspec-given/rspec-given"
         
     | 
| 
       59 
     | 
    
         
            -
                s.rubyforge_project = "given"
         
     | 
| 
       60 
59 
     | 
    
         
             
              end
         
     | 
| 
       61 
60 
     | 
    
         | 
| 
       62 
61 
     | 
    
         
             
              MINITEST_GIVEN_SPEC = Gem::Specification.new do |s|
         
     | 
| 
         @@ -84,7 +83,6 @@ EOF 
     | 
|
| 
       84 
83 
     | 
    
         
             
                s.author = "Jim Weirich"
         
     | 
| 
       85 
84 
     | 
    
         
             
                s.email = "jim.weirich@gmail.com"
         
     | 
| 
       86 
85 
     | 
    
         
             
                s.homepage = "http://github.com/rspec-given/rspec-given"
         
     | 
| 
       87 
     | 
    
         
            -
                s.rubyforge_project = "given"
         
     | 
| 
       88 
86 
     | 
    
         
             
              end
         
     | 
| 
       89 
87 
     | 
    
         | 
| 
       90 
88 
     | 
    
         
             
              GIVEN_CORE_SPEC = Gem::Specification.new do |s|
         
     | 
| 
         @@ -112,7 +110,6 @@ EOF 
     | 
|
| 
       112 
110 
     | 
    
         
             
                s.author = "Jim Weirich"
         
     | 
| 
       113 
111 
     | 
    
         
             
                s.email = "jim.weirich@gmail.com"
         
     | 
| 
       114 
112 
     | 
    
         
             
                s.homepage = "http://github.com/rspec-given/rspec-given"
         
     | 
| 
       115 
     | 
    
         
            -
                s.rubyforge_project = "given"
         
     | 
| 
       116 
113 
     | 
    
         
             
              end
         
     | 
| 
       117 
114 
     | 
    
         | 
| 
       118 
115 
     | 
    
         
             
              Gem::PackageTask.new(MINITEST_GIVEN_SPEC) do |pkg|
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: minitest-given
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 3.8.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Jim Weirich
         
     | 
| 
       8 
     | 
    
         
            -
            autorequire: 
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-01-29 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: given_core
         
     | 
| 
         @@ -16,14 +16,14 @@ dependencies: 
     | 
|
| 
       16 
16 
     | 
    
         
             
                requirements:
         
     | 
| 
       17 
17 
     | 
    
         
             
                - - '='
         
     | 
| 
       18 
18 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       19 
     | 
    
         
            -
                    version: 3. 
     | 
| 
      
 19 
     | 
    
         
            +
                    version: 3.8.2
         
     | 
| 
       20 
20 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       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: 3. 
     | 
| 
      
 26 
     | 
    
         
            +
                    version: 3.8.2
         
     | 
| 
       27 
27 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       28 
28 
     | 
    
         
             
              name: minitest
         
     | 
| 
       29 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -54,6 +54,7 @@ files: 
     | 
|
| 
       54 
54 
     | 
    
         
             
            - TODO
         
     | 
| 
       55 
55 
     | 
    
         
             
            - doc/article/custom_error_messages.md
         
     | 
| 
       56 
56 
     | 
    
         
             
            - doc/main.rdoc
         
     | 
| 
      
 57 
     | 
    
         
            +
            - examples/active_support_helper.rb
         
     | 
| 
       57 
58 
     | 
    
         
             
            - examples/example_helper.rb
         
     | 
| 
       58 
59 
     | 
    
         
             
            - examples/failing/natural_failing_spec.rb
         
     | 
| 
       59 
60 
     | 
    
         
             
            - examples/failing/sample_spec.rb
         
     | 
| 
         @@ -69,6 +70,7 @@ files: 
     | 
|
| 
       69 
70 
     | 
    
         
             
            - examples/integration/invariant_spec.rb
         
     | 
| 
       70 
71 
     | 
    
         
             
            - examples/integration/then_spec.rb
         
     | 
| 
       71 
72 
     | 
    
         
             
            - examples/loader.rb
         
     | 
| 
      
 73 
     | 
    
         
            +
            - examples/minitest-rails/test_case_spec.rb
         
     | 
| 
       72 
74 
     | 
    
         
             
            - examples/minitest/assert_raises_spec.rb
         
     | 
| 
       73 
75 
     | 
    
         
             
            - examples/minitest_helper.rb
         
     | 
| 
       74 
76 
     | 
    
         
             
            - examples/other/line_example.rb
         
     | 
| 
         @@ -87,7 +89,7 @@ homepage: http://github.com/rspec-given/rspec-given 
     | 
|
| 
       87 
89 
     | 
    
         
             
            licenses:
         
     | 
| 
       88 
90 
     | 
    
         
             
            - MIT
         
     | 
| 
       89 
91 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       90 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 92 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       91 
93 
     | 
    
         
             
            rdoc_options:
         
     | 
| 
       92 
94 
     | 
    
         
             
            - "--line-numbers"
         
     | 
| 
       93 
95 
     | 
    
         
             
            - "--inline-source"
         
     | 
| 
         @@ -108,9 +110,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       108 
110 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       109 
111 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       110 
112 
     | 
    
         
             
            requirements: []
         
     | 
| 
       111 
     | 
    
         
            -
             
     | 
| 
       112 
     | 
    
         
            -
             
     | 
| 
       113 
     | 
    
         
            -
            signing_key: 
         
     | 
| 
      
 113 
     | 
    
         
            +
            rubygems_version: 3.1.4
         
     | 
| 
      
 114 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       114 
115 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       115 
116 
     | 
    
         
             
            summary: Given/When/Then Specification Extensions for Minitest::Spec.
         
     | 
| 
       116 
117 
     | 
    
         
             
            test_files: []
         
     |