diff-lcs 1.2.2 → 1.2.3
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.tar.gz.sig +0 -0
- data/History.rdoc +18 -0
- data/README.rdoc +10 -3
- data/lib/diff/lcs.rb +2 -2
- data/lib/diff/lcs/hunk.rb +1 -1
- data/spec/hunk_spec.rb +37 -28
- metadata +18 -5
- metadata.gz.sig +0 -0
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/History.rdoc
    CHANGED
    
    | @@ -1,3 +1,21 @@ | |
| 1 | 
            +
            == 1.2.3 / 2013-04-11
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * Bugs Fixed:
         | 
| 4 | 
            +
              * The new encoding detection for diff output generation (added in 1.2.2)
         | 
| 5 | 
            +
                introduced a bug if the left side of the comparison was the empty set.
         | 
| 6 | 
            +
                Originally found in rspec/rspec-expectations#238 and
         | 
| 7 | 
            +
                rspec/rspec-expectations#239. Jon Rowe developed a reasonable heuristic
         | 
| 8 | 
            +
                (left side, right side, empty string literal) to avoid this bug.
         | 
| 9 | 
            +
                https://github.com/rspec/rspec-expectations/pull/238
         | 
| 10 | 
            +
                https://github.com/rspec/rspec-expectations/pull/239
         | 
| 11 | 
            +
            * There is a known issue with Rubinius in 1.9 mode reported in
         | 
| 12 | 
            +
              rubinius/rubinius#2268 and demonstrated in the Travis CI builds. For all
         | 
| 13 | 
            +
              other tested platforms, diff-lcs is considered stable. As soon as a suitably
         | 
| 14 | 
            +
              small test-case can be created for the Rubinius team to examine, this will be
         | 
| 15 | 
            +
              added to the Rubinius issue around this.
         | 
| 16 | 
            +
              https://github.com/rubinius/rubinius/issues/2268
         | 
| 17 | 
            +
              https://travis-ci.org/halostatue/diff-lcs/jobs/6241195
         | 
| 18 | 
            +
             | 
| 1 19 | 
             
            == 1.2.2 / 2013-03-30
         | 
| 2 20 |  | 
| 3 21 | 
             
            * Bugs Fixed:
         | 
    
        data/README.rdoc
    CHANGED
    
    | @@ -11,9 +11,16 @@ Diff::LCS computes the difference between two Enumerable sequences using the | |
| 11 11 | 
             
            McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities
         | 
| 12 12 | 
             
            to create a simple HTML diff output format and a standard diff-like tool.
         | 
| 13 13 |  | 
| 14 | 
            -
            This is release 1.2. | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 14 | 
            +
            This is release 1.2.3, fixing a bug in value comparison where the left side of
         | 
| 15 | 
            +
            the comparison was the empty set, preventing the detection of encoding. Thanks
         | 
| 16 | 
            +
            to Jon Rowe for fixing this issue. This is a strongly recommended release.
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            *Note*: There is a known issue with Rubinius in 1.9 mode reported in
         | 
| 19 | 
            +
            {rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268] and
         | 
| 20 | 
            +
            demonstrated in the Travis CI builds. For all other tested platforms, diff-lcs
         | 
| 21 | 
            +
            is considered stable. As soon as a suitably small test-case can be created for
         | 
| 22 | 
            +
            the Rubinius team to examine, this will be added to the Rubinius issue around
         | 
| 23 | 
            +
            this.
         | 
| 17 24 |  | 
| 18 25 | 
             
            == Synopsis
         | 
| 19 26 |  | 
    
        data/lib/diff/lcs.rb
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            # -*- ruby encoding: utf-8 -*-
         | 
| 2 2 |  | 
| 3 3 | 
             
            module Diff; end unless defined? Diff
         | 
| 4 | 
            -
            # = Diff::LCS 1.2. | 
| 4 | 
            +
            # = Diff::LCS 1.2.3
         | 
| 5 5 | 
             
            #
         | 
| 6 6 | 
             
            # Computes "intelligent" differences between two sequenced Enumerables. This
         | 
| 7 7 | 
             
            # is an implementation of the McIlroy-Hunt "diff" algorithm for Enumerable
         | 
| @@ -129,7 +129,7 @@ module Diff; end unless defined? Diff | |
| 129 129 | 
             
            # Common Subsequences</em>, CACM, vol.20, no.5, pp.350-353, May
         | 
| 130 130 | 
             
            # 1977, with a few minor improvements to improve the speed."
         | 
| 131 131 | 
             
            module Diff::LCS
         | 
| 132 | 
            -
              VERSION = '1.2. | 
| 132 | 
            +
              VERSION = '1.2.3'
         | 
| 133 133 | 
             
            end
         | 
| 134 134 |  | 
| 135 135 | 
             
            require 'diff/lcs/callbacks'
         | 
    
        data/lib/diff/lcs/hunk.rb
    CHANGED
    
    | @@ -12,7 +12,7 @@ class Diff::LCS::Hunk | |
| 12 12 | 
             
                # At first, a hunk will have just one Block in it
         | 
| 13 13 | 
             
                @blocks = [ Diff::LCS::Block.new(piece) ]
         | 
| 14 14 | 
             
                if String.method_defined?(:encoding)
         | 
| 15 | 
            -
                  @preferred_data_encoding = data_old | 
| 15 | 
            +
                  @preferred_data_encoding = data_old.fetch(0, data_new.fetch(0,'') ).encoding
         | 
| 16 16 | 
             
                end
         | 
| 17 17 | 
             
                @data_old = data_old
         | 
| 18 18 | 
             
                @data_new = data_new
         | 
    
        data/spec/hunk_spec.rb
    CHANGED
    
    | @@ -15,49 +15,58 @@ describe "Diff::LCS::Hunk" do | |
| 15 15 | 
             
                let(:hunk)     { Diff::LCS::Hunk.new(old_data, new_data, pieces[0], 3, 0) }
         | 
| 16 16 |  | 
| 17 17 | 
             
                it 'should be able to produce a unified diff from the two pieces' do
         | 
| 18 | 
            -
                  expected =
         | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
            EOD
         | 
| 18 | 
            +
                  expected = (<<-EOD.gsub(/^\s+/,'').encode('UTF-16LE').chomp)
         | 
| 19 | 
            +
                    @@ -1,2 +1,2 @@
         | 
| 20 | 
            +
                    -Tu avec carté {count} itém has
         | 
| 21 | 
            +
                    +Tu avec carte {count} item has
         | 
| 22 | 
            +
                  EOD
         | 
| 24 23 | 
             
                  expect(hunk.diff(:unified).to_s == expected).to eql true
         | 
| 25 24 | 
             
                end
         | 
| 26 25 |  | 
| 27 26 | 
             
                it 'should be able to produce a context diff from the two pieces' do
         | 
| 28 | 
            -
                  expected =
         | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
            EOD
         | 
| 27 | 
            +
                  expected = (<<-EOD.gsub(/^\s+/,'').encode('UTF-16LE').chomp)
         | 
| 28 | 
            +
                    ***************
         | 
| 29 | 
            +
                    *** 1,2 ****
         | 
| 30 | 
            +
                    !Tu avec carté {count} itém has
         | 
| 31 | 
            +
                    --- 1,2 ----
         | 
| 32 | 
            +
                    !Tu avec carte {count} item has
         | 
| 33 | 
            +
                  EOD
         | 
| 36 34 |  | 
| 37 35 | 
             
                  expect(hunk.diff(:context).to_s == expected).to eql true
         | 
| 38 36 | 
             
                end
         | 
| 39 37 |  | 
| 40 38 | 
             
                it 'should be able to produce an old diff from the two pieces' do
         | 
| 41 | 
            -
                  expected =
         | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
            EOD
         | 
| 39 | 
            +
                  expected = (<<-EOD.gsub(/^ +/,'').encode('UTF-16LE').chomp)
         | 
| 40 | 
            +
                    1,2c1,2
         | 
| 41 | 
            +
                    < Tu avec carté {count} itém has
         | 
| 42 | 
            +
                    ---
         | 
| 43 | 
            +
                    > Tu avec carte {count} item has
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                  EOD
         | 
| 49 46 | 
             
                  expect(hunk.diff(:old).to_s == expected).to eql true
         | 
| 50 47 | 
             
                end
         | 
| 51 48 |  | 
| 52 49 | 
             
                it 'should be able to produce a reverse ed diff from the two pieces' do
         | 
| 53 | 
            -
                  expected =
         | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
            .
         | 
| 50 | 
            +
                  expected = (<<-EOD.gsub(/^ +/,'').encode('UTF-16LE').chomp)
         | 
| 51 | 
            +
                    c1,2
         | 
| 52 | 
            +
                    Tu avec carte {count} item has
         | 
| 53 | 
            +
                    .
         | 
| 58 54 |  | 
| 59 | 
            -
            EOD
         | 
| 55 | 
            +
                  EOD
         | 
| 60 56 | 
             
                  expect(hunk.diff(:reverse_ed).to_s == expected).to eql true
         | 
| 61 57 | 
             
                end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                context 'with empty first data set' do
         | 
| 60 | 
            +
                  let(:old_data) { [] }
         | 
| 61 | 
            +
             | 
| 62 | 
            +
                  it 'should be able to produce a unified diff' do
         | 
| 63 | 
            +
                    expected = (<<-EOD.gsub(/^\s+/,'').encode('UTF-16LE').chomp)
         | 
| 64 | 
            +
                      @@ -1 +1,2 @@
         | 
| 65 | 
            +
                      +Tu avec carte {count} item has
         | 
| 66 | 
            +
                    EOD
         | 
| 67 | 
            +
                    expect(hunk.diff(:unified).to_s == expected).to eql true
         | 
| 68 | 
            +
                  end
         | 
| 69 | 
            +
                end
         | 
| 70 | 
            +
             | 
| 62 71 | 
             
              end
         | 
| 63 72 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: diff-lcs
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.2. | 
| 4 | 
            +
              version: 1.2.3
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -50,7 +50,7 @@ cert_chain: | |
| 50 50 | 
             
              -----END CERTIFICATE-----
         | 
| 51 51 |  | 
| 52 52 | 
             
            '
         | 
| 53 | 
            -
            date: 2013- | 
| 53 | 
            +
            date: 2013-04-12 00:00:00.000000000 Z
         | 
| 54 54 | 
             
            dependencies:
         | 
| 55 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 56 | 
             
              name: rubyforge
         | 
| @@ -236,11 +236,24 @@ description: ! 'Diff::LCS computes the difference between two Enumerable sequenc | |
| 236 236 | 
             
              to create a simple HTML diff output format and a standard diff-like tool.
         | 
| 237 237 |  | 
| 238 238 |  | 
| 239 | 
            -
              This is release 1.2. | 
| 239 | 
            +
              This is release 1.2.3, fixing a bug in value comparison where the left side of
         | 
| 240 240 |  | 
| 241 | 
            -
               | 
| 241 | 
            +
              the comparison was the empty set, preventing the detection of encoding. Thanks
         | 
| 242 242 |  | 
| 243 | 
            -
               | 
| 243 | 
            +
              to Jon Rowe for fixing this issue. This is a strongly recommended release.
         | 
| 244 | 
            +
             | 
| 245 | 
            +
             | 
| 246 | 
            +
              *Note*: There is a known issue with Rubinius in 1.9 mode reported in
         | 
| 247 | 
            +
             | 
| 248 | 
            +
              {rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268] and
         | 
| 249 | 
            +
             | 
| 250 | 
            +
              demonstrated in the Travis CI builds. For all other tested platforms, diff-lcs
         | 
| 251 | 
            +
             | 
| 252 | 
            +
              is considered stable. As soon as a suitably small test-case can be created for
         | 
| 253 | 
            +
             | 
| 254 | 
            +
              the Rubinius team to examine, this will be added to the Rubinius issue around
         | 
| 255 | 
            +
             | 
| 256 | 
            +
              this.'
         | 
| 244 257 | 
             
            email:
         | 
| 245 258 | 
             
            - austin@rubyforge.org
         | 
| 246 259 | 
             
            executables:
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |