|
@@ 1404-1430 (lines=27) @@
|
| 1401 |
|
self.runs(good_code) |
| 1402 |
|
|
| 1403 |
|
def test_assignment_to_range(self): |
| 1404 |
|
"""Trying to assign to range works on list, not on range.""" |
| 1405 |
|
code = '{0}[2] = 1' |
| 1406 |
|
typo, sugg = 'range(4)', 'list(range(4))' |
| 1407 |
|
version = (3, 0) |
| 1408 |
|
bad_code, good_code = format_str(code, typo, sugg) |
| 1409 |
|
self.runs(good_code) |
| 1410 |
|
self.runs(bad_code, up_to_version(version)) |
| 1411 |
|
self.throws( |
| 1412 |
|
bad_code, |
| 1413 |
|
OBJECTDOESNOTSUPPORT, |
| 1414 |
|
'convert to list to edit the list', |
| 1415 |
|
from_version(version)) |
| 1416 |
|
|
| 1417 |
|
def test_assignment_to_string(self): |
| 1418 |
|
"""Trying to assign to string does not work.""" |
| 1419 |
|
code = "s = 'abc'\ns[1] = 'd'" |
| 1420 |
|
good_code = "s = 'abc'\nl = list(s)\nl[1] = 'd'\ns = ''.join(l)" |
| 1421 |
|
self.runs(good_code) |
| 1422 |
|
self.throws( |
| 1423 |
|
code, |
| 1424 |
|
OBJECTDOESNOTSUPPORT, |
| 1425 |
|
'convert to list to edit the list and use "join()" on the list') |
| 1426 |
|
|
| 1427 |
|
def test_deletion_from_string(self): |
| 1428 |
|
"""Delete from string does not work.""" |
| 1429 |
|
code = "s = 'abc'\ndel s[1]" |
| 1430 |
|
good_code = "s = 'abc'\nl = list(s)\ndel l[1]\ns = ''.join(l)" |
| 1431 |
|
self.runs(good_code) |
| 1432 |
|
self.throws( |
| 1433 |
|
code, |
|
@@ 981-995 (lines=15) @@
|
| 978 |
|
|
| 979 |
|
def test_moved_between_imp_importlib(self): |
| 980 |
|
"""Some methods have been moved from imp to importlib.""" |
| 981 |
|
# NICE_TO_HAVE |
| 982 |
|
# reload removed from Python 3 |
| 983 |
|
# importlib module new in Python 2.7 |
| 984 |
|
# importlib.reload new in Python 3.4 |
| 985 |
|
# imp.reload new in Python 3.2 |
| 986 |
|
version27 = (2, 7) |
| 987 |
|
version3 = (3, 0) |
| 988 |
|
version26 = up_to_version(version27) |
| 989 |
|
code = '{0}reload(math)' |
| 990 |
|
null, code_imp, code_importlib = format_str( |
| 991 |
|
code, '', 'import imp\nimp.', 'import importlib\nimportlib.') |
| 992 |
|
self.runs(null, up_to_version(version3)) |
| 993 |
|
self.throws(null, NAMEERROR, |
| 994 |
|
RELOAD_REMOVED_MSG, from_version(version3)) |
| 995 |
|
self.runs(code_imp) |
| 996 |
|
self.throws(code_importlib, NOMODULE, [], version26) |
| 997 |
|
self.throws(code_importlib, ATTRIBUTEERROR, |
| 998 |
|
"'reload(module)'", (version27, version3)) |