PATH:
opt
/
alt
/
tests
/
alt-php80-pecl-yaml_2.2.3-1.el8
/
tests
--TEST-- yaml_emit - custom tags --SKIPIF-- <?php if(!extension_loaded('yaml')) die('skip yaml n/a'); ?> --FILE-- <?php class Emit008Example { public $data; // data may be in any pecl/yaml suitable type /** * Yaml emit callback function, referred on yaml_emit call by class name. * * Expected to return an array with 2 values: * - 'tag': custom tag for this serialization * - 'data': value to convert to yaml (array, string, bool, number) * * @return array */ public static function yamlEmit (Emit008Example $obj) { return array( 'tag' => '!emit008', 'data' => $obj->data, ); } } $emit_callbacks = array( 'Emit008Example' => array('Emit008Example', 'yamlEmit') ); $t = new Emit008Example(); $t->data = array ('a','b','c'); $yaml = yaml_emit( array( 'callback' => $t, ), YAML_ANY_ENCODING, YAML_ANY_BREAK, $emit_callbacks ); var_dump($yaml); /* make sure you can undo the custome serialization */ function parse_008 ($value, $tag, $flags) { $ret = new Emit008Example(); $ret->data = $value; return $ret; } $parse_callbacks = array( '!emit008' => 'parse_008', ); $array = yaml_parse($yaml, 0, $cnt, $parse_callbacks); var_dump($array['callback'] == $t); /* roundtrip with raw object */ var_dump($t == yaml_parse( yaml_emit($t, YAML_ANY_ENCODING, YAML_ANY_BREAK, $emit_callbacks), 0, $cnt, $parse_callbacks)); ?> --EXPECT-- string(39) "--- callback: !emit008 - a - b - c ... " bool(true) bool(true)
[-] yaml_parse_wiki_YtsStrangeKeys_002.phpt
[edit]
[-] yaml_parse_006.phpt
[edit]
[-] yaml_parse_007.phpt
[edit]
[-] yaml_parse_wiki_YtsMapInSeq_002.phpt
[edit]
[-] bug_69617.phpt
[edit]
[-] yaml_parse_wiki_YtsBasicTests_009.phpt
[edit]
[-] bug_77720.phpt
[edit]
[-] yaml_parse_spec_set.phpt
[edit]
[-] bug_75029.phpt
[edit]
[-] yaml_parse_wiki_YtsBasicTests_004.phpt
[edit]
[-] yaml_emit_002.phpt
[edit]
[-] bug_64694.phpt
[edit]
[-] yaml_parse_wiki_YtsBasicTests_006.phpt
[edit]
[-] yaml_001.phpt
[edit]
[-] bug_64019.phpt
[edit]
[-] yaml_parse_wiki_YtsMapInSeq_001.phpt
[edit]
[-] yaml_emit_009.phpt
[edit]
[-] yaml_emit_004.phpt
[edit]
[-] yaml_parse_wiki_YtsBasicTests_001.phpt
[edit]
[-] yaml_parse_wiki_YtsBlockMapping_003.phpt
[edit]
[-] yaml_emit_003.phpt
[edit]
[-] bug_74799.phpt
[edit]
[-] yaml_emit_file_basic.phpt
[edit]
[-] yaml_parse_004.phpt
[edit]
[-] bug_80324.phpt
[edit]
[-] yaml_parse_wiki_YtsMapInSeq_003.phpt
[edit]
[-] bug_79866.phpt
[edit]
[-] bug_76309.phpt
[edit]
[-] bug_21995.phpt
[edit]
[-] yaml_parse_url_001.phpt
[edit]
[-] yaml_parse_wiki_YtsBlockMapping_004.phpt
[edit]
[-] yaml_parse_spec_merge.phpt
[edit]
[-] yaml_parse_wiki_YtsBasicTests_002.phpt
[edit]
[-] bug_61770.phpt
[edit]
[-] yaml_parse_008.phpt
[edit]
[-] bug_60628.phpt
[edit]
[-] yaml_parse_file_001.phpt
[edit]
[-] yaml_parse_spec_timestamp.phpt
[edit]
[-] yaml_parse_wiki_YtsBlockMapping_001.phpt
[edit]
[-] yaml_002.phpt
[edit]
[-] yaml_parse_spec_seq.phpt
[edit]
[+]
..
[-] yaml_parse_spec_map.phpt
[edit]
[-] yaml_parse_wiki_YtsBasicTests_007.phpt
[edit]
[-] yaml_parse_002.phpt
[edit]
[-] bug_72204.phpt
[edit]
[-] bug_69465.phpt
[edit]
[-] yaml_emit_008.phpt
[edit]
[-] bug_59860.phpt
[edit]
[-] yaml_parse_wiki_YtsBasicTests_008.phpt
[edit]
[-] yaml_parse_spec_pairs.phpt
[edit]
[-] bug_parsing_alias.phpt
[edit]
[-] yaml_parse_file_001.yaml
[edit]
[-] yaml_parse_spec_int.phpt
[edit]
[-] yaml_emit_006.phpt
[edit]
[-] yaml_parse_wiki_YtsStrangeKeys_001.phpt
[edit]
[-] yaml_parse_005.phpt
[edit]
[-] yaml_parse_wiki_YtsBlockMapping_002.phpt
[edit]
[-] bug_79567.phpt
[edit]
[-] bug_79494.phpt
[edit]
[-] yaml_parse_spec_omap.phpt
[edit]
[-] bug_72540.phpt
[edit]
[-] bug_61923.phpt
[edit]
[-] yaml_parse_spec_float.phpt
[edit]
[-] yaml_parse_wiki_YtsBasicTests_005.phpt
[edit]
[-] yaml_parse_file_002.phpt
[edit]
[-] bug_74799.yaml
[edit]
[-] yaml_emit_001.phpt
[edit]
[-] yaml_parse_001.phpt
[edit]
[-] yaml_emit_007.phpt
[edit]
[-] yaml_parse_wiki_YtsBasicTests_003.phpt
[edit]
[-] yaml_parse_003.phpt
[edit]
[-] yaml_parse_spec_bool.phpt
[edit]
[-] yaml_parse_spec_binary.phpt
[edit]
[-] yaml_parse_spec_str.phpt
[edit]
[-] yaml_emit_005.phpt
[edit]
[-] yaml_parse_spec_null.phpt
[edit]
[-] bug_69616.phpt
[edit]