2013-10-23 15:10:02 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @group API
|
|
|
|
|
* @covers ApiFormatJson
|
|
|
|
|
*/
|
|
|
|
|
class ApiFormatJsonTest extends ApiFormatTestBase {
|
|
|
|
|
|
2014-12-17 21:48:03 +00:00
|
|
|
protected $printerName = 'json';
|
2013-10-23 15:10:02 +00:00
|
|
|
|
2014-12-17 21:48:03 +00:00
|
|
|
public static function provideGeneralEncoding() {
|
|
|
|
|
return array(
|
|
|
|
|
// Basic types
|
|
|
|
|
array( array( null ), '[null]' ),
|
|
|
|
|
array( array( true ), '[true]' ),
|
|
|
|
|
array( array( false ), '[false]' ),
|
|
|
|
|
array( array( 42 ), '[42]' ),
|
|
|
|
|
array( array( 42.5 ), '[42.5]' ),
|
|
|
|
|
array( array( 1e42 ), '[1.0e+42]' ),
|
|
|
|
|
array( array( 'foo' ), '["foo"]' ),
|
|
|
|
|
array( array( 'fóo' ), '["f\u00f3o"]' ),
|
|
|
|
|
array( array( 'fóo' ), '["fóo"]', array( 'utf8' => 1 ) ),
|
|
|
|
|
|
|
|
|
|
// Arrays and objects
|
|
|
|
|
array( array( array() ), '[[]]' ),
|
|
|
|
|
array( array( array( 1 ) ), '[[1]]' ),
|
|
|
|
|
array( array( array( 'x' => 1 ) ), '[{"x":1}]' ),
|
|
|
|
|
array( array( array( 2 => 1 ) ), '[{"2":1}]' ),
|
|
|
|
|
array( array( (object)array() ), '[{}]' ),
|
|
|
|
|
|
|
|
|
|
// Content
|
|
|
|
|
array( array( '*' => 'foo' ), '{"*":"foo"}' ),
|
2014-07-17 20:24:56 +00:00
|
|
|
|
2014-12-17 21:48:03 +00:00
|
|
|
// Callbacks
|
|
|
|
|
array( array( 1 ), '/**/myCallback([1])', array( 'callback' => 'myCallback' ) ),
|
|
|
|
|
|
|
|
|
|
// Cross-domain mangling
|
|
|
|
|
array( array( '< Cross-Domain-Policy >' ), '["\u003C Cross-Domain-Policy \u003E"]' ),
|
|
|
|
|
);
|
2014-07-17 20:24:56 +00:00
|
|
|
}
|
2014-12-17 21:48:03 +00:00
|
|
|
|
2013-10-23 15:10:02 +00:00
|
|
|
}
|