diff options
author | tailor <cygnus@janrain.com> | 2006-08-18 21:08:17 +0000 |
---|---|---|
committer | tailor <cygnus@janrain.com> | 2006-08-18 21:08:17 +0000 |
commit | 0ca58555b2338cf12590b6e3d88cb66dd6202f9f (patch) | |
tree | d813f170395bc45d06565dc0491b062fb1ee7a2d | |
parent | 5db0ca07ba2c5cb958dff2c21a0996319ad4e54f (diff) | |
download | php-openid-0ca58555b2338cf12590b6e3d88cb66dd6202f9f.zip php-openid-0ca58555b2338cf12590b6e3d88cb66dd6202f9f.tar.gz php-openid-0ca58555b2338cf12590b6e3d88cb66dd6202f9f.tar.bz2 |
[project @ More XRDS tests]
-rw-r--r-- | Services/Yadis/XRI.php | 5 | ||||
-rw-r--r-- | Tests/Services/Yadis/XRDS.php | 4 | ||||
-rw-r--r-- | Tests/Services/Yadis/data/prefixsometimes.xrds | 34 | ||||
-rw-r--r-- | Tests/Services/Yadis/data/sometimesprefix.xrds | 34 |
4 files changed, 77 insertions, 0 deletions
diff --git a/Services/Yadis/XRI.php b/Services/Yadis/XRI.php index 6783fc0..6e58a03 100644 --- a/Services/Yadis/XRI.php +++ b/Services/Yadis/XRI.php @@ -136,6 +136,11 @@ function Services_Yadis_rootAuthority($xri) // Return the root authority for an XRI. $root = null; + + if (_startswith($xri, 'xri://')) { + $xri = substr($xri, 6); + } + $authority = explode('/', $xri, 2); $authority = $authority[0]; if ($authority[0] == '(') { diff --git a/Tests/Services/Yadis/XRDS.php b/Tests/Services/Yadis/XRDS.php index 44d34ab..f0bf90f 100644 --- a/Tests/Services/Yadis/XRDS.php +++ b/Tests/Services/Yadis/XRDS.php @@ -86,6 +86,10 @@ class Tests_Services_Yadis_XRDS extends PHPUnit_TestCase { "@!5BAD.2AA.3C72.AF46!0000.0000.3B9A.CA01"), array("@ootao*test1", "delegated-20060809-r2.xrds", "@!5BAD.2AA.3C72.AF46!0000.0000.3B9A.CA01"), + array("@ootao*test1", "sometimesprefix.xrds", + "@!5BAD.2AA.3C72.AF46!0000.0000.3B9A.CA01"), + array("@ootao*test1", "prefixsometimes.xrds", + "@!5BAD.2AA.3C72.AF46!0000.0000.3B9A.CA01"), array("=keturn*isDrummond", "spoof1.xrds", null), array("=keturn*isDrummond", "spoof2.xrds", null), array("@keturn*is*drummond", "spoof3.xrds", null), diff --git a/Tests/Services/Yadis/data/prefixsometimes.xrds b/Tests/Services/Yadis/data/prefixsometimes.xrds new file mode 100644 index 0000000..5522a6e --- /dev/null +++ b/Tests/Services/Yadis/data/prefixsometimes.xrds @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<XRDS ref="xri://@ootao*test1" xmlns="xri://$xrds"> + <XRD xmlns="xri://$xrd*($v*2.0)"> + <Query>*ootao</Query> + <Status code="100"/> + <Expires>2006-08-09T22:07:13.000Z</Expires> + <ProviderID>xri://@</ProviderID> + <LocalID priority="10">!5BAD.2AA.3C72.AF46</LocalID> + <CanonicalID priority="10">@!5BAD.2AA.3C72.AF46</CanonicalID> + <Service priority="10"> + <Type>xri://$res*auth*($v*2.0)</Type> + <ProviderID>xri://@!5BAD.2AA.3C72.AF46</ProviderID> + <MediaType>application/xrds+xml;trust=none</MediaType> + <URI priority="10">http://resolve.ezibroker.net/resolve/@ootao/</URI> + </Service> + <Service priority="10"> + <Type select="true">http://openid.net/signon/1.0</Type> + <ProviderID/> + <URI append="qxri" priority="1">https://linksafe.ezibroker.net/server/</URI> + </Service> + </XRD> + <XRD xmlns="xri://$xrd*($v*2.0)"> + <Query>*test1</Query> + <Status code="100">SUCCESS</Status> + <ProviderID>xri://@!5BAD.2AA.3C72.AF46</ProviderID> + <LocalID>!0000.0000.3B9A.CA01</LocalID> + <CanonicalID>xri://@!5BAD.2AA.3C72.AF46!0000.0000.3B9A.CA01</CanonicalID> + <Service> + <Type select="true">http://openid.net/signon/1.0</Type> + <ProviderID/> + <URI append="qxri" priority="1">https://linksafe.ezibroker.net/server/</URI> + </Service> + </XRD> +</XRDS> diff --git a/Tests/Services/Yadis/data/sometimesprefix.xrds b/Tests/Services/Yadis/data/sometimesprefix.xrds new file mode 100644 index 0000000..eff7555 --- /dev/null +++ b/Tests/Services/Yadis/data/sometimesprefix.xrds @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<XRDS ref="xri://@ootao*test1" xmlns="xri://$xrds"> + <XRD xmlns="xri://$xrd*($v*2.0)"> + <Query>*ootao</Query> + <Status code="100"/> + <Expires>2006-08-09T22:07:13.000Z</Expires> + <ProviderID>xri://@</ProviderID> + <LocalID priority="10">!5BAD.2AA.3C72.AF46</LocalID> + <CanonicalID priority="10">xri://@!5BAD.2AA.3C72.AF46</CanonicalID> + <Service priority="10"> + <Type>xri://$res*auth*($v*2.0)</Type> + <ProviderID>xri://@!5BAD.2AA.3C72.AF46</ProviderID> + <MediaType>application/xrds+xml;trust=none</MediaType> + <URI priority="10">http://resolve.ezibroker.net/resolve/@ootao/</URI> + </Service> + <Service priority="10"> + <Type select="true">http://openid.net/signon/1.0</Type> + <ProviderID/> + <URI append="qxri" priority="1">https://linksafe.ezibroker.net/server/</URI> + </Service> + </XRD> + <XRD xmlns="xri://$xrd*($v*2.0)"> + <Query>*test1</Query> + <Status code="100">SUCCESS</Status> + <ProviderID>xri://@!5BAD.2AA.3C72.AF46</ProviderID> + <LocalID>!0000.0000.3B9A.CA01</LocalID> + <CanonicalID>@!5BAD.2AA.3C72.AF46!0000.0000.3B9A.CA01</CanonicalID> + <Service> + <Type select="true">http://openid.net/signon/1.0</Type> + <ProviderID/> + <URI append="qxri" priority="1">https://linksafe.ezibroker.net/server/</URI> + </Service> + </XRD> +</XRDS> |