use different sub-directories for databases of different indexing engines
[translate_toolkit.git] / misc / test_autoencode.py
blob1a5308e15e3234da139a575d0ed26222161f9ff1
1 #!/usr/bin/env python
3 from translate.misc import autoencode
4 from py import test
6 class TestAutoencode:
7 type2test = autoencode.autoencode
9 def test_default_encoding(self):
10 """tests that conversion to string uses the encoding attribute"""
11 s = self.type2test(u'unicode string', 'utf-8')
12 assert s.encoding == 'utf-8'
13 assert str(s) == 'unicode string'
14 s = self.type2test(u'\u20ac')
15 assert str(self.type2test(u'\u20ac', 'utf-8')) == '\xe2\x82\xac'
17 def test_uniqueness(self):
18 """tests constructor creates unique objects"""
19 s1 = unicode(u'unicode string')
20 s2 = unicode(u'unicode string')
21 assert s1 == s2
22 assert s1 is s2
23 s1 = self.type2test(u'unicode string', 'utf-8')
24 s2 = self.type2test(u'unicode string', 'ascii')
25 s3 = self.type2test(u'unicode string', 'utf-8')
26 assert s1 == s2 == s3
27 assert s1 is not s2
28 # even though all the attributes are the same, this is a mutable type
29 # so the objects created must be different
30 assert s1 is not s3
32 def test_bad_encoding(self):
33 """tests that we throw an exception if we don't know the encoding"""
34 assert test.raises(ValueError, self.type2test, 'text', 'some-encoding')