Sha256: e42181adfcc41e75dde21fb1d4792c584cc1c7cbd4e958e44b8d0b57314134bf

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

require 'helper'
require 'dr/base/uri'

describe DR::URI::Wrapper do
	before do
		@uri=DR::URI::Wrapper.new(DR::URI::Escape.escape("http://ploum:secret@plam:443/foo bar"))
	end
	it "Wraps an uri element" do
		_(@uri.scheme).must_equal "http"
	end
	it "Auto escapes attribute" do
		_(@uri.path).must_equal "/foo bar"
	end
	it "Auto escape setting elements" do
		@uri.user="ploum plam"
		_(@uri.user).must_equal "ploum plam"
	end
	it "Can convert to a hash" do
		_(@uri.to_h[:user]).must_equal("ploum")
	end
	it "Can convert to json" do
		require 'json'
		_(@uri.to_json).must_equal("{\"uri\":\"http://ploum:secret@plam:443/foo%20bar\",\"scheme\":\"http\",\"userinfo\":\"ploum:secret\",\"host\":\"plam\",\"port\":443,\"path\":\"/foo bar\",\"user\":\"ploum\",\"password\":\"secret\"}")
	end
	it "Can remove password" do
		_(@uri.to_public).must_equal("http://ploum@plam:443/foo%20bar")
	end
	it "Can be merged" do
		_(@uri.soft_merge("foo://plim@").to_s).must_equal("foo://plim:secret@plam:443/foo%20bar")
	end
	it "Can be reverse merged" do
		_(DR::URI::Wrapper.parse("//user@server").reverse_merge(@uri).to_s).must_equal("http://user:secret@server:443/foo%20bar")
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
drain-0.7.0 test/test_uri.rb