aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/test_patch.rb
diff options
context:
space:
mode:
authorJack Nagel2014-03-13 19:51:23 -0500
committerJack Nagel2014-03-13 21:35:41 -0500
commitdf6fc206559060b72a29462b674279231a12509c (patch)
tree7e448423e0b485ec24fcb677b8bf35cf4a2714e7 /Library/Homebrew/test/test_patch.rb
parentee354c9e194069d8e7a92df1cd941b857ee01b38 (diff)
downloadhomebrew-df6fc206559060b72a29462b674279231a12509c.tar.bz2
Enable new patch implementation with compatibility layer
Diffstat (limited to 'Library/Homebrew/test/test_patch.rb')
-rw-r--r--Library/Homebrew/test/test_patch.rb63
1 files changed, 63 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_patch.rb b/Library/Homebrew/test/test_patch.rb
index 1cc1ac7af..9056e8371 100644
--- a/Library/Homebrew/test/test_patch.rb
+++ b/Library/Homebrew/test/test_patch.rb
@@ -50,3 +50,66 @@ class PatchTests < Test::Unit::TestCase
assert_raises(ArgumentError) { Patch.create(Object.new) }
end
end
+
+class LegacyPatchTests < Test::Unit::TestCase
+ def test_patch_single_string
+ patches = Patch.normalize_legacy_patches("http://example.com/patch.diff")
+ assert_equal 1, patches.length
+ assert_equal :p1, patches.first.strip
+ end
+
+ def test_patch_array
+ patches = Patch.normalize_legacy_patches(
+ %w{http://example.com/patch1.diff http://example.com/patch2.diff}
+ )
+
+ assert_equal 2, patches.length
+ assert_equal :p1, patches[0].strip
+ assert_equal :p1, patches[1].strip
+ end
+
+ def test_p0_hash_to_string
+ patches = Patch.normalize_legacy_patches(
+ :p0 => "http://example.com/patch.diff"
+ )
+
+ assert_equal 1, patches.length
+ assert_equal :p0, patches.first.strip
+ end
+
+ def test_p1_hash_to_string
+ patches = Patch.normalize_legacy_patches(
+ :p1 => "http://example.com/patch.diff"
+ )
+
+ assert_equal 1, patches.length
+ assert_equal :p1, patches.first.strip
+ end
+
+ def test_mixed_hash_to_strings
+ patches = Patch.normalize_legacy_patches(
+ :p1 => "http://example.com/patch1.diff",
+ :p0 => "http://example.com/patch0.diff"
+ )
+ assert_equal 2, patches.length
+ assert_equal 1, patches.select { |p| p.strip == :p0 }.length
+ assert_equal 1, patches.select { |p| p.strip == :p1 }.length
+ end
+
+ def test_mixed_hash_to_arrays
+ patches = Patch.normalize_legacy_patches(
+ :p1 => ["http://example.com/patch10.diff",
+ "http://example.com/patch11.diff"],
+ :p0 => ["http://example.com/patch00.diff",
+ "http://example.com/patch01.diff"]
+ )
+
+ assert_equal 4, patches.length
+ assert_equal 2, patches.select { |p| p.strip == :p0 }.length
+ assert_equal 2, patches.select { |p| p.strip == :p1 }.length
+ end
+
+ def test_nil
+ assert_empty Patch.normalize_legacy_patches(nil)
+ end
+end