--- parser3/tests/261.html 2015/10/26 00:41:41 1.4 +++ parser3/tests/261.html 2016/05/18 17:48:21 1.5 @@ -8,6 +8,7 @@ $string_methods[^reflection:methods[stri } $s[] +$w[ ] $v[$void] Empty string vs void: @@ -18,23 +19,31 @@ Json (void as null): ^json:string[$s;$.v Length: ^s.length[] vs ^v.length[] Double: ^s.double(0) vs ^v.double(0) Base64: "^s.base64[]" vs "^v.base64[]" -Hash compatibility: "$s.key" "$v.key" +Hash compatibility: "$s.key" "$w.key" "$v.key" +More hash compatibility: "^b[^s.contains[key]]" "^b[^w.contains[key]]" "^b[^w.contains[key]]" +Methods not visible: "$s.length" "$w.length" "$v.length" -Non-empty string not hash compatible: ^try-catch{ +Non-empty or whitespace string not hash compatible: ^try-catch{ $s[string] $s.key } Absent method empty string error: ^try-catch{ - $s[string] + $s[] ^s.something[] } +Absent method void error: ^try-catch{ + ^v.something[] +} Absent method non-empty string error: ^try-catch{ - $s[] + $s[string] ^s.something[] } ^string_methods.foreach[k;v]{ - ^if(!($v.$k is 'junction')){ + ^if(!^void_methods.contains[$k]){ String method $k absent in void } } + +@b[v]{ +^if($v){true}{false}