def test_SNM_invalid_highlight_range(self): snm = SNM('HIGHLIGHTEDTEXTIMPORTANT', highlights=((0, 11), (4, 24))) self.assertRaises(InvalidHighlightRange, snm.to_er7) snm = SNM('HIGHLIGHTEDTEXTIMPORTANT', highlights=((4, 24), (0, 11))) self.assertRaises(InvalidHighlightRange, snm.to_er7) snm = SNM('HIGHLIGHTEDTEXTIMPORTANT', highlights=((5, 11), (0, 11))) self.assertRaises(InvalidHighlightRange, snm.to_er7) snm = SNM('HIGHLIGHTEDTEXTIMPORTANT', highlights=((0, 11), (0, 4))) self.assertRaises(InvalidHighlightRange, snm.to_er7)
def test_SNM_truncation_escape(self): snm = SNM('#truncation#') self.assertEqual(snm.to_er7(), '\\L\\truncation\\L\\')
def test_SNM_repetition_escape(self): snm = SNM('~repetition~') self.assertEqual(snm.to_er7(), '\\R\\repetition\\R\\')
def test_SNM_highlights(self): snm = SNM('HIGHLIGHTEDTEXTIMPORTANT', highlights=((0, 11), (18, 24))) self.assertEqual(snm.to_er7(), '\\H\\HIGHLIGHTED\\N\\TEXTIMP\\H\\ORTANT\\N\\')
def test_SNM_component_escape(self): snm = SNM('^component^') self.assertEqual(snm.to_er7(), '\\S\\component\\S\\')
def test_SNM_subcomponent_escape(self): snm = SNM('&subcomponent&') self.assertEqual(snm.to_er7(), '\\T\\subcomponent\\T\\')
def test_SNM(self): text = 'This is a SNM datatype text' snm = SNM(text) self.assertEqual(snm.classname, 'SNM') self.assertEqual(snm.to_er7(), text)
def test_SNM_field_escaping(self): snm = SNM('|field|') self.assertEqual(snm.to_er7(), '\\F\\field\\F\\')