merge r66932 and add a few py3k only checks

This commit is contained in:
Benjamin Peterson 2008-10-16 21:17:24 +00:00
parent 60192084c4
commit a13d475901
3 changed files with 19 additions and 6 deletions

View file

@ -18,11 +18,15 @@ NaN, PosInf, NegInf = float('nan'), float('inf'), float('-inf')
def linecol(doc, pos):
lineno = doc.count('\n', 0, pos) + 1
if isinstance(doc, bytes):
newline = b'\n'
else:
newline = '\n'
lineno = doc.count(newline, 0, pos) + 1
if lineno == 1:
colno = pos
else:
colno = pos - doc.rindex('\n', 0, pos)
colno = pos - doc.rindex(newline, 0, pos)
return lineno, colno

View file

@ -2,6 +2,7 @@ import sys
import decimal
from unittest import TestCase
import json
import json.decoder
class TestScanString(TestCase):
@ -101,3 +102,9 @@ class TestScanString(TestCase):
self.assertEquals(
scanstring('["Bad value", truth]', 2, None, True),
('Bad value', 12))
def test_issue3623(self):
self.assertRaises(ValueError, json.decoder.scanstring, b"xxx", 1,
"xxx")
self.assertRaises(UnicodeDecodeError,
json.encoder.encode_basestring_ascii, b"xx\xff")