Exemple #1
0
 def test_mod_char_first(self):
     with self.assertRaisesRegexp(Exception, 'modifier characters must appear after a base character'):
         ipa.process_chars(['\''])
     with self.assertRaisesRegexp(Exception, 'modifier characters must appear after a base character'):
         ipa.process_chars(['='])
     with self.assertRaisesRegexp(Exception, 'modifier characters must appear after a base character'):
         ipa.process_chars(['`'])
     with self.assertRaisesRegexp(Exception, 'modifier characters must appear after a base character'):
         ipa.process_chars(['~'])
Exemple #2
0
    def test_single_chars_with_modifiers(self):
        self.assertEqual(ipa.process_chars(['a', '\'']), [Seg('a', ['\''])])
        self.assertEqual(ipa.process_chars(['a', '=']), [Seg('a', ['='])])
        self.assertEqual(ipa.process_chars(['a', '`']), [Seg('a', ['`'])])
        self.assertEqual(ipa.process_chars(['a', '~']), [Seg('a', ['~'])])

        self.assertEqual(ipa.process_chars(['a', '_', 'G']), [Seg('a', ['G'])])
        self.assertEqual(ipa.process_chars(['a', '_', '=']), [Seg('a', ['='])])
        self.assertEqual(ipa.process_chars(['a', '_', 'H', '_', 'T']), [Seg('a', ['H', 'T'])])
Exemple #3
0
 def test_long_sequences(self):
     seq = ['r\\', '_', 'G', '\'', 'a', 'a', '~']
     expected = [Seg('r\\', ['G', '\'']), Seg('a'), Seg('a', ['~'])]
     self.assertEqual(ipa.process_chars(seq), expected)
Exemple #4
0
 def test_equivalent_chars(self):
     self.assertEqual(ipa.process_chars(['P']), [Seg('v\\')])
     self.assertEqual(ipa.process_chars(['v\\']), [Seg('v\\')])
     self.assertEqual(ipa.process_chars(['a', '_', 'j']), [Seg('a', ['\''])])
     self.assertEqual(ipa.process_chars(['a', '\'']), [Seg('a', ['\''])])
Exemple #5
0
 def test_simple_char(self):
     self.assertEqual(ipa.process_chars(['a']), [Seg('a')])
     self.assertEqual(ipa.process_chars(['T']), [Seg('T')])
     self.assertEqual(ipa.process_chars(['6']), [Seg('6')])
     self.assertEqual(ipa.process_chars(['@']), [Seg('@')])
Exemple #6
0
 def test_underscores_in_wrong_positions(self):
     with self.assertRaisesRegexp(Exception, 'underscore characters must appear after a base character'):
         ipa.process_chars(['_'])
     with self.assertRaisesRegexp(Exception, 'underscore characters must appear after a base character'):
         ipa.process_chars(['_', '_'])
     with self.assertRaisesRegexp(Exception, 'two underscore characters cannot appear next to each other'):
         ipa.process_chars(['a', '_', '_'])
     with self.assertRaisesRegexp(Exception, 'dangling modifier character'):
         ipa.process_chars(['a', '_'])
     with self.assertRaisesRegexp(Exception, 'two underscore characters cannot appear next to each other'):
         ipa.process_chars(['a', '_', '_', 'a'])
     with self.assertRaisesRegexp(Exception, 'underscore characters must appear after a base character'):
         ipa.process_chars(['_', '_', 'a'])