Package translate :: Package convert :: Module test_mozfunny2prop
[hide private]
[frames] | no frames]

Source Code for Module translate.convert.test_mozfunny2prop

 1  #!/usr/bin/env python 
 2  # -*- coding: utf-8 -*- 
 3   
 4  from translate.convert import mozfunny2prop 
 5  from translate.misc import wStringIO 
 6  from translate.storage import po 
 7   
8 -class TestInc2PO:
9 - def inc2po(self, incsource, inctemplate=None):
10 """helper that converts .inc source to po source without requiring files""" 11 inputfile = wStringIO.StringIO(incsource) 12 if inctemplate: 13 templatefile = wStringIO.StringIO(inctemplate) 14 else: 15 templatefile = None 16 outputfile = wStringIO.StringIO() 17 result = mozfunny2prop.inc2po(inputfile, outputfile, templatefile) 18 outputpo = outputfile.getvalue() 19 outputpofile = po.pofile(wStringIO.StringIO(outputpo)) 20 return outputpofile
21
22 - def singleelement(self, pofile):
23 """checks that the pofile contains a single non-header element, and returns it""" 24 assert len(pofile.units) == 2 25 assert pofile.units[0].isheader() 26 print pofile 27 return pofile.units[1]
28
29 - def countelements(self, pofile):
30 """counts the number of non-header entries""" 31 assert pofile.units[0].isheader() 32 print pofile 33 return len(pofile.units) - 1
34
35 - def test_simpleentry(self):
36 """checks that a simple inc entry converts properly to a po entry""" 37 incsource = '#define MOZ_LANGPACK_CREATOR mozilla.org\n' 38 pofile = self.inc2po(incsource) 39 pounit = self.singleelement(pofile) 40 assert pounit.getlocations() == ["MOZ_LANGPACK_CREATOR"] 41 assert pounit.source == "mozilla.org" 42 assert pounit.target == ""
43
45 """checks that the contributors entry is automatically uncommented""" 46 incsource = '''# If non-English locales wish to credit multiple contributors, uncomment this 47 # variable definition and use the format specified. 48 # #define MOZ_LANGPACK_CONTRIBUTORS <em:contributor>Joe Solon</em:contributor> <em:contributor>Suzy Solon</em:contributor>''' 49 pofile = self.inc2po(incsource) 50 pounit = self.singleelement(pofile) 51 assert pounit.getlocations() == ["MOZ_LANGPACK_CONTRIBUTORS"] 52 assert "Joe Solon" in pounit.source
53