What a HORRENDOUS debug session.. well there's good news.. I figured it out..
I started looking at it using AJAX and logging it with Firebug... and it turns out json_decode (or eval by the way) cannot handle
", which is what PHPUnit sends back (Come on Sebastian!), so to fix it:
$json = str_replace('"', '"', $json);
Now I thought they were the same.. maybe someone can enlighten me..