<s> import sys <EOL> from unittest import TestCase <EOL> import simplejson as json <EOL> JSONDOCS = [ <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> "<STR_LIT>" , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> u'<STR_LIT>' , <EOL> '<STR_LIT:{>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT:->' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ] <EOL> SKIPS = { <EOL> <NUM_LIT:1> : "<STR_LIT>" , <EOL> <NUM_LIT> : "<STR_LIT>" , <EOL> } <EOL> class TestFail ( TestCase ) : <EOL> def test_failures ( self ) : <EOL> for idx , doc in enumerate ( JSONDOCS ) : <EOL> idx = idx + <NUM_LIT:1> <EOL> if idx in SKIPS : <EOL> json . loads ( doc ) <EOL> continue <EOL> try : <EOL> json . loads ( doc ) <EOL> except json . JSONDecodeError : <EOL> pass <EOL> else : <EOL> self . fail ( "<STR_LIT>" % ( idx , doc ) ) <EOL> def test_array_decoder_issue46 ( self ) : <EOL> for doc in [ u'<STR_LIT>' , '<STR_LIT>' ] : <EOL> try : <EOL> json . loads ( doc ) <EOL> except json . JSONDecodeError : <EOL> e = sys . exc_info ( ) [ <NUM_LIT:1> ] <EOL> self . assertEqual ( e . pos , <NUM_LIT:1> ) <EOL> self . assertEqual ( e . lineno , <NUM_LIT:1> ) <EOL> self . assertEqual ( e . colno , <NUM_LIT:2> ) <EOL> except Exception : <EOL> e = sys . exc_info ( ) [ <NUM_LIT:1> ] <EOL> self . fail ( "<STR_LIT>" % ( e , e ) ) <EOL> else : <EOL> self . fail ( "<STR_LIT>" ) <EOL> def test_truncated_input ( self ) : <EOL> test_cases = [ <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:0> ) , <EOL> ( '<STR_LIT:[>' , "<STR_LIT>" , <NUM_LIT:1> ) , <EOL> ( '<STR_LIT>' , "<STR_LIT>" , <NUM_LIT:3> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:4> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> ) , <EOL> ( '<STR_LIT>' , "<STR_LIT>" , <NUM_LIT:7> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:8> ) , <EOL> ( '<STR_LIT:{>' , '<STR_LIT>' , <NUM_LIT:1> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:1> ) , <EOL> ( '<STR_LIT>' , "<STR_LIT>" , <NUM_LIT:7> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:8> ) , <EOL> ( '<STR_LIT>' , "<STR_LIT>" , <NUM_LIT:10> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <EOL> <NUM_LIT:11> ) , <EOL> ( '<STR_LIT:">' , '<STR_LIT>' , <NUM_LIT:0> ) , <EOL> ( '<STR_LIT>' , '<STR_LIT>' , <NUM_LIT:0> ) , <EOL> ( '<STR_LIT>' , "<STR_LIT>" , <NUM_LIT:1> ) , <EOL> ] <EOL> for data , msg , idx in test_cases : <EOL> try : <EOL> json . loads ( data ) <EOL> except json . JSONDecodeError : <EOL> e = sys . exc_info ( ) [ <NUM_LIT:1> ] <EOL> self . assertEqual ( <EOL> e . msg [ : len ( msg ) ] , <EOL> msg , <EOL> "<STR_LIT>" % ( e . msg , msg , data ) ) <EOL> self . assertEqual ( <EOL> e . pos , idx , <EOL> "<STR_LIT>" % ( e . pos , idx , data ) ) <EOL> except Exception : <EOL> e = sys . exc_info ( ) [ <NUM_LIT:1> ] <EOL> self . fail ( "<STR_LIT>" % ( e , e ) ) <EOL> else : <EOL> self . fail ( "<STR_LIT>" % ( data , ) ) </s>
