[pypy-svn] r12769 - pypy/branch/pycompiler/module/recparser/test
adim at codespeak.net
adim at codespeak.net
Tue May 24 15:17:52 CEST 2005
Author: adim
Date: Tue May 24 15:17:52 2005
New Revision: 12769
Modified:
pypy/branch/pycompiler/module/recparser/test/test_pytokenizer.py
Log:
had problems to run py.test on the TestSuite class.
problems disappear when using functions rather than methods
Modified: pypy/branch/pycompiler/module/recparser/test/test_pytokenizer.py
==============================================================================
--- pypy/branch/pycompiler/module/recparser/test/test_pytokenizer.py (original)
+++ pypy/branch/pycompiler/module/recparser/test/test_pytokenizer.py Tue May 24 15:17:52 2005
@@ -11,69 +11,69 @@
tokens.append((last_token, value))
return tokens
-class TestSuite:
- """Tokenizer test suite"""
- PUNCTS = [
- # Here should be listed each existing punctuation
- '>=', '<>', '!=', '<', '>', '<=', '==', '*=',
- '//=', '%=', '^=', '<<=', '**=', '|=',
- '+=', '>>=', '=', '&=', '/=', '-=', ',', '^',
- '>>', '&', '+', '*', '-', '/', '.', '**',
- '%', '<<', '//', '|', ')', '(', ';', ':',
- '@', '[', ']', '`', '{', '}',
- ]
-
- NUMBERS = [
- # Here should be listed each different form of number
- '1', '1.23', '1.', '0',
- '1L', '1l',
- '0x12L', '0x12l', '0X12', '0x12',
- '1j', '1J',
- '1e2', '1.2e4',
- '0.1', '0.', '0.12', '.2',
- ]
-
- BAD_NUMBERS = [
- 'j', '0xg', '0xj', '0xJ',
- ]
-
- def test_empty_string(self):
- """make sure defined regexps don't match empty string"""
- rgxes = {'numbers' : py_number,
- 'defsym' : g_symdef,
- 'strings' : g_string,
- 'names' : py_name,
- 'punct' : py_punct,
- }
- for label, rgx in rgxes.items():
- assert rgx.match('') is None, '%s matches empty string' % label
-
- def test_several_lines_list(self):
- """tests list definition on several lines"""
- s = """['a'
- ]"""
- tokens = parse_source(s)
- assert tokens == [('[', None), ('STRING', "'a'"), (']', None),
- ('NEWLINE', ''), ('ENDMARKER', None)]
-
- def test_numbers(self):
- """make sure all kind of numbers are correctly parsed"""
- for number in self.NUMBERS:
- assert parse_source(number)[0] == ('NUMBER', number)
- neg = '-%s' % number
- assert parse_source(neg)[:2] == [('-', None), ('NUMBER', number)]
- for number in self.BAD_NUMBERS:
- assert parse_source(number)[0] != ('NUMBER', number)
-
- def test_hex_number(self):
- """basic pasrse"""
- tokens = parse_source("a = 0x12L")
- assert tokens == [('NAME', 'a'), ('=', None), ('NUMBER', '0x12L'),
- ('NEWLINE', ''), ('ENDMARKER', None)]
-
- def test_punct(self):
- """make sure each punctuation is correctly parsed"""
- for pstr in self.PUNCTS:
- tokens = parse_source(pstr)
- assert tokens[0][0] == pstr
+## class TestSuite:
+## """Tokenizer test suite"""
+PUNCTS = [
+ # Here should be listed each existing punctuation
+ '>=', '<>', '!=', '<', '>', '<=', '==', '*=',
+ '//=', '%=', '^=', '<<=', '**=', '|=',
+ '+=', '>>=', '=', '&=', '/=', '-=', ',', '^',
+ '>>', '&', '+', '*', '-', '/', '.', '**',
+ '%', '<<', '//', '|', ')', '(', ';', ':',
+ '@', '[', ']', '`', '{', '}',
+ ]
+
+NUMBERS = [
+ # Here should be listed each different form of number
+ '1', '1.23', '1.', '0',
+ '1L', '1l',
+ '0x12L', '0x12l', '0X12', '0x12',
+ '1j', '1J',
+ '1e2', '1.2e4',
+ '0.1', '0.', '0.12', '.2',
+ ]
+
+BAD_NUMBERS = [
+ 'j', '0xg', '0xj', '0xJ',
+ ]
+
+def test_empty_string():
+ """make sure defined regexps don't match empty string"""
+ rgxes = {'numbers' : py_number,
+ 'defsym' : g_symdef,
+ 'strings' : g_string,
+ 'names' : py_name,
+ 'punct' : py_punct,
+ }
+ for label, rgx in rgxes.items():
+ assert rgx.match('') is None, '%s matches empty string' % label
+
+def test_several_lines_list():
+ """tests list definition on several lines"""
+ s = """['a'
+ ]"""
+ tokens = parse_source(s)
+ assert tokens == [('[', None), ('STRING', "'a'"), (']', None),
+ ('NEWLINE', ''), ('ENDMARKER', None)]
+
+def test_numbers():
+ """make sure all kind of numbers are correctly parsed"""
+ for number in NUMBERS:
+ assert parse_source(number)[0] == ('NUMBER', number)
+ neg = '-%s' % number
+ assert parse_source(neg)[:2] == [('-', None), ('NUMBER', number)]
+ for number in BAD_NUMBERS:
+ assert parse_source(number)[0] != ('NUMBER', number)
+
+def test_hex_number():
+ """basic pasrse"""
+ tokens = parse_source("a = 0x12L")
+ assert tokens == [('NAME', 'a'), ('=', None), ('NUMBER', '0x12L'),
+ ('NEWLINE', ''), ('ENDMARKER', None)]
+
+def test_punct():
+ """make sure each punctuation is correctly parsed"""
+ for pstr in PUNCTS:
+ tokens = parse_source(pstr)
+ assert tokens[0][0] == pstr
More information about the Pypy-commit
mailing list