# # testing rufus-jig # # Sun Nov 8 11:57:39 JST 2009 # require File.join(File.dirname(__FILE__), 'base') class UtArgsTest < Test::Unit::TestCase def test_extract_args # [ http, path, payload, opts ] a = eh(false, 'http://127.0.0.1:5984') assert_equal '127.0.0.1', a[0].host assert_equal 5984, a[0].port assert_equal '/', a[1] assert_equal nil, a[2] assert_equal '{}', a[3].inspect a = eh(false, '127.0.0.1', 5984, '/') assert_equal '127.0.0.1', a[0].host assert_equal 5984, a[0].port assert_equal '/', a[1] assert_equal nil, a[2] assert_equal '{}', a[3].inspect a = eh(false, '127.0.0.1', 5984, '/', :option => true) assert_equal '127.0.0.1', a[0].host assert_equal 5984, a[0].port assert_equal '/', a[1] assert_equal nil, a[2] assert_equal '{:option=>true}', a[3].inspect end def test_payload_expected a = eh(true, 'http://127.0.0.1:5984', [ 1, 2, 3 ]) assert_equal '127.0.0.1', a[0].host assert_equal 5984, a[0].port assert_equal '/', a[1] assert_equal [ 1, 2, 3 ], a[2] assert_equal '{}', a[3].inspect assert_raise(ArgumentError) { eh(true, 'http://127.0.0.1:5984', :nada, [ 1, 2, 3 ]) } end def test_payload_is_a_hash a = eh(true, 'http://127.0.0.1:5984', { 'cheese' => 'burger' }) assert_equal '127.0.0.1', a[0].host assert_equal 5984, a[0].port assert_equal '/', a[1] assert_equal '{"cheese"=>"burger"}', a[2].inspect assert_equal '{}', a[3].inspect a = eh(true, 'http://127.0.0.1:5984', { 'cheese' => 'burger' }, { :cache => true }) assert_equal '127.0.0.1', a[0].host assert_equal 5984, a[0].port assert_equal '/', a[1] assert_equal '{"cheese"=>"burger"}', a[2].inspect assert_equal '{:cache=>true}', a[3].inspect end def test_with_http_instance h = Rufus::Jig::Http.new('127.0.0.1', 5984) a = eh(true, h, '/', { 'cheese' => 'burger' }) assert_equal '127.0.0.1', a[0].host assert_equal 5984, a[0].port assert_equal '/', a[1] assert_equal '{"cheese"=>"burger"}', a[2].inspect assert_equal '{}', a[3].inspect end protected def eh (pe, *args) Rufus::Jig::Http.extract_http(pe, *args) end end