From ef5883c016d02059beff0f7c5711e54a35318b32 Mon Sep 17 00:00:00 2001 From: akira Date: Sat, 4 Oct 2003 04:02:16 +0000 Subject: * test/uri/* (6 files): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/uri/test_ftp.rb | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 test/uri/test_ftp.rb (limited to 'test/uri/test_ftp.rb') diff --git a/test/uri/test_ftp.rb b/test/uri/test_ftp.rb new file mode 100644 index 0000000000..123eb22e4a --- /dev/null +++ b/test/uri/test_ftp.rb @@ -0,0 +1,61 @@ +# +# $Id$ +# +# Copyright (c) 2001 akira yamada +# You can redistribute it and/or modify it under the same term as Ruby. +# + +require 'runit/testcase' +require 'runit/testsuite' +require 'runit/cui/testrunner' + +require 'uri/ftp' +module URI + class Generic + def to_ary + component_ary + end + end +end + +class TestFTP < RUNIT::TestCase + def setup + end + + def test_parse + url = URI.parse('ftp://user:pass@host.com/abc/def') + assert_kind_of(URI::FTP, url) + + exp = [ + 'ftp', + 'user:pass', 'host.com', URI::FTP.default_port, + '/abc/def', nil, + ] + ary = url.to_ary + assert_equal(exp, ary) + + assert_equal('user', url.user) + assert_equal('pass', url.password) + end + + def test_select + assert_equal(['ftp', 'a.b.c', 21], URI.parse('ftp://a.b.c/').select(:scheme, :host, :port)) + u = URI.parse('ftp://a.b.c/') + assert_equal(u.to_ary, u.select(*u.component)) + assert_exception(ArgumentError) do + u.select(:scheme, :host, :not_exist, :port) + end + end +end + +if $0 == __FILE__ + if ARGV.size == 0 + suite = TestFTP.suite + else + suite = RUNIT::TestSuite.new + ARGV.each do |testmethod| + suite.add_test(TestFTP.new(testmethod)) + end + end + RUNIT::CUI::TestRunner.run(suite) +end -- cgit v1.2.3