summaryrefslogtreecommitdiffstats
path: root/Lib/test/json_tests/test_fail.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/json_tests/test_fail.py')
-rw-r--r--Lib/test/json_tests/test_fail.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/Lib/test/json_tests/test_fail.py b/Lib/test/json_tests/test_fail.py
index a2dc29a..5b652e8 100644
--- a/Lib/test/json_tests/test_fail.py
+++ b/Lib/test/json_tests/test_fail.py
@@ -125,8 +125,8 @@ class TestFail:
]
for data, msg, idx in test_cases:
self.assertRaisesRegex(ValueError,
- r'^{0}: line 1 column {1} \(char {1}\)'.format(
- re.escape(msg), idx),
+ r'^{0}: line 1 column {1} \(char {2}\)'.format(
+ re.escape(msg), idx + 1, idx),
self.loads, data)
def test_unexpected_data(self):
@@ -155,8 +155,8 @@ class TestFail:
]
for data, msg, idx in test_cases:
self.assertRaisesRegex(ValueError,
- r'^{0}: line 1 column {1} \(char {1}\)'.format(
- re.escape(msg), idx),
+ r'^{0}: line 1 column {1} \(char {2}\)'.format(
+ re.escape(msg), idx + 1, idx),
self.loads, data)
def test_extra_data(self):
@@ -173,10 +173,22 @@ class TestFail:
for data, msg, idx in test_cases:
self.assertRaisesRegex(ValueError,
r'^{0}: line 1 column {1} - line 1 column {2}'
- r' \(char {1} - {2}\)'.format(
- re.escape(msg), idx, len(data)),
+ r' \(char {3} - {4}\)'.format(
+ re.escape(msg), idx + 1, len(data) + 1, idx, len(data)),
self.loads, data)
+ def test_linecol(self):
+ test_cases = [
+ ('!', 1, 1, 0),
+ (' !', 1, 2, 1),
+ ('\n!', 2, 1, 1),
+ ('\n \n\n !', 4, 6, 10),
+ ]
+ for data, line, col, idx in test_cases:
+ self.assertRaisesRegex(ValueError,
+ r'^Expecting value: line {0} column {1}'
+ r' \(char {2}\)$'.format(line, col, idx),
+ self.loads, data)
class TestPyFail(TestFail, PyTest): pass
class TestCFail(TestFail, CTest): pass