53 lines
1.3 KiB
Ruby
53 lines
1.3 KiB
Ruby
|
#!/usr/bin/env ruby
|
||
|
|
||
|
$VERBOSE = true
|
||
|
|
||
|
$: << "../lib"
|
||
|
|
||
|
require 'test/unit'
|
||
|
require 'zip/stdrubyext'
|
||
|
|
||
|
class ModuleTest < Test::Unit::TestCase
|
||
|
|
||
|
def test_select_map
|
||
|
assert_equal([2, 4, 8, 10], [1, 2, 3, 4, 5].select_map { |e| e == 3 ? nil : 2*e })
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|
||
|
class StringExtensionsTest < Test::Unit::TestCase
|
||
|
|
||
|
def test_starts_with
|
||
|
assert("hello".starts_with(""))
|
||
|
assert("hello".starts_with("h"))
|
||
|
assert("hello".starts_with("he"))
|
||
|
assert(! "hello".starts_with("hello there"))
|
||
|
assert(! "hello".starts_with(" he"))
|
||
|
|
||
|
assert_raise(TypeError, "type mismatch: NilClass given") {
|
||
|
"hello".starts_with(nil)
|
||
|
}
|
||
|
end
|
||
|
|
||
|
def test_ends_with
|
||
|
assert("hello".ends_with("o"))
|
||
|
assert("hello".ends_with("lo"))
|
||
|
assert("hello".ends_with("hello"))
|
||
|
assert(!"howdy".ends_with("o"))
|
||
|
assert(!"howdy".ends_with("oy"))
|
||
|
assert(!"howdy".ends_with("howdy doody"))
|
||
|
assert(!"howdy".ends_with("doody howdy"))
|
||
|
end
|
||
|
|
||
|
def test_ensure_end
|
||
|
assert_equal("hello!", "hello!".ensure_end("!"))
|
||
|
assert_equal("hello!", "hello!".ensure_end("o!"))
|
||
|
assert_equal("hello!", "hello".ensure_end("!"))
|
||
|
assert_equal("hello!", "hel".ensure_end("lo!"))
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Copyright (C) 2002, 2003 Thomas Sondergaard
|
||
|
# rubyzip is free software; you can redistribute it and/or
|
||
|
# modify it under the terms of the ruby license.
|