test-byteify-strings.t
217 lines
| 4.8 KiB
| text/troff
|
Tads3Lexer
/ tests / test-byteify-strings.t
|
r42913 | #require py3 | ||
$ byteify_strings () { | ||||
> $PYTHON "$TESTDIR/../contrib/byteify-strings.py" "$@" | ||||
> } | ||||
Test in-place | ||||
$ cat > testfile.py <<EOF | ||||
> obj['test'] = b"1234" | ||||
> mydict.iteritems() | ||||
> EOF | ||||
$ byteify_strings testfile.py -i | ||||
$ cat testfile.py | ||||
obj[b'test'] = b"1234" | ||||
mydict.iteritems() | ||||
Test with dictiter | ||||
$ cat > testfile.py <<EOF | ||||
> obj['test'] = b"1234" | ||||
> mydict.iteritems() | ||||
> EOF | ||||
$ byteify_strings testfile.py --dictiter | ||||
obj[b'test'] = b"1234" | ||||
mydict.items() | ||||
Test kwargs-like objects | ||||
$ cat > testfile.py <<EOF | ||||
> kwargs['test'] = "123" | ||||
> kwargs[test['testing']] | ||||
> kwargs[test[[['testing']]]] | ||||
> kwargs[kwargs['testing']] | ||||
> kwargs.get('test') | ||||
> kwargs.pop('test') | ||||
> kwargs.get('test', 'testing') | ||||
> kwargs.pop('test', 'testing') | ||||
> kwargs.setdefault('test', 'testing') | ||||
> | ||||
> opts['test'] = "123" | ||||
> opts[test['testing']] | ||||
> opts[test[[['testing']]]] | ||||
> opts[opts['testing']] | ||||
> opts.get('test') | ||||
> opts.pop('test') | ||||
> opts.get('test', 'testing') | ||||
> opts.pop('test', 'testing') | ||||
> opts.setdefault('test', 'testing') | ||||
> | ||||
> commitopts['test'] = "123" | ||||
> commitopts[test['testing']] | ||||
> commitopts[test[[['testing']]]] | ||||
> commitopts[commitopts['testing']] | ||||
> commitopts.get('test') | ||||
> commitopts.pop('test') | ||||
> commitopts.get('test', 'testing') | ||||
> commitopts.pop('test', 'testing') | ||||
> commitopts.setdefault('test', 'testing') | ||||
> EOF | ||||
$ byteify_strings testfile.py --treat-as-kwargs kwargs opts commitopts | ||||
kwargs['test'] = b"123" | ||||
kwargs[test[b'testing']] | ||||
kwargs[test[[[b'testing']]]] | ||||
kwargs[kwargs['testing']] | ||||
kwargs.get('test') | ||||
kwargs.pop('test') | ||||
kwargs.get('test', b'testing') | ||||
kwargs.pop('test', b'testing') | ||||
kwargs.setdefault('test', b'testing') | ||||
opts['test'] = b"123" | ||||
opts[test[b'testing']] | ||||
opts[test[[[b'testing']]]] | ||||
opts[opts['testing']] | ||||
opts.get('test') | ||||
opts.pop('test') | ||||
opts.get('test', b'testing') | ||||
opts.pop('test', b'testing') | ||||
opts.setdefault('test', b'testing') | ||||
commitopts['test'] = b"123" | ||||
commitopts[test[b'testing']] | ||||
commitopts[test[[[b'testing']]]] | ||||
commitopts[commitopts['testing']] | ||||
commitopts.get('test') | ||||
commitopts.pop('test') | ||||
commitopts.get('test', b'testing') | ||||
commitopts.pop('test', b'testing') | ||||
commitopts.setdefault('test', b'testing') | ||||
Test attr*() as methods | ||||
$ cat > testfile.py <<EOF | ||||
> setattr(o, 'a', 1) | ||||
> util.setattr(o, 'ae', 1) | ||||
> util.getattr(o, 'alksjdf', 'default') | ||||
> util.addattr(o, 'asdf') | ||||
> util.hasattr(o, 'lksjdf', 'default') | ||||
> util.safehasattr(o, 'lksjdf', 'default') | ||||
> @eh.wrapfunction(func, 'lksjdf') | ||||
> def f(): | ||||
> pass | ||||
> @eh.wrapclass(klass, 'lksjdf') | ||||
> def f(): | ||||
> pass | ||||
> EOF | ||||
$ byteify_strings testfile.py --allow-attr-methods | ||||
setattr(o, 'a', 1) | ||||
util.setattr(o, 'ae', 1) | ||||
util.getattr(o, 'alksjdf', b'default') | ||||
util.addattr(o, 'asdf') | ||||
util.hasattr(o, 'lksjdf', b'default') | ||||
util.safehasattr(o, 'lksjdf', b'default') | ||||
@eh.wrapfunction(func, 'lksjdf') | ||||
def f(): | ||||
pass | ||||
@eh.wrapclass(klass, 'lksjdf') | ||||
def f(): | ||||
pass | ||||
Test without attr*() as methods | ||||
$ cat > testfile.py <<EOF | ||||
> setattr(o, 'a', 1) | ||||
> util.setattr(o, 'ae', 1) | ||||
> util.getattr(o, 'alksjdf', 'default') | ||||
> util.addattr(o, 'asdf') | ||||
> util.hasattr(o, 'lksjdf', 'default') | ||||
> util.safehasattr(o, 'lksjdf', 'default') | ||||
> @eh.wrapfunction(func, 'lksjdf') | ||||
> def f(): | ||||
> pass | ||||
> @eh.wrapclass(klass, 'lksjdf') | ||||
> def f(): | ||||
> pass | ||||
> EOF | ||||
$ byteify_strings testfile.py | ||||
setattr(o, 'a', 1) | ||||
util.setattr(o, b'ae', 1) | ||||
util.getattr(o, b'alksjdf', b'default') | ||||
util.addattr(o, b'asdf') | ||||
util.hasattr(o, b'lksjdf', b'default') | ||||
util.safehasattr(o, b'lksjdf', b'default') | ||||
@eh.wrapfunction(func, b'lksjdf') | ||||
def f(): | ||||
pass | ||||
@eh.wrapclass(klass, b'lksjdf') | ||||
def f(): | ||||
pass | ||||
Test ignore comments | ||||
$ cat > testfile.py <<EOF | ||||
> #py3-transform: off | ||||
> "none" | ||||
> "of" | ||||
> 'these' | ||||
> s = """should""" | ||||
> d = '''be''' | ||||
> #py3-transform: on | ||||
> "this should" | ||||
> 'and this also' | ||||
> | ||||
> #no-py3-transform | ||||
> l = "this should be ignored" | ||||
> l2 = "this shouldn't" | ||||
> | ||||
> EOF | ||||
$ byteify_strings testfile.py | ||||
#py3-transform: off | ||||
"none" | ||||
"of" | ||||
'these' | ||||
s = """should""" | ||||
d = '''be''' | ||||
#py3-transform: on | ||||
b"this should" | ||||
b'and this also' | ||||
#no-py3-transform | ||||
l = "this should be ignored" | ||||
l2 = b"this shouldn't" | ||||
Test triple-quoted strings | ||||
$ cat > testfile.py <<EOF | ||||
> """This is ignored | ||||
> """ | ||||
> | ||||
> line = """ | ||||
> This should not be | ||||
> """ | ||||
> line = ''' | ||||
> Neither should this | ||||
> ''' | ||||
> EOF | ||||
$ byteify_strings testfile.py | ||||
"""This is ignored | ||||
""" | ||||
line = b""" | ||||
This should not be | ||||
""" | ||||
line = b''' | ||||
Neither should this | ||||
''' | ||||
Test prefixed strings | ||||
$ cat > testfile.py <<EOF | ||||
> obj['test'] = b"1234" | ||||
> obj[r'test'] = u"1234" | ||||
> EOF | ||||
$ byteify_strings testfile.py | ||||
obj[b'test'] = b"1234" | ||||
obj[r'test'] = u"1234" | ||||