summaryrefslogtreecommitdiffstats
path: root/vendor/gems/ruby-openid-2.1.4/test/test_xri.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gems/ruby-openid-2.1.4/test/test_xri.rb')
-rw-r--r--vendor/gems/ruby-openid-2.1.4/test/test_xri.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/vendor/gems/ruby-openid-2.1.4/test/test_xri.rb b/vendor/gems/ruby-openid-2.1.4/test/test_xri.rb
new file mode 100644
index 000000000..ba20e9c4b
--- /dev/null
+++ b/vendor/gems/ruby-openid-2.1.4/test/test_xri.rb
@@ -0,0 +1,48 @@
+require 'test/unit'
+require 'openid/yadis/xri'
+
+module OpenID
+
+ module Yadis
+
+ class XriDiscoveryTestCase < Test::Unit::TestCase
+
+ def test_isXRI?
+ assert_equal(:xri, XRI.identifier_scheme('=john.smith'))
+ assert_equal(:xri, XRI.identifier_scheme('@smiths/john'))
+ assert_equal(:xri, XRI.identifier_scheme('xri://=john'))
+ assert_equal(:xri, XRI.identifier_scheme('@ootao*test1'))
+ assert_equal(:uri, XRI.identifier_scheme('smoker.myopenid.com'))
+ assert_equal(:uri, XRI.identifier_scheme('http://smoker.myopenid.com'))
+ assert_equal(:uri, XRI.identifier_scheme('https://smoker.myopenid.com'))
+ end
+ end
+
+ class XriEscapingTestCase < Test::Unit::TestCase
+ def test_escaping_percents
+ assert_equal('@example/abc%252Fd/ef',
+ XRI.escape_for_iri('@example/abc%2Fd/ef'))
+ end
+
+ def test_escaping_xref
+ # no escapes
+ assert_equal('@example/foo/(@bar)',
+ XRI.escape_for_iri('@example/foo/(@bar)'))
+ # escape slashes
+ assert_equal('@example/foo/(@bar%2Fbaz)',
+ XRI.escape_for_iri('@example/foo/(@bar/baz)'))
+ # escape query ? and fragment #
+ assert_equal('@example/foo/(@baz%3Fp=q%23r)?i=j#k',
+ XRI.escape_for_iri('@example/foo/(@baz?p=q#r)?i=j#k'))
+ end
+ end
+
+ class XriTransformationTestCase < Test::Unit::TestCase
+ def test_to_iri_normal
+ assert_equal('xri://@example', XRI.to_iri_normal('@example'))
+ end
+ # iri_to_url:
+ # various ucschar to hex
+ end
+ end
+end