#!/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.