예제 #1
0
 def test_letterOrDigit(self):
     """
     L{OMetaBase.rule_letterOrDigit} matches alphanumerics.
     """
     o = OMetaBase("a1@")
     v, e = o.rule_letterOrDigit()
     self.assertEqual((v, e), ("a", [0, None]))
     v, e = o.rule_letterOrDigit()
     self.assertEqual((v, e), ("1", [1, None]))
     e = self.assertRaises(ParseError, o.rule_letterOrDigit)
     self.assertEqual(e, ParseError(2, expected("letter or digit")))
예제 #2
0
 def test_letterOrDigit(self):
     """
     L{OMetaBase.rule_letterOrDigit} matches alphanumerics.
     """
     o = OMetaBase("a1@")
     v, e = o.rule_letterOrDigit()
     self.assertEqual((v, e), ("a", [0, None]))
     v, e = o.rule_letterOrDigit()
     self.assertEqual((v, e), ("1", [1, None]))
     e = self.assertRaises(ParseError, o.rule_letterOrDigit)
     self.assertEqual(e, ParseError(2, expected("letter or digit")))
예제 #3
0
 def test_letterOrDigit(self):
     """
     L{OMetaBase.rule_letterOrDigit} matches alphanumerics.
     """
     o = OMetaBase("a1@")
     v, e = o.rule_letterOrDigit()
     self.assertEqual((v, e), ("a", [0, None]))
     v, e = o.rule_letterOrDigit()
     self.assertEqual((v, e), ("1", [1, None]))
     try:
         o.rule_letterOrDigit()
     except _MaybeParseError, e:
         self.assertEqual(e, _MaybeParseError(2, expected("letter or digit")))
예제 #4
0
 def test_letterOrDigit(self):
     """
     L{OMetaBase.rule_letterOrDigit} matches alphanumerics.
     """
     o = OMetaBase("a1@")
     v, e = o.rule_letterOrDigit()
     self.assertEqual((v, e), ("a", [0, None]))
     v, e = o.rule_letterOrDigit()
     self.assertEqual((v, e), ("1", [1, None]))
     try:
         o.rule_letterOrDigit()
     except _MaybeParseError as e:
         self.assertEqual(e, _MaybeParseError(2, expected("letter or digit")))
     else:
         self.fail('_MaybeParseError not raised')
예제 #5
0
        self.assertEqual((v, e), ("a", [0, None]))
        v, e = o.rule_letterOrDigit()
        self.assertEqual((v, e), ("1", [1, None]))
        try:
            o.rule_letterOrDigit()
        except _MaybeParseError, e:
            self.assertEqual(e, _MaybeParseError(2, expected("letter or digit")))
        else:
            self.fail('_MaybeParseError not raised')
            
        # data = u"foo123!@£©™☺☹℅☐☑☒✓❍❖★☆€¥¢!¡?¿–_—·•%‰‱˚˛"
        data = u"fooåßæø1234¹²³⁴₀₁₂₃"
        o = OMetaBase(data)

        for i, c in enumerate(data):
            v, e = o.rule_letterOrDigit()
            self.assertEqual((c, i), (v, e[0]))

    def test_digit(self):
        """
        L{OMetaBase.rule_digit} matches digits.
        """
        o = OMetaBase("1a")
        v, e = o.rule_digit()
        self.assertEqual((v, e), ("1", [0, None]))
        try:
            o.rule_digit()
        except _MaybeParseError, e:
            self.assertEqual(e, _MaybeParseError(1, expected("digit")))
        else:
            self.fail('_MaybeParseError not raised')