Sha256: 10d45de9f6b0913af2b9a6bf3f0b7b526c571dc682794e0d1a484e8042ab7d21

Contents?: true

Size: 1.53 KB

Versions: 4

Compression:

Stored size: 1.53 KB

Contents

require 'stringio'
require 'rscm/changes_fixture'
require 'rscm/tempdir'
require 'damagecontrol/visitor/diff_persister'

module DamageControl
  module Visitor
    class DiffPersisterTest < Test::Unit::TestCase
      include RSCM::ChangesFixture

      class MockSCM
        def initialize(checkout_dir, diffs)
          @checkout_dir, @diffs = checkout_dir, diffs
          @n = 0
        end
        
        def diff(checkout_dir, change, &proc)
          proc.call(@diffs[@n])
          @n = @n + 1
        end
      end

      def test_should_persist_diff_for_each_change
        basedir = RSCM.new_temp_dir("differ")
        ENV["DAMAGECONTROL_HOME"] = basedir

        setup_changes
        changesets = RSCM::ChangeSets.new
        changesets.add(@change1)
        changesets.add(@change2)
        changesets.add(@change3)

        diff1 = "This\ris\na\r\ndiff for 1"
        diff2 = "This\ris\na\r\ndiff for 2"
        diff3 = "This\ris\na\r\ndiff for 3"

        scm = MockSCM.new("#{basedir}/projects/mooky/checkout", [diff1, diff2, diff3])
        dp = DiffPersister.new(scm, "mooky")

        changesets.accept(dp)
        assert_equal(diff1, File.open("#{basedir}/projects/mooky/changesets/20040705120004/diffs/path/one.diff").read)
        assert_equal(diff2, File.open("#{basedir}/projects/mooky/changesets/20040705120004/diffs/path/two.diff").read)
        assert_equal(diff3, File.open("#{basedir}/projects/mooky/changesets/20040705120006/diffs/path/three.diff").read)

      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
damagecontrol-0.5.0.1391 test/damagecontrol/visitor/diff_persister_test.rb
damagecontrol-0.5.0.1392 test/damagecontrol/visitor/diff_persister_test.rb
damagecontrol-0.5.0.1393 test/damagecontrol/visitor/diff_persister_test.rb
damagecontrol-0.5.0.1404 test/damagecontrol/visitor/diff_persister_test.rb