Example #1
0
 def test_that_unknown_unicode_characters_raise_exception(self):
     # you know that Santa Clause character? Seriously, if you don't know it,
     # you should have a look. LaTeX does indeed not have command for this
     # (2016, one never knows)
     santa = chr(127877)
     with self.assertRaises(typesetting.DocumentSerializationException):
         typesetting.escape_unicode_maths(santa)
Example #2
0
 def test_that_mathmode_and_textmode_are_treated_differently(self):
     math = typesetting.escape_unicode_maths("ö")
     self.assertNotEqual(math, "ö")
     text = typesetting.escape_unicode_maths("\\text{ö}")
     self.assertFalse("ö" in text)
     # check whether characters got transcribed differently; it's enough to
     # check one character of the generated sequence, they should differ
     self.assertNotEqual(math[:2], text[6:8])
Example #3
0
 def test_that_all_characters_are_preserved_when_no_replacements_happen(
         self):
     text = "This is a \\text{test} mate."
     self.assertEqual(typesetting.escape_unicode_maths(text), text)
     self.assertEqual(
         typesetting.escape_unicode_maths(text,
                                          replace_alphabeticals=False),
         text)
     text = "But yeah but no" * 20 + ", oh my god!"
     self.assertEqual(typesetting.escape_unicode_maths(text), text)
     self.assertEqual(
         typesetting.escape_unicode_maths(text,
                                          replace_alphabeticals=False),
         text)
Example #4
0
    def test_that_everything_around_surrounded_character_is_preserved(self):
        text = "This is a \\text{über} test. ;)"
        result = typesetting.escape_unicode_maths(text,
                                                  replace_alphabeticals=True)
        ue_pos = text.index("ü")
        # text in front is unchanged
        self.assertEqual(result[:ue_pos], text[:ue_pos])
        # find b character, which is the start of the remaining string
        b_pos = result[ue_pos:].find("b") + ue_pos
        # check that text after umlaut matches
        self.assertEqual(result[b_pos:], text[ue_pos + 1:])

        text = "But yeah but no" * 20 + ", oh my god!ø"
        o_strok_pos = text.index("ø")
        res = typesetting.escape_unicode_maths(text)
        self.assertEqual(res[:o_strok_pos], text[:o_strok_pos])
Example #5
0
 def test_that_two_text_environments_preserve_all_characters(self):
     text = r"a\cdot b \text{equals} b\cdot c} \mbox{ is not equal } u^{v\cdot k}"
     self.assertEqual(typesetting.escape_unicode_maths(text), text)
Example #6
0
 def test_that_flag_to_preserve_alphas_is_passed_through(self):
     res = typesetting.escape_unicode_maths("\\text{ö}",
                                            replace_alphabeticals=False)
     self.assertEqual(res, "\\text{ö}")