diff options
| author | Guido van Rossum <guido@python.org> | 1997-10-27 22:15:06 (GMT) | 
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 1997-10-27 22:15:06 (GMT) | 
| commit | 0874f7fdafe696f065e56e87616e32fc88f8e1f9 (patch) | |
| tree | 66dcf2f5af664f63ae9f628c14d92cd1a3ed661b /Lib/test/tokenize_tests.py | |
| parent | fefc922cef9d89bb6e3d12dc3d2f16e3f49d7250 (diff) | |
| download | cpython-0874f7fdafe696f065e56e87616e32fc88f8e1f9.zip cpython-0874f7fdafe696f065e56e87616e32fc88f8e1f9.tar.gz cpython-0874f7fdafe696f065e56e87616e32fc88f8e1f9.tar.bz2  | |
Tests for tokenize.py (Ka-Ping Yee)
Diffstat (limited to 'Lib/test/tokenize_tests.py')
| -rw-r--r-- | Lib/test/tokenize_tests.py | 161 | 
1 files changed, 161 insertions, 0 deletions
diff --git a/Lib/test/tokenize_tests.py b/Lib/test/tokenize_tests.py new file mode 100644 index 0000000..4883668 --- /dev/null +++ b/Lib/test/tokenize_tests.py @@ -0,0 +1,161 @@ +# Tests for the 'tokenize' module. +# Large bits stolen from test_grammar.py.  + +# Comments +"#" +#' +#" +#\ +       # +    # abc +'''# +#''' + +x = 1  # + +# Balancing continuation + +a = (3, 4, +  5, 6) +y = [3, 4, +  5] +z = {'a':5, +  'b':6} +x = (len(`y`) + 5*x - a[ +   3 ] +   - x + len({ +   } +    ) +  ) + +# Backslash means line continuation: +x = 1 \ ++ 1 + +# Backslash does not means continuation in comments :\ +x = 0 + +# Ordinary integers +0xff <> 255 +0377 <> 255 +2147483647   != 017777777777 +-2147483647-1 != 020000000000 +037777777777 != -1 +0xffffffff != -1 + +# Long integers +x = 0L +x = 0l +x = 0xffffffffffffffffL +x = 0xffffffffffffffffl +x = 077777777777777777L +x = 077777777777777777l +x = 123456789012345678901234567890L +x = 123456789012345678901234567890l + +# Floating-point numbers +x = 3.14 +x = 314. +x = 0.314 +# XXX x = 000.314 +x = .314 +x = 3e14 +x = 3E14 +x = 3e-14 +x = 3e+14 +x = 3.e14 +x = .3e14 +x = 3.1e4 + +# String literals +x = ''; y = ""; +x = '\''; y = "'"; +x = '"'; y = "\""; +x = "doesn't \"shrink\" does it" +y = 'doesn\'t "shrink" does it' +x = "does \"shrink\" doesn't it" +y = 'does "shrink" doesn\'t it' +x = """ +The "quick" +brown fox +jumps over +the 'lazy' dog. +""" +y = '\nThe "quick"\nbrown fox\njumps over\nthe \'lazy\' dog.\n' +y = ''' +The "quick" +brown fox +jumps over +the 'lazy' dog. +'''; +y = "\n\ +The \"quick\"\n\ +brown fox\n\ +jumps over\n\ +the 'lazy' dog.\n\ +"; +y = '\n\ +The \"quick\"\n\ +brown fox\n\ +jumps over\n\ +the \'lazy\' dog.\n\ +'; +x = r'\\' + R'\\' +x = r'\'' + '' +y = r''' +foo bar \\ +baz''' + R''' +foo''' +y = r"""foo +bar \\ baz +""" + R'''spam +''' + +# Indentation +if 1: +    x = 2 +if 1: +        x = 2 +if 1: +    while 0: +     if 0: +           x = 2 +     x = 2 +if 0: +  if 2: +   while 0: +        if 1: +          x = 2 + +# Operators + +def d22(a, b, c=1, d=2): pass +def d01v(a=1, *rest, **rest): pass + +(x, y) <> ({'a':1}, {'b':2}) + +# comparison +if 1 < 1 > 1 == 1 >= 1 <= 1 <> 1 != 1 in 1 not in 1 is 1 is not 1: pass + +# binary +x = 1 & 1 +x = 1 ^ 1 +x = 1 | 1 + +# shift +x = 1 << 1 >> 1 + +# additive +x = 1 - 1 + 1 - 1 + 1 + +# multiplicative +x = 1 / 1 * 1 % 1 + +# unary +x = ~1 ^ 1 & 1 | 1 & 1 ^ -1 +x = -1*1/1 + 1*1 - ---1*1 + +# selector +import sys, time +x = sys.modules['time'].time() +  | 
