1
2 from unittest import TestCase
3 from yadis import xri
4
7 i = xri.identifierScheme
8 self.failUnlessEqual(i('=john.smith'), 'XRI')
9 self.failUnlessEqual(i('@smiths/john'), 'XRI')
10 self.failUnlessEqual(i('smoker.myopenid.com'), 'URI')
11 self.failUnlessEqual(i('xri://=john'), 'XRI')
12
13
16 self.failUnlessEqual(xri.escapeForIRI('@example/abc%2Fd/ef'),
17 '@example/abc%252Fd/ef')
18
19
21
22 esc = xri.escapeForIRI
23 self.failUnlessEqual('@example/foo/(@bar)', esc('@example/foo/(@bar)'))
24
25 self.failUnlessEqual('@example/foo/(@bar%2Fbaz)',
26 esc('@example/foo/(@bar/baz)'))
27 self.failUnlessEqual('@example/foo/(@bar%2Fbaz)/(+a%2Fb)',
28 esc('@example/foo/(@bar/baz)/(+a/b)'))
29
30 self.failUnlessEqual('@example/foo/(@baz%3Fp=q%23r)?i=j#k',
31 esc('@example/foo/(@baz?p=q#r)?i=j#k'))
32
33
34
52
53
54
56 providerIsAuthoritativeCases = [
57
58 ('=', '=!698.74D1.A1F2.86C7', True),
59 ('@!1234', '@!1234!ABCD', True),
60 ('@!1234!5678', '@!1234!5678!ABCD', True),
61 ('@!1234', '=!1234!ABCD', False),
62 ('@!1234', '@!1234!ABCD!9765', False),
63 ('@!1234!ABCD', '=!1234', False),
64 ('=!BABE', '=!D00D', False),
65 ]
66
67
76
77
79 result = xri.providerIsAuthoritative(providerID, canonicalID)
80 self.failUnlessEqual(expected, result,
81 "%s providing %s, expected %s" % (providerID,
82 canonicalID,
83 expected))
84
85
86
88 xris = [
89 ("@foo", "@"),
90 ("@foo*bar", "@"),
91 ("@*foo*bar", "@"),
92 ("@foo/bar", "@"),
93 ("!!990!991", "!"),
94 ("!1001!02", "!"),
95 ("=foo*bar", "="),
96 ("(example.com)/foo", "(example.com)"),
97 ("(example.com)*bar/foo", "(example.com)"),
98 ("baz.example.com/foo", "baz.example.com"),
99 ("baz.example.com:8080/foo", "baz.example.com:8080"),
100
101
102
103
104
105 ]
106
107
112
113
114
115 if __name__ == '__main__':
116 import unittest
117 unittest.main()
118