qed 2.7.0 → 2.8.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.
- data/.ruby +9 -5
- data/HISTORY.rdoc +19 -0
- data/README.rdoc +4 -2
- data/lib/qed.yml +9 -5
- data/lib/qed/core_ext.rb +3 -0
- data/lib/qed/demo.rb +3 -1
- data/lib/qed/reporter/abstract.rb +2 -2
- data/lib/qed/scope.rb +2 -2
- data/lib/qed/session.rb +8 -1
- data/lib/qed/step.rb +4 -2
- data/qed/01_demos.rdoc +1 -1
- data/qed/02_advice.rdoc +4 -5
- metadata +25 -14
    
        data/.ruby
    CHANGED
    
    | @@ -14,13 +14,16 @@ requirements: | |
| 14 14 | 
             
            - name: ansi
         | 
| 15 15 | 
             
            - name: facets
         | 
| 16 16 | 
             
              version: 2.8+
         | 
| 17 | 
            -
            - name:  | 
| 18 | 
            -
              version: 1.7+
         | 
| 17 | 
            +
            - name: brass
         | 
| 19 18 | 
             
            - name: confection
         | 
| 20 19 | 
             
            - name: detroit
         | 
| 21 20 | 
             
              groups:
         | 
| 22 21 | 
             
              - build
         | 
| 23 22 | 
             
              development: true
         | 
| 23 | 
            +
            - name: ae
         | 
| 24 | 
            +
              groups:
         | 
| 25 | 
            +
              - test
         | 
| 26 | 
            +
              development: true
         | 
| 24 27 | 
             
            dependencies: []
         | 
| 25 28 | 
             
            conflicts: []
         | 
| 26 29 | 
             
            repositories:
         | 
| @@ -36,12 +39,13 @@ extra: {} | |
| 36 39 | 
             
            load_path:
         | 
| 37 40 | 
             
            - lib
         | 
| 38 41 | 
             
            revision: 0
         | 
| 39 | 
            -
            created: ' | 
| 42 | 
            +
            created: '2009-06-16'
         | 
| 40 43 | 
             
            summary: Quod Erat Demonstrandum
         | 
| 41 44 | 
             
            title: QED
         | 
| 42 | 
            -
            version: 2. | 
| 45 | 
            +
            version: 2.8.0
         | 
| 46 | 
            +
            scm_uri: http://github.com/rubyworks/qed/blob/master/
         | 
| 43 47 | 
             
            name: qed
         | 
| 44 48 | 
             
            description: ! 'QED (Quality Ensured Demonstrations) is a TDD/BDD framework
         | 
| 45 49 |  | 
| 46 50 | 
             
              utilizing Literate Programming techniques.'
         | 
| 47 | 
            -
            date: ' | 
| 51 | 
            +
            date: '2012-01-25'
         | 
    
        data/HISTORY.rdoc
    CHANGED
    
    | @@ -1,5 +1,24 @@ | |
| 1 1 | 
             
            = RELEASE HISTORY
         | 
| 2 2 |  | 
| 3 | 
            +
            == 2.8.0 | 2012-01-19
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            IMPORTANT: READ THIS RELEASE NOTICE! This release makes a minor
         | 
| 6 | 
            +
            change, but it is one that will effect all end-users. That is, QED no
         | 
| 7 | 
            +
            longer depends on AE as its one and only assertion framework. Instead
         | 
| 8 | 
            +
            any compliant framework can be used. Certainly most users will be happy
         | 
| 9 | 
            +
            to continue using AE, in which case simply add `require 'ae'` to your
         | 
| 10 | 
            +
            applique (e.g. in 'spec/applique/ae.rb') or add `-r ae` to the qed command
         | 
| 11 | 
            +
            line invocation to ensure demos continue running as before. In place of
         | 
| 12 | 
            +
            AE the _BRASS_ gem now provides basic assertion support. Any assertion
         | 
| 13 | 
            +
            framework that complies with the simple BRASS standards will work with QED.
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            Changes:
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            * No longer depend only on AE for assertion framework.
         | 
| 18 | 
            +
            * Rename $assertion_counts to $ASSERTION_COUNTS.
         | 
| 19 | 
            +
            * Complies with assertion standards set by BRASS project.
         | 
| 20 | 
            +
             | 
| 21 | 
            +
             | 
| 3 22 | 
             
            == 2.7.0 | 2011-11-18
         | 
| 4 23 |  | 
| 5 24 | 
             
            The focus of this release is a much improved underlying API, including
         | 
    
        data/README.rdoc
    CHANGED
    
    | @@ -1,8 +1,10 @@ | |
| 1 1 | 
             
            = Ruby Q.E.D.
         | 
| 2 2 |  | 
| 3 3 | 
             
            {Homepage}[http://rubyworks.github.com/qed] |
         | 
| 4 | 
            +
            {Documentation}[http://rubydoc.info/gems/qed/frames] |
         | 
| 5 | 
            +
            {Report Issue}[http://github.com/rubyworks/qed/issues] |
         | 
| 4 6 | 
             
            {Development}[http://github.com/rubyworks/qed] |
         | 
| 5 | 
            -
            {Mailing list}[http://groups.google.com/group/rubyworks-mailinglist] | 
| 7 | 
            +
            {Mailing list}[http://groups.google.com/group/rubyworks-mailinglist]
         | 
| 6 8 |  | 
| 7 9 | 
             
            {<img src="http://travis-ci.org/rubyworks/qed.png" />}[http://travis-ci.org/rubyworks/qed]
         | 
| 8 10 |  | 
| @@ -154,7 +156,7 @@ if they are not already installed. | |
| 154 156 |  | 
| 155 157 | 
             
            Q.E.D.
         | 
| 156 158 |  | 
| 157 | 
            -
            Copyright (c)  | 
| 159 | 
            +
            Copyright (c) 2009 Rubyworks, Thomas Sawyer
         | 
| 158 160 |  | 
| 159 161 | 
             
            BSD 2 Clause License
         | 
| 160 162 |  | 
    
        data/lib/qed.yml
    CHANGED
    
    | @@ -14,13 +14,16 @@ requirements: | |
| 14 14 | 
             
            - name: ansi
         | 
| 15 15 | 
             
            - name: facets
         | 
| 16 16 | 
             
              version: 2.8+
         | 
| 17 | 
            -
            - name:  | 
| 18 | 
            -
              version: 1.7+
         | 
| 17 | 
            +
            - name: brass
         | 
| 19 18 | 
             
            - name: confection
         | 
| 20 19 | 
             
            - name: detroit
         | 
| 21 20 | 
             
              groups:
         | 
| 22 21 | 
             
              - build
         | 
| 23 22 | 
             
              development: true
         | 
| 23 | 
            +
            - name: ae
         | 
| 24 | 
            +
              groups:
         | 
| 25 | 
            +
              - test
         | 
| 26 | 
            +
              development: true
         | 
| 24 27 | 
             
            dependencies: []
         | 
| 25 28 | 
             
            conflicts: []
         | 
| 26 29 | 
             
            repositories:
         | 
| @@ -36,12 +39,13 @@ extra: {} | |
| 36 39 | 
             
            load_path:
         | 
| 37 40 | 
             
            - lib
         | 
| 38 41 | 
             
            revision: 0
         | 
| 39 | 
            -
            created: ' | 
| 42 | 
            +
            created: '2009-06-16'
         | 
| 40 43 | 
             
            summary: Quod Erat Demonstrandum
         | 
| 41 44 | 
             
            title: QED
         | 
| 42 | 
            -
            version: 2. | 
| 45 | 
            +
            version: 2.8.0
         | 
| 46 | 
            +
            scm_uri: http://github.com/rubyworks/qed/blob/master/
         | 
| 43 47 | 
             
            name: qed
         | 
| 44 48 | 
             
            description: ! 'QED (Quality Ensured Demonstrations) is a TDD/BDD framework
         | 
| 45 49 |  | 
| 46 50 | 
             
              utilizing Literate Programming techniques.'
         | 
| 47 | 
            -
            date: ' | 
| 51 | 
            +
            date: '2012-01-25'
         | 
    
        data/lib/qed/core_ext.rb
    CHANGED
    
    
    
        data/lib/qed/demo.rb
    CHANGED
    
    | @@ -58,7 +58,9 @@ module QED | |
| 58 58 | 
             
                  @applique ||= (
         | 
| 59 59 | 
             
                    list = [Applique.new]
         | 
| 60 60 | 
             
                    applique_locations.each do |location|
         | 
| 61 | 
            -
                      Dir[location + '/**/*'].each do |file|
         | 
| 61 | 
            +
                      #Dir[location + '/**/*'].each do |file|
         | 
| 62 | 
            +
                      Dir[location + '/*'].each do |file|
         | 
| 63 | 
            +
                        next if File.directory?(file)
         | 
| 62 64 | 
             
                        list << Applique.for(file)
         | 
| 63 65 | 
             
                      end
         | 
| 64 66 | 
             
                    end
         | 
| @@ -236,8 +236,8 @@ module Reporter | |
| 236 236 |  | 
| 237 237 | 
             
                #
         | 
| 238 238 | 
             
                def get_tally
         | 
| 239 | 
            -
                  assert_count =  | 
| 240 | 
            -
                  assert_fails =  | 
| 239 | 
            +
                  assert_count = $ASSERTION_COUNTS[:total]
         | 
| 240 | 
            +
                  assert_fails = $ASSERTION_COUNTS[:fail]
         | 
| 241 241 | 
             
                  assert_delta = assert_count - assert_fails
         | 
| 242 242 |  | 
| 243 243 | 
             
                  vars = [demos.size, steps.size, fails.size, errors.size, assert_delta, assert_count] #, @pass.size ]
         | 
    
        data/lib/qed/scope.rb
    CHANGED
    
    
    
        data/lib/qed/session.rb
    CHANGED
    
    | @@ -121,6 +121,8 @@ module QED | |
| 121 121 |  | 
| 122 122 | 
             
                  clear_directory
         | 
| 123 123 |  | 
| 124 | 
            +
                  reset_assertion_counts
         | 
| 125 | 
            +
             | 
| 124 126 | 
             
                  prepare_loadpath
         | 
| 125 127 | 
             
                  require_libraries
         | 
| 126 128 |  | 
| @@ -146,11 +148,16 @@ module QED | |
| 146 148 | 
             
                  reporter.success?
         | 
| 147 149 | 
             
                end
         | 
| 148 150 |  | 
| 149 | 
            -
                #
         | 
| 151 | 
            +
                # Clear temporary testing directory.
         | 
| 150 152 | 
             
                def clear_directory
         | 
| 151 153 | 
             
                  settings.clear_directory
         | 
| 152 154 | 
             
                end
         | 
| 153 155 |  | 
| 156 | 
            +
                # Set $ASSERTION_COUNTS to zero point.
         | 
| 157 | 
            +
                def reset_assertion_counts
         | 
| 158 | 
            +
                  $ASSERTION_COUNTS = Hash.new{|h,k| h[k] = 0 }
         | 
| 159 | 
            +
                end
         | 
| 160 | 
            +
             | 
| 154 161 | 
             
                # Add to load path (from -I option).
         | 
| 155 162 | 
             
                def prepare_loadpath
         | 
| 156 163 | 
             
                  loadpath.each{ |dir| $LOAD_PATH.unshift(File.expand_path(dir)) }
         | 
    
        data/lib/qed/step.rb
    CHANGED
    
    | @@ -227,8 +227,10 @@ module QED | |
| 227 227 | 
             
                #
         | 
| 228 228 | 
             
                def tweak_code
         | 
| 229 229 | 
             
                  code = @example_lines.map{ |lineno, line| line }.join("")
         | 
| 230 | 
            -
                  code.gsub!(/\n\s*\#\ ?\=\>/, '.assert = ')
         | 
| 231 | 
            -
                  code.gsub!(/\s*\#\ ?\=\>/, '.assert = ')
         | 
| 230 | 
            +
                  #code.gsub!(/\n\s*\#\ ?\=\>/, '.assert = ')
         | 
| 231 | 
            +
                  #code.gsub!(/\s*\#\ ?\=\>/, '.assert = ')
         | 
| 232 | 
            +
                  code.gsub!(/\n\s*\#\ ?\=\>(.*?)$/, ' == \1 ? assert(true) : assert(false, "not returned -- \1")')   # TODO: what kind of error ?
         | 
| 233 | 
            +
                  code.gsub!(/\s*\#\ ?\=\>(.*?)$/,   ' == \1 ? assert(true) : assert(false, "not returned -- \1")')
         | 
| 232 234 | 
             
                  code
         | 
| 233 235 | 
             
                end
         | 
| 234 236 |  | 
    
        data/qed/01_demos.rdoc
    CHANGED
    
    
    
        data/qed/02_advice.rdoc
    CHANGED
    
    | @@ -86,11 +86,10 @@ an object just magically appear. | |
| 86 86 | 
             
            == Event Targets
         | 
| 87 87 |  | 
| 88 88 | 
             
            There is a small set of advice targets that do not come before or after,
         | 
| 89 | 
            -
            rather they occur *upon* a particular event. These include +: | 
| 90 | 
            -
            and +: | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 93 | 
            -
            and code excecution.
         | 
| 89 | 
            +
            rather they occur *upon* a particular event. These include +:pass+, +:fail+
         | 
| 90 | 
            +
            and +:error+ for when a code block passes, fails or raises an error; and
         | 
| 91 | 
            +
            +:step+, +:applique+, +:match+ and +:test:+ which targets the processing 
         | 
| 92 | 
            +
            of a demo step and it's example excecution.
         | 
| 94 93 |  | 
| 95 94 | 
             
            These event targets can be advised by calling the +When+ method
         | 
| 96 95 | 
             
            with the target type as an argument along with the code block
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: qed
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 4 | 
            +
              version: 2.8.0
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,11 +9,11 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2012-01-25 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: ansi
         | 
| 16 | 
            -
              requirement: & | 
| 16 | 
            +
              requirement: &25621900 !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                none: false
         | 
| 18 18 | 
             
                requirements:
         | 
| 19 19 | 
             
                - - ! '>='
         | 
| @@ -21,10 +21,10 @@ dependencies: | |
| 21 21 | 
             
                    version: '0'
         | 
| 22 22 | 
             
              type: :runtime
         | 
| 23 23 | 
             
              prerelease: false
         | 
| 24 | 
            -
              version_requirements: * | 
| 24 | 
            +
              version_requirements: *25621900
         | 
| 25 25 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 26 26 | 
             
              name: facets
         | 
| 27 | 
            -
              requirement: & | 
| 27 | 
            +
              requirement: &25620880 !ruby/object:Gem::Requirement
         | 
| 28 28 | 
             
                none: false
         | 
| 29 29 | 
             
                requirements:
         | 
| 30 30 | 
             
                - - ! '>='
         | 
| @@ -32,21 +32,21 @@ dependencies: | |
| 32 32 | 
             
                    version: '2.8'
         | 
| 33 33 | 
             
              type: :runtime
         | 
| 34 34 | 
             
              prerelease: false
         | 
| 35 | 
            -
              version_requirements: * | 
| 35 | 
            +
              version_requirements: *25620880
         | 
| 36 36 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 37 | 
            -
              name:  | 
| 38 | 
            -
              requirement: & | 
| 37 | 
            +
              name: brass
         | 
| 38 | 
            +
              requirement: &25620240 !ruby/object:Gem::Requirement
         | 
| 39 39 | 
             
                none: false
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 41 | 
             
                - - ! '>='
         | 
| 42 42 | 
             
                  - !ruby/object:Gem::Version
         | 
| 43 | 
            -
                    version: ' | 
| 43 | 
            +
                    version: '0'
         | 
| 44 44 | 
             
              type: :runtime
         | 
| 45 45 | 
             
              prerelease: false
         | 
| 46 | 
            -
              version_requirements: * | 
| 46 | 
            +
              version_requirements: *25620240
         | 
| 47 47 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 48 48 | 
             
              name: confection
         | 
| 49 | 
            -
              requirement: & | 
| 49 | 
            +
              requirement: &25619480 !ruby/object:Gem::Requirement
         | 
| 50 50 | 
             
                none: false
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 52 | 
             
                - - ! '>='
         | 
| @@ -54,10 +54,21 @@ dependencies: | |
| 54 54 | 
             
                    version: '0'
         | 
| 55 55 | 
             
              type: :runtime
         | 
| 56 56 | 
             
              prerelease: false
         | 
| 57 | 
            -
              version_requirements: * | 
| 57 | 
            +
              version_requirements: *25619480
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 59 | 
             
              name: detroit
         | 
| 60 | 
            -
              requirement: & | 
| 60 | 
            +
              requirement: &25618820 !ruby/object:Gem::Requirement
         | 
| 61 | 
            +
                none: false
         | 
| 62 | 
            +
                requirements:
         | 
| 63 | 
            +
                - - ! '>='
         | 
| 64 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 65 | 
            +
                    version: '0'
         | 
| 66 | 
            +
              type: :development
         | 
| 67 | 
            +
              prerelease: false
         | 
| 68 | 
            +
              version_requirements: *25618820
         | 
| 69 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            +
              name: ae
         | 
| 71 | 
            +
              requirement: &25616480 !ruby/object:Gem::Requirement
         | 
| 61 72 | 
             
                none: false
         | 
| 62 73 | 
             
                requirements:
         | 
| 63 74 | 
             
                - - ! '>='
         | 
| @@ -65,7 +76,7 @@ dependencies: | |
| 65 76 | 
             
                    version: '0'
         | 
| 66 77 | 
             
              type: :development
         | 
| 67 78 | 
             
              prerelease: false
         | 
| 68 | 
            -
              version_requirements: * | 
| 79 | 
            +
              version_requirements: *25616480
         | 
| 69 80 | 
             
            description: ! 'QED (Quality Ensured Demonstrations) is a TDD/BDD framework
         | 
| 70 81 |  | 
| 71 82 | 
             
              utilizing Literate Programming techniques.'
         |