<s> """<STR_LIT>""" <EOL> import json <EOL> import nose . tools as nt <EOL> from . . jsonutil import json_clean <EOL> def test ( ) : <EOL> pairs = [ ( <NUM_LIT:1> , None ) , <EOL> ( <NUM_LIT:1.0> , None ) , <EOL> ( '<STR_LIT:a>' , None ) , <EOL> ( True , None ) , <EOL> ( False , None ) , <EOL> ( None , None ) , <EOL> ( <NUM_LIT> , '<STR_LIT>' ) , <EOL> ( [ <NUM_LIT:1> , <NUM_LIT:2> ] , None ) , <EOL> ( ( <NUM_LIT:1> , <NUM_LIT:2> ) , [ <NUM_LIT:1> , <NUM_LIT:2> ] ) , <EOL> ( set ( [ <NUM_LIT:1> , <NUM_LIT:2> ] ) , [ <NUM_LIT:1> , <NUM_LIT:2> ] ) , <EOL> ( dict ( x = <NUM_LIT:1> ) , None ) , <EOL> ( { '<STR_LIT:x>' : <NUM_LIT:1> , '<STR_LIT:y>' : [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , '<STR_LIT:1>' : '<STR_LIT:int>' } , None ) , <EOL> ( ( x for x in range ( <NUM_LIT:3> ) ) , [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] ) , <EOL> ( iter ( [ <NUM_LIT:1> , <NUM_LIT:2> ] ) , [ <NUM_LIT:1> , <NUM_LIT:2> ] ) , <EOL> ] <EOL> for val , jval in pairs : <EOL> if jval is None : <EOL> jval = val <EOL> out = json_clean ( val ) <EOL> nt . assert_equal ( out , jval ) <EOL> json . loads ( json . dumps ( out ) ) <EOL> def test_lambda ( ) : <EOL> jc = json_clean ( lambda : <NUM_LIT:1> ) <EOL> nt . assert_true ( jc . startswith ( '<STR_LIT>' ) ) <EOL> json . dumps ( jc ) <EOL> def test_exception ( ) : <EOL> bad_dicts = [ { <NUM_LIT:1> : '<STR_LIT>' , '<STR_LIT:1>' : '<STR_LIT:string>' } , <EOL> { True : '<STR_LIT:bool>' , '<STR_LIT:True>' : '<STR_LIT:string>' } , <EOL> ] <EOL> for d in bad_dicts : <EOL> nt . assert_raises ( ValueError , json_clean , d ) </s>
