~landscape/zope3/ztk-1.1.3

« back to all changes in this revision

Viewing changes to src/twisted/words/test/test_jabberjid.py

  • Committer: Andreas Hasenack
  • Date: 2009-07-20 17:49:16 UTC
  • Revision ID: andreas@canonical.com-20090720174916-g2tn6qmietz2hn0u
Revert twisted removal, it breaks several dozen tests [trivial]

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (c) 2001-2005 Twisted Matrix Laboratories.
 
2
# See LICENSE for details.
 
3
 
 
4
from twisted.trial import unittest
 
5
 
 
6
from twisted.words.protocols.jabber import jid
 
7
 
 
8
class JIDParsingTest(unittest.TestCase):
 
9
    def testParse(self):
 
10
        # Basic forms
 
11
        self.assertEquals(jid.parse("user@host/resource"),
 
12
                          ("user", "host", "resource"))
 
13
        self.assertEquals(jid.parse("user@host"),
 
14
                          ("user", "host", None))
 
15
        self.assertEquals(jid.parse("host"),
 
16
                          (None, "host", None))
 
17
        self.assertEquals(jid.parse("host/resource"),
 
18
                          (None, "host", "resource"))
 
19
 
 
20
        # More interesting forms
 
21
        self.assertEquals(jid.parse("foo/bar@baz"),
 
22
                          (None, "foo", "bar@baz"))
 
23
        self.assertEquals(jid.parse("boo@foo/bar@baz"),
 
24
                          ("boo", "foo", "bar@baz"))
 
25
        self.assertEquals(jid.parse("boo@foo/bar/baz"),
 
26
                          ("boo", "foo", "bar/baz"))
 
27
        self.assertEquals(jid.parse("boo/foo@bar@baz"),
 
28
                          (None, "boo", "foo@bar@baz"))
 
29
        self.assertEquals(jid.parse("boo/foo/bar"),
 
30
                          (None, "boo", "foo/bar"))
 
31
        self.assertEquals(jid.parse("boo//foo"),
 
32
                          (None, "boo", "/foo"))
 
33
        
 
34
    def testInvalid(self):
 
35
        # No host
 
36
        try:
 
37
            jid.parse("user@")
 
38
            assert 0
 
39
        except jid.InvalidFormat:
 
40
            assert 1
 
41
 
 
42
        # Double @@
 
43
        try:
 
44
            jid.parse("user@@host")
 
45
            assert 0
 
46
        except jid.InvalidFormat:
 
47
            assert 1
 
48
 
 
49
        # Multiple @
 
50
        try:
 
51
            jid.parse("user@host@host")
 
52
            assert 0
 
53
        except jid.InvalidFormat:
 
54
            assert 1
 
55
 
 
56
    def testPrep(self):
 
57
        # case map of user
 
58
        self.assertEquals(jid.prep("UsEr", "host", "resource"),
 
59
                          ("user", "host", "resource"))
 
60
            
 
61
        # case map of host
 
62
        self.assertEquals(jid.prep("user", "hoST", "resource"),
 
63
                          ("user", "host", "resource"))
 
64
 
 
65
        # no case map of resource
 
66
        self.assertNotEquals(jid.prep("user", "host", "Resource"),
 
67
                             ("user", "host", "resource"))
 
68
 
 
69
class JIDClassTest(unittest.TestCase):
 
70
    def testBasic(self):
 
71
        j = jid.internJID("user@host")
 
72
        self.assertEquals(j.userhost(), "user@host")
 
73
        self.assertEquals(j.user, "user")
 
74
        self.assertEquals(j.host, "host")
 
75
        self.assertEquals(j.resource, None)
 
76
 
 
77
        j2 = jid.internJID("user@host")
 
78
        self.assertEquals(id(j), id(j2))
 
79
 
 
80
        j_uhj = j.userhostJID()
 
81
        self.assertEquals(id(j), id(j_uhj))