rscm 0.3.2 → 0.3.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/CHANGES CHANGED
@@ -1,5 +1,11 @@
1
1
  = RSCM Changelog
2
2
 
3
+ == Version 0.3.3
4
+
5
+ This release makes some test utilities more reusable.
6
+
7
+ * Added optional basedir parameter to assert_equal_with_diff
8
+
3
9
  == Version 0.3.2
4
10
 
5
11
  This is a bugfix release.
data/README CHANGED
@@ -1,4 +1,4 @@
1
- = RSCM - Ruby Source Control Management (0.3.2)
1
+ = RSCM - Ruby Source Control Management (0.3.3)
2
2
 
3
3
  RSCM is to SCM what DBI/JDBC/ODBC are to databases - an SCM-independent API for accessing different SCMs. The features are roughly:
4
4
 
data/Rakefile CHANGED
@@ -10,11 +10,11 @@ require 'meta_project'
10
10
 
11
11
  PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
12
12
  PKG_NAME = 'rscm'
13
- PKG_VERSION = '0.3.2' + PKG_BUILD
13
+ PKG_VERSION = '0.3.3' + PKG_BUILD
14
14
  PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
15
15
 
16
16
  desc "Default Task"
17
- task :default => [:gem]
17
+ task :default => [:test, :gem]
18
18
  #task :gem => [:test]
19
19
  task :test => [:starteam]
20
20
 
@@ -1,5 +1,6 @@
1
1
  require 'rscm/annotations'
2
2
  require 'rscm/path_converter'
3
+ require 'rscm/difftool'
3
4
  require 'rscm/logging'
4
5
  require 'rscm/better'
5
6
  require 'rscm/base'
@@ -0,0 +1,34 @@
1
+ require 'test/unit'
2
+ require 'rscm/tempdir'
3
+ require 'rscm/path_converter'
4
+ require 'rscm/difftool'
5
+
6
+ module RSCM
7
+ module Difftool
8
+ # assertion method that reports differences as diff.
9
+ # useful when comparing big strings
10
+ def assert_equal_with_diff(expected, actual, temp_basedir=File.dirname(__FILE__) + "/../../target")
11
+ diff(expected, actual, temp_basedir) do |diff_io|
12
+ diff_string = diff_io.read
13
+ assert_equal("", diff_string, diff_string)
14
+ end
15
+ end
16
+ module_function :assert_equal_with_diff
17
+
18
+ def diff(expected, actual, temp_basedir, &block)
19
+ dir = RSCM.new_temp_dir("diff", temp_basedir)
20
+
21
+ expected_file = "#{dir}/expected"
22
+ actual_file = "#{dir}/actual"
23
+ File.open(expected_file, "w") {|io| io.write(expected)}
24
+ File.open(actual_file, "w") {|io| io.write(actual)}
25
+
26
+ difftool = WINDOWS ? File.dirname(__FILE__) + "/../../bin/diff.exe" : "diff"
27
+ IO.popen("#{difftool} #{RSCM::PathConverter.filepath_to_nativepath(expected_file, false)} #{RSCM::PathConverter.filepath_to_nativepath(actual_file, false)}") do |io|
28
+ yield io
29
+ end
30
+ end
31
+ module_function :diff
32
+
33
+ end
34
+ end
@@ -1,10 +1,10 @@
1
1
  require 'fileutils'
2
2
 
3
3
  module RSCM
4
- def new_temp_dir(suffix="")
4
+ def new_temp_dir(suffix="", basedir=File.dirname(__FILE__) + "/../../target")
5
5
  identifier = identifier.to_s
6
6
  identifier.gsub!(/\(|:|\)/, '_')
7
- dir = File.dirname(__FILE__) + "/../../target/temp_#{identifier}_#{Time.new.to_i}#{suffix}"
7
+ dir = "#{basedir}/temp_#{identifier}_#{Time.new.to_i}#{suffix}"
8
8
  FileUtils.mkdir_p(dir)
9
9
  dir
10
10
  end
@@ -0,0 +1,21 @@
1
+ require 'test/unit'
2
+ require 'rscm/tempdir'
3
+ require 'rscm/difftool'
4
+ require 'rscm/path_converter'
5
+
6
+ module RSCM
7
+
8
+ class DifftoolTest < Test::Unit::TestCase
9
+ include Difftool
10
+
11
+ def test_diffing_fails_with_diff_when_different
12
+ assert_raises(Test::Unit::AssertionFailedError) {
13
+ assert_equal_with_diff("This is a\nmessage with\nsome text", "This is a\nmessage without\nsome text")
14
+ }
15
+ end
16
+
17
+ def test_diffing_passes_with_diff_when_equal
18
+ assert_equal_with_diff("This is a\nmessage with\nsome text", "This is a\nmessage with\nsome text")
19
+ end
20
+ end
21
+ end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: rscm
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.3.2
7
- date: 2005-09-06 00:00:00 -04:00
6
+ version: 0.3.3
7
+ date: 2005-09-07 00:00:00 -04:00
8
8
  summary: "RSCM - Ruby Source Control Management"
9
9
  require_paths:
10
10
  - lib
@@ -38,7 +38,7 @@ files:
38
38
  - lib/rscm/annotations.rb
39
39
  - lib/rscm/base.rb
40
40
  - lib/rscm/better.rb
41
- - lib/rscm/difftool_test.rb
41
+ - lib/rscm/difftool.rb
42
42
  - lib/rscm/line_editor.rb
43
43
  - lib/rscm/logging.rb
44
44
  - lib/rscm/mockit.rb
@@ -68,6 +68,7 @@ files:
68
68
  - test/rscm/annotations_test.rb
69
69
  - test/rscm/apply_label_scm_tests.rb
70
70
  - test/rscm/base_test.rb
71
+ - test/rscm/difftool_test.rb
71
72
  - test/rscm/file_after_edit
72
73
  - test/rscm/file_ext.rb
73
74
  - test/rscm/file_to_edit
@@ -1,46 +0,0 @@
1
- require 'test/unit'
2
- require 'rscm/tempdir'
3
- require 'rscm/path_converter'
4
-
5
- module Test
6
- module Unit
7
- class TestCase
8
- # assertion method that reports differences as diff.
9
- # useful when comparing big strings
10
- def assert_equal_with_diff(expected, actual)
11
- diff(expected, actual) do |diff_io|
12
- diff_string = diff_io.read
13
- assert_equal("", diff_string, diff_string)
14
- end
15
- end
16
-
17
- def diff(expected, actual, &block)
18
- dir = RSCM.new_temp_dir("diff")
19
-
20
- expected_file = "#{dir}/expected"
21
- actual_file = "#{dir}/actual"
22
- File.open(expected_file, "w") {|io| io.write(expected)}
23
- File.open(actual_file, "w") {|io| io.write(actual)}
24
-
25
- difftool = WINDOWS ? File.dirname(__FILE__) + "/../../bin/diff.exe" : "diff"
26
- IO.popen("#{difftool} #{RSCM::PathConverter.filepath_to_nativepath(expected_file, false)} #{RSCM::PathConverter.filepath_to_nativepath(actual_file, false)}") do |io|
27
- yield io
28
- end
29
- end
30
- end
31
- end
32
- end
33
-
34
- module RSCM
35
- class DifftoolTest < Test::Unit::TestCase
36
- def test_diffing_fails_with_diff_when_different
37
- assert_raises(Test::Unit::AssertionFailedError) {
38
- assert_equal_with_diff("This is a\nmessage with\nsome text", "This is a\nmessage without\nsome text")
39
- }
40
- end
41
-
42
- def test_diffing_passes_with_diff_when_equal
43
- assert_equal_with_diff("This is a\nmessage with\nsome text", "This is a\nmessage with\nsome text")
44
- end
45
- end
46
- end