ref: ae5068cf00a897920984922872282af92bd9e15c
converter/server/vendor/mustangostang/spyc/php4/test.php4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
<?php # # S P Y C # a simple php yaml class # v0.3 # # author: [chris wanstrath, chris@ozmm.org] # websites: [http://www.yaml.org, http://spyc.sourceforge.net/] # license: [MIT License, http://www.opensource.org/licenses/mit-license.php] # copyright: (c) 2005-2006 Chris Wanstrath # # We're gonna load a file into memory and see if we get what we expect. # If not, we're gonna complain. # # Pretty lo-fi. Let's see if we can't get some unit testing going in the next, # I dunno, 20 months? Alright. Go team. # error_reporting(E_ALL); include('spyc.php4'); $yaml = Spyc::YAMLLoad('../spyc.yaml'); // print_r ($yaml); # Added in .2 if ($yaml[1040] != "Ooo, a numeric key!") die('Key: 1040 failed'); # Test mappings / types if ($yaml['String'] != "Anyone's name, really.") die('Key: String failed'); if ($yaml['Int'] !== 13) die('Key: Int failed'); if ($yaml['True'] !== true) die('Key: True failed'); if ($yaml['False'] !== false) die('Key: False failed'); if ($yaml['Zero'] !== 0) die('Key: Zero failed'); if (isset($yaml['Null'])) die('Key: Null failed'); if ($yaml['Float'] !== 5.34) die('Key: Float failed'); # Test sequences if ($yaml[0] != "PHP Class") die('Sequence 0 failed'); if ($yaml[1] != "Basic YAML Loader") die('Sequence 1 failed'); if ($yaml[2] != "Very Basic YAML Dumper") die('Sequence 2 failed'); # A sequence of a sequence if ($yaml[3] != array("YAML is so easy to learn.", "Your config files will never be the same.")) die('Sequence 3 failed'); # Sequence of mappings if ($yaml[4] != array("cpu" => "1.5ghz", "ram" => "1 gig", "os" => "os x 10.4.1")) die('Sequence 4 failed'); # Mapped sequence if ($yaml['domains'] != array("yaml.org", "php.net")) die("Key: 'domains' failed"); # A sequence like this. if ($yaml[5] != array("program" => "Adium", "platform" => "OS X", "type" => "Chat Client")) die('Sequence 5 failed'); # A folded block as a mapped value if ($yaml['no time'] != "There isn't any time for your tricks!\nDo you understand?") die("Key: 'no time' failed"); # A literal block as a mapped value if ($yaml['some time'] != "There is nothing but time\nfor your tricks.") die("Key: 'some time' failed"); # Crazy combinations if ($yaml['databases'] != array( array("name" => "spartan", "notes" => array( "Needs to be backed up", "Needs to be normalized" ), "type" => "mysql" ))) die("Key: 'databases' failed"); # You can be a bit tricky if ($yaml["if: you'd"] != "like") die("Key: 'if: you\'d' failed"); # Inline sequences if ($yaml[6] != array("One", "Two", "Three", "Four")) die("Sequence 6 failed"); # Nested Inline Sequences if ($yaml[7] != array("One", array("Two", "And", "Three"), "Four", "Five")) die("Sequence 7 failed"); # Nested Nested Inline Sequences if ($yaml[8] != array( "This", array("Is", "Getting", array("Ridiculous", "Guys")), "Seriously", array("Show", "Mercy"))) die("Sequence 8 failed"); # Inline mappings if ($yaml[9] != array("name" => "chris", "age" => "young", "brand" => "lucky strike")) die("Sequence 9 failed"); # Nested inline mappings if ($yaml[10] != array("name" => "mark", "age" => "older than chris", "brand" => array("marlboro", "lucky strike"))) die("Sequence 10 failed"); # References -- they're shaky, but functional if ($yaml['dynamic languages'] != array('Perl', 'Python', 'PHP', 'Ruby')) die("Key: 'dynamic languages' failed"); if ($yaml['compiled languages'] != array('C/C++', 'Java')) die("Key: 'compiled languages' failed"); if ($yaml['all languages'] != array( array('Perl', 'Python', 'PHP', 'Ruby'), array('C/C++', 'Java') )) die("Key: 'all languages' failed"); # Added in .2.2: Escaped quotes if ($yaml[11] != "you know, this shouldn't work. but it does.") die("Sequence 11 failed."); if ($yaml[12] != "that's my value.") die("Sequence 12 failed."); if ($yaml[13] != "again, that's my value.") die("Sequence 13 failed."); if ($yaml[14] != "here's to \"quotes\", boss.") die("Sequence 14 failed."); if ($yaml[15] != array( 'name' => "Foo, Bar's", 'age' => 20)) die("Sequence 15 failed."); if ($yaml[16] != array( 0 => "a", 1 => array (0 => 1, 1 => 2), 2 => "b")) die("Sequence 16 failed."); if ($yaml['endloop'] != "Does this line in the end indeed make Spyc go to an infinite loop?") die("[endloop] failed."); print "spyc.yaml parsed correctly\n"; ?> |