|
@@ -754,10 +754,30 @@ EOB;
|
|
|
|
|
|
|
|
public function testEncodeObjectImplementingIterator()
|
|
public function testEncodeObjectImplementingIterator()
|
|
|
{
|
|
{
|
|
|
- $this->markTestIncomplete('Test is not yet finished.');
|
|
|
|
|
|
|
+ $iterator = new ArrayIterator(array(
|
|
|
|
|
+ 'foo' => 'bar',
|
|
|
|
|
+ 'baz' => 5
|
|
|
|
|
+ ));
|
|
|
|
|
+ $target = '{"__className":"ArrayIterator","foo":"bar","baz":5}';
|
|
|
|
|
+
|
|
|
|
|
+ Zend_Json::$useBuiltinEncoderDecoder = true;
|
|
|
|
|
+ $this->assertEquals($target, Zend_Json::encode($iterator));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
|
+ * @group ZF-12347
|
|
|
|
|
+ */
|
|
|
|
|
+ public function testEncodeObjectImplementingIteratorAggregate()
|
|
|
|
|
+ {
|
|
|
|
|
+ $iterator = new ZF12347_IteratorAggregate();
|
|
|
|
|
+ $target = '{"__className":"ZF12347_IteratorAggregate","foo":"bar","baz":5}';
|
|
|
|
|
+
|
|
|
|
|
+ Zend_Json::$useBuiltinEncoderDecoder = true;
|
|
|
|
|
+ $this->assertEquals($target, Zend_Json::encode($iterator));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
* @group ZF-8663
|
|
* @group ZF-8663
|
|
|
*/
|
|
*/
|
|
|
public function testNativeJsonEncoderWillProperlyEncodeSolidusInStringValues()
|
|
public function testNativeJsonEncoderWillProperlyEncodeSolidusInStringValues()
|
|
@@ -1012,3 +1032,18 @@ class Zend_Json_ToJsonWithExpr
|
|
|
return Zend_Json::encode($data, false, array('enableJsonExprFinder' => true));
|
|
return Zend_Json::encode($data, false, array('enableJsonExprFinder' => true));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * @see ZF-12347
|
|
|
|
|
+ */
|
|
|
|
|
+class ZF12347_IteratorAggregate implements IteratorAggregate
|
|
|
|
|
+{
|
|
|
|
|
+ protected $array = array(
|
|
|
|
|
+ 'foo' => 'bar',
|
|
|
|
|
+ 'baz' => 5
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ public function getIterator() {
|
|
|
|
|
+ return new ArrayIterator($this->array);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|