require File.join(File.dirname(__FILE__), 'test_helper')
class UtilTest < Test::Unit::TestCase
context "Converting a string to a channel name" do
should "not convert it if it starts with #" do
assert_equal "#offrails", Marvin::Util.channel_name("#offrails")
end
should "append a # if not present" do
assert_equal "#offrails", Marvin::Util.channel_name("offrails")
end
should "also be available as chan" do
assert_equal "#offrails", Marvin::Util.chan("#offrails")
assert_equal "#offrails", Marvin::Util.chan("offrails")
end
end
context "Parsing arguments" do
should "parse 'a b c' as ['a', 'b', 'c']" do
assert_equal ['a', 'b', 'c'], Marvin::Util.arguments("a b c")
end
should "parse 'a b :c d' as ['a', 'b', 'c d']" do
assert_equal ['a', 'b', 'c d'], Marvin::Util.arguments("a b :c d")
end
should "parse 'a :b c :d e' as ['a', 'b c :d e']" do
assert_equal ['a', 'b c :d e'], Marvin::Util.arguments('a :b c :d e')
end
end
context "Preparing last parameters" do
should "prepend a :" do
assert_equal ':zomg ninjas', Marvin::Util.last_param('zomg ninjas')
assert_equal '::zomg ninjas', Marvin::Util.last_param(':zomg ninjas')
end
should "strip the input" do
assert_equal ':zomg ninjas', Marvin::Util.last_param(' zomg ninjas ')
end
should "be available as lp" do
assert_equal ':zomg ninjas', Marvin::Util.lp('zomg ninjas')
assert_equal '::zomg ninjas', Marvin::Util.lp(':zomg ninjas')
assert_equal ':zomg ninjas', Marvin::Util.lp(' zomg ninjas ')
end
end
end