--- parser3/tests/253.html 2010/09/02 22:56:09 1.2 +++ parser3/tests/253.html 2013/10/20 21:10:09 1.6 @@ -1,53 +1,44 @@ @main[] -$f[^file::load[text;253_json.txt]] +$f[^file::load[text;253_json.txt; $.charset[windows-1251]]] $s[^taint[as-is][$f.text]] -^try_catch{$o[^json:parse[$s]]} +^try-catch{$o[^json:parse[$s]]} -$o[^json:parse[$s][ $.distinct[first] ]] +$o[^json:parse[$s][ $.object[$hook] $.distinct[first] ]] ^print[$o] $o[^json:parse[$s][ $.double(false) $.distinct[last] ]] ^print[$o] -$o[^json:parse[$s][ $.object[$hook] $.distinct[all] ]] +$o[^json:parse[$s][ $.object[$hook_key] $.distinct[all] ]] ^print[$o] -@try_catch[code] -^try{ - $code -}{ - $exception.handled(true) - $exception.source - $exception.comment -} +$s[[1,{"type":"class1","value":"3"},4]] + +$o[^json:parse[$s][ $.object[$hook] ]] +^print[$o] + +$o[^json:parse[$s]] +^print[$o] @print[hash] -^hash.foreach[k;v]{ - $k = ^if($v is 'hash'){{^print[$v] - }}{ - $v.CLASS_NAME ^if($v is 'bool'){ ^if($v){true}{false} }($v is 'class1' || $v is 'class2'){^v.print[]}{$v} - } -} +^json:string[$hash; $.indent(1)] @hook[key;value] $result[^if(def $value.type){^reflection:create[$value.type;create;$value]}{$value}] +@hook_key[key;value] +$result[^if($key eq 'object'){^reflection:create[$value.type;create;$value]}{$value}] + @CLASS class1 @create[h] -$value[$h.value] - -@print[] -value "$value" +$value[class1 $h.value] @CLASS class2 @create[h] -$value[$h.value] - -@print[] -value "$value" +$value[class2 $h.value]