Example #1
0
    def test_strings_literals(self):
        src = '''\
s = "One"
t = (2, "Two")
f = dict(key="Three")
'''
        _, str_lines = export_pot._parse_source(src)
        self.assertEqual(str_lines, {"One": 1, "Two": 2, "Three": 3})
Example #2
0
    def test_strings_literals(self):
        src = '''\
s = "One"
t = (2, "Two")
f = dict(key="Three")
'''
        _, str_lines = export_pot._parse_source(src)
        self.assertEqual(str_lines,
            {"One": 1, "Two": 2, "Three": 3})
Example #3
0
    def test_classes_nested(self):
        src = '''
class Matroska(object):
    class Smaller(object):
        class Smallest(object):
            pass
'''
        cls_lines, _ = export_pot._parse_source(src)
        self.assertEqual(cls_lines,
            {"Matroska": 2, "Smaller": 3, "Smallest":4})
Example #4
0
    def test_classes(self):
        src = '''
class Ancient:
    """Old style class"""

class Modern(object):
    """New style class"""
'''
        cls_lines, _ = export_pot._parse_source(src)
        self.assertEqual(cls_lines, {"Ancient": 2, "Modern": 5})
Example #5
0
    def test_classes(self):
        src = '''
class Ancient:
    """Old style class"""

class Modern(object):
    """New style class"""
'''
        cls_lines, _ = export_pot._parse_source(src)
        self.assertEqual(cls_lines,
            {"Ancient": 2, "Modern": 5})
Example #6
0
    def test_classes_nested(self):
        src = '''
class Matroska(object):
    class Smaller(object):
        class Smallest(object):
            pass
'''
        cls_lines, _ = export_pot._parse_source(src)
        self.assertEqual(cls_lines, {
            "Matroska": 2,
            "Smaller": 3,
            "Smallest": 4
        })
Example #7
0
    def test_strings_multiline(self):
        src = '''\
"""Start

End
"""
t = (
    "A"
    "B"
    "C"
    )
'''
        _, str_lines = export_pot._parse_source(src)
        self.assertEqual(str_lines, {"Start\n\nEnd\n": 1, "ABC": 6})
Example #8
0
    def test_strings_multiline(self):
        src = '''\
"""Start

End
"""
t = (
    "A"
    "B"
    "C"
    )
'''
        _, str_lines = export_pot._parse_source(src)
        self.assertEqual(str_lines,
            {"Start\n\nEnd\n": 1, "ABC": 6})
Example #9
0
    def test_strings_docstrings(self):
        src = '''\
"""Module"""

def function():
    """Function"""

class Class(object):
    """Class"""

    def method(self):
        """Method"""
'''
        _, str_lines = export_pot._parse_source(src)
        self.assertEqual(str_lines,
            {"Module": 1, "Function": 4, "Class": 7, "Method": 10})
Example #10
0
    def test_strings_multiline_escapes(self):
        src = '''\
s = "Escaped\\n"
r = r"Raw\\n"
t = (
    "A\\n\\n"
    "B\\n\\n"
    "C\\n\\n"
    )
'''
        _, str_lines = export_pot._parse_source(src)
        self.expectFailure("Escaped newlines confuses the multiline handling",
            self.assertNotEqual, str_lines,
            {"Escaped\n": 0, "Raw\\n": 2, "A\n\nB\n\nC\n\n": -2})
        self.assertEqual(str_lines,
            {"Escaped\n": 1, "Raw\\n": 2, "A\n\nB\n\nC\n\n": 4})
Example #11
0
    def test_strings_docstrings(self):
        src = '''\
"""Module"""

def function():
    """Function"""

class Class(object):
    """Class"""

    def method(self):
        """Method"""
'''
        _, str_lines = export_pot._parse_source(src)
        self.assertEqual(str_lines, {
            "Module": 1,
            "Function": 4,
            "Class": 7,
            "Method": 10
        })
Example #12
0
    def test_strings_multiline_escapes(self):
        src = '''\
s = "Escaped\\n"
r = r"Raw\\n"
t = (
    "A\\n\\n"
    "B\\n\\n"
    "C\\n\\n"
    )
'''
        _, str_lines = export_pot._parse_source(src)
        self.expectFailure("Escaped newlines confuses the multiline handling",
                           self.assertNotEqual, str_lines, {
                               "Escaped\n": 0,
                               "Raw\\n": 2,
                               "A\n\nB\n\nC\n\n": -2
                           })
        self.assertEqual(str_lines, {
            "Escaped\n": 1,
            "Raw\\n": 2,
            "A\n\nB\n\nC\n\n": 4
        })