brew/Library/Homebrew/test/test_patches.rb
Jack Nagel 93f8c71e21 tests: clean up whitespace
Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-07-04 22:47:34 -05:00

89 lines
2.0 KiB
Ruby

require 'testing_env'
require 'test/testball'
require 'set'
# Expose some internals
class Patches
attr_reader :patches
end
class Patch
attr_reader :patch_p
attr_reader :patch_filename
end
class PatchingTests < Test::Unit::TestCase
def test_patchSingleString
patches = Patches.new("http://example.com/patch.diff")
assert_equal 1, patches.patches.length
p = patches.patches[0]
assert_equal :p1, p.patch_p
end
def test_patchArray
patches = Patches.new(["http://example.com/patch1.diff", "http://example.com/patch2.diff"])
assert_equal 2, patches.patches.length
p1 = patches.patches[0]
assert_equal :p1, p1.patch_p
p2 = patches.patches[0]
assert_equal :p1, p2.patch_p
end
def test_p0_hash_to_string
patches = Patches.new({
:p0 => "http://example.com/patch.diff"
})
assert_equal 1, patches.patches.length
p = patches.patches[0]
assert_equal :p0, p.patch_p
end
def test_p1_hash_to_string
patches = Patches.new({
:p1 => "http://example.com/patch.diff"
})
assert_equal 1, patches.patches.length
p = patches.patches[0]
assert_equal :p1, p.patch_p
end
def test_mixed_hash_to_strings
expected = {
:p1 => "http://example.com/patch1.diff",
:p0 => "http://example.com/patch0.diff"
}
patches = Patches.new(expected)
assert_equal 2, patches.patches.length
# Make sure unique filenames were assigned
filenames = Set.new
patches.each do |p|
filenames << p.patch_filename
end
assert_equal 2, filenames.size
end
def test_mixed_hash_to_arrays
expected = {
:p1 => ["http://example.com/patch10.diff","http://example.com/patch11.diff"],
:p0 => ["http://example.com/patch00.diff","http://example.com/patch01.diff"]
}
patches = Patches.new(expected)
assert_equal 4, patches.patches.length
# Make sure unique filenames were assigned
filenames = Set.new
patches.each do |p|
filenames << p.patch_filename
end
assert_equal 4, filenames.size
end
end