Package translate :: Package convert :: Module test_po2txt

[hide private]
[frames] | no frames]

# Source Code for Module translate.convert.test_po2txt

     1  #!/usr/bin/env python
     2  # -*- coding: utf-8 -*-
     3
     4  from translate.convert import po2txt
     5  from translate.convert import test_convert
     6  from translate.misc import wStringIO
     7
     8 -class TestPO2Txt:
     9 -    def po2txt(self, posource, txttemplate=None):
    10          """helper that converts po source to txt source without requiring files"""
    11          inputfile = wStringIO.StringIO(posource)
    12          print inputfile.getvalue()
    13          outputfile = wStringIO.StringIO()
    14          if txttemplate:
    15              templatefile = wStringIO.StringIO(txttemplate)
    16          else:
    17              templatefile = None
    18          assert po2txt.converttxt(inputfile, outputfile, templatefile)
    19          print outputfile.getvalue()
    20          return outputfile.getvalue()
    21
    22 -    def test_basic(self):
    23          """test basic conversion"""
    24          txttemplate = "Heading\n\nBody text"
    25          posource = 'msgid "Heading"\nmsgstr "Opskrif"\n\nmsgid "Body text"\nmsgstr "Lyfteks"\n'
    26          assert self.po2txt(posource, txttemplate) == "Opskrif\n\nLyfteks"
    27
    28 -    def test_nonascii(self):
    29          """test conversion with non-ascii text"""
    30          txttemplate = "Heading\n\nFile content"
    31          posource = 'msgid "Heading"\nmsgstr "Opskrif"\n\nmsgid "File content"\nmsgstr "Lêerinhoud"\n'
    32          assert self.po2txt(posource, txttemplate) == "Opskrif\n\nLêerinhoud"
    33
    34 -    def test_blank_handling(self):
    35          """check that we discard blank messages"""
    36          txttemplate = "Heading\n\nBody text"
    37          posource = 'msgid "Heading"\nmsgstr "Opskrif"\n\nmsgid "Body text"\nmsgstr ""\n'
    38          assert self.po2txt(posource) == "Opskrif\n\nBody text"
    39          assert self.po2txt(posource, txttemplate) == "Opskrif\n\nBody text"
    40
    41 -    def test_fuzzy_handling(self):
    42          """check that we handle fuzzy message correctly"""
    43          txttemplate = "Heading\n\nBody text"
    44          posource = '#, fuzzy\nmsgid "Heading"\nmsgstr "Opskrif"\n\nmsgid "Body text"\nmsgstr "Lyfteks"\n'
    45          assert self.po2txt(posource) == "Heading\n\nLyfteks"
    46          assert self.po2txt(posource, txttemplate) == "Heading\n\nLyfteks"
    47
    48 -class TestPO2TxtCommand(test_convert.TestConvertCommand, TestPO2Txt):
    49      """Tests running actual po2txt commands on files"""
    50      convertmodule = po2txt
    51      defaultoptions = {"progress": "none"}
    52
    53 -    def test_help(self):
    54          """tests getting help"""
    55          options = test_convert.TestConvertCommand.test_help(self)
    56          options = self.help_check(options, "-t TEMPLATE, --template=TEMPLATE")
    57          options = self.help_check(options, "--fuzzy")
    58          options = self.help_check(options, "--nofuzzy")
    59          options = self.help_check(options, "--encoding")
    60          options = self.help_check(options, "-w WRAP, --wrap=WRAP", last=True)
    61