diff options
author | Matěj Cepl <mcepl@redhat.com> | 2012-02-16 17:51:01 +0100 |
---|---|---|
committer | Matěj Cepl <mcepl@redhat.com> | 2012-02-16 17:51:01 +0100 |
commit | f78eca9d4be9b3b7e1177823a9f520faa5b4055b (patch) | |
tree | 7dd5841d046557aa884483af9573958aa492f0d4 /yamlishwriter-php-v0.0.1 | |
parent | 7d08baca38827b59af9592e415bc4778fb8c4958 (diff) | |
download | yamlish-f78eca9d4be9b3b7e1177823a9f520faa5b4055b.tar.gz |
More tests and deleted yamlishwriter-php (there is really nothing there).
Diffstat (limited to 'yamlishwriter-php-v0.0.1')
-rw-r--r-- | yamlishwriter-php-v0.0.1/Changes | 3 | ||||
-rw-r--r-- | yamlishwriter-php-v0.0.1/MANIFEST | 10 | ||||
-rw-r--r-- | yamlishwriter-php-v0.0.1/Makefile | 21 | ||||
-rw-r--r-- | yamlishwriter-php-v0.0.1/README | 33 | ||||
-rwxr-xr-x | yamlishwriter-php-v0.0.1/dist.sh | 16 | ||||
-rw-r--r-- | yamlishwriter-php-v0.0.1/lib/yamlishwriter.php | 125 | ||||
-rw-r--r-- | yamlishwriter-php-v0.0.1/t/00-load.php | 9 | ||||
-rw-r--r-- | yamlishwriter-php-v0.0.1/t/10-writer.php | 180 | ||||
-rw-r--r-- | yamlishwriter-php-v0.0.1/t/harness.t | 29 | ||||
-rw-r--r-- | yamlishwriter-php-v0.0.1/t/lib/TestLite.php | 79 |
10 files changed, 0 insertions, 505 deletions
diff --git a/yamlishwriter-php-v0.0.1/Changes b/yamlishwriter-php-v0.0.1/Changes deleted file mode 100644 index 4bf0e3c..0000000 --- a/yamlishwriter-php-v0.0.1/Changes +++ /dev/null @@ -1,3 +0,0 @@ -0.0.1 2007-03-19 - - Initial release -
\ No newline at end of file diff --git a/yamlishwriter-php-v0.0.1/MANIFEST b/yamlishwriter-php-v0.0.1/MANIFEST deleted file mode 100644 index 1f7a3cc..0000000 --- a/yamlishwriter-php-v0.0.1/MANIFEST +++ /dev/null @@ -1,10 +0,0 @@ -./Changes -./dist.sh -./lib/yamlishwriter.php -./Makefile -./README -./t/00-load.php -./t/10-writer.php -./t/harness.t -./t/lib/TestLite.php -./MANIFEST diff --git a/yamlishwriter-php-v0.0.1/Makefile b/yamlishwriter-php-v0.0.1/Makefile deleted file mode 100644 index 09e4803..0000000 --- a/yamlishwriter-php-v0.0.1/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for YAMLish - -PHP = /usr/bin/php -PROVE = prove -r t - -VERSION = 0.0.1 -DISTNAME = yamlishwriter-php-v$(VERSION) - -default: - -test: - PHP=$(PHP) $(PROVE) - -dist: manifest - ./dist.sh $(DISTNAME) - -manifest: - rm -f MANIFEST - find . -type f | grep -vE '\.svn|\.DS_Store|\.tmproj' > MANIFEST - echo './MANIFEST' >> MANIFEST -
\ No newline at end of file diff --git a/yamlishwriter-php-v0.0.1/README b/yamlishwriter-php-v0.0.1/README deleted file mode 100644 index bbd6204..0000000 --- a/yamlishwriter-php-v0.0.1/README +++ /dev/null @@ -1,33 +0,0 @@ -YAMLishWriter.php Version 0.0.1 - -This is a simple implementation of a YAMLish writer for PHP. See - - http://testanything.org/wiki/index.php/YAMLish - -for more information about YAMLish. - -You can find the YAMLishWriter class in lib/yamlishwriter.php in this -distribution. YAMLishWriter is a self contained PHP class. To use it - - // Or wherever it is on your include path - include('yamlishwriter.php'); - - // And then later - $writer = new YAMLishWriter; - - $data = array( 'got' => 1, 'expected' => 2 ); - $output = $writer->write($data); - -The returned value is an array containing the lines of YAMLish. - -This distribution contains a rudimentary test harness for which you'll -need Perl prove command. To run the tests edit Makefile to reflect the -location of your php command and then - - make test - -Copyright 2007 Andy Armstrong, andy@hexten.net. - -YAMLishWriter is distributed under Perl Artistic Licence: - - http://www.opensource.org/licenses/artistic-license.php diff --git a/yamlishwriter-php-v0.0.1/dist.sh b/yamlishwriter-php-v0.0.1/dist.sh deleted file mode 100755 index 5752e53..0000000 --- a/yamlishwriter-php-v0.0.1/dist.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -distname=$1 -distarc="$distname.tar.gz" - -echo "Making $distarc" -for f in `cat MANIFEST` -do - d=`dirname $f` - mkdir -p "$distname/$d" - echo "Adding $f" - cp $f "$distname/$f" -done - -tar zcf $distarc $distname -rm -rf $distname diff --git a/yamlishwriter-php-v0.0.1/lib/yamlishwriter.php b/yamlishwriter-php-v0.0.1/lib/yamlishwriter.php deleted file mode 100644 index 62035a9..0000000 --- a/yamlishwriter-php-v0.0.1/lib/yamlishwriter.php +++ /dev/null @@ -1,125 +0,0 @@ -<?php - - // Would be nice if this weren't a global function - but I can't find - // out how to make a class member work in preg_replace_callback - function __escape_unprintable($matched) { - $unprintable = array( - 'z', 'x01', 'x02', 'x03', 'x04', 'x05', 'x06', 'a', - 'x08', 't', 'n', 'v', 'f', 'r', 'x0e', 'x0f', - 'x10', 'x11', 'x12', 'x13', 'x14', 'x15', 'x16', 'x17', - 'x18', 'x19', 'x1a', 'e', 'x1c', 'x1d', 'x1e', 'x1f', - ); - - return '\\' . $unprintable[ ord( $matched[0] ) ]; - } - - class YAMLishWriter { - function YAMLishWriter() { - - } - - function write( $obj ) { - $out = array(); - - $this->_write_obj( $out, '---', $obj ); - $out[] = '...'; - - return $out; - } - - function _write_hash( &$out, $obj, $indent, $pad ) { - while ( list($k, $v) = each( $obj ) ) { - $this->_write_obj( - $out, - $pad . $this->_enc_scalar($k) . ':', - $v, $indent + 1 - ); - } - } - - function _write_array( &$out, $obj, $indent ) { - $pad = ''; - for ( $i = 0; $i < $indent; $i++ ) { - $pad .= ' '; - } - - $nout = array(); - $idx = 0; - while ( list($k, $v) = each( $obj ) ) { - if (gettype($k) != 'integer' || $k != $idx) { - # If we find it's not actually an array discard what we've done - # and write a hash instead. Usually we should find out pretty - # early. - $this->_write_hash( $out, $obj, $indent, $pad ); - return; - } - - $this->_write_obj( $nout, "$pad-", $v, $indent + 1); - $idx++; - } - - array_splice( $out, count($out), 0, $nout ); - } - - function _enc_string ( $str ) { - if (preg_match('/[\x00-\x1f\"]/', $str)) { - $str = preg_replace('/\\\\/', '\\\\', $str); - $str = preg_replace('/"/', '\\"', $str); - $str = preg_replace_callback( '/([\x00-\x1f])/', '__escape_unprintable', $str ); - return '"' . $str . '"'; - } - - if ( strlen($str) == 0 || preg_match( '/\s/', $str ) ) { - return "'" . preg_replace('/\'/', "''", $str) . "'"; - } - - return $str; - } - - function _enc_scalar( $obj ) { - $type = gettype( $obj ); - switch ($type) { - case 'boolean': - return $obj ? '1' : '0'; - - case 'double' : - case 'integer': - return "$obj"; - - case 'NULL': - return '~'; - - case 'string': - return $this->_enc_string( $obj ); - - default: - die('Unhandled scalar type ' . $type); - } - } - - function _write_obj( &$out, $prefix, $obj, $indent = 0 ) { - $type = gettype( $obj ); - - switch ($type) { - case 'boolean': - case 'integer': - case 'double' : - case 'string': - case 'NULL': - $out[] = "$prefix " . $this->_enc_scalar( $obj ); - break; - - case 'array': - $out[] = $prefix; - $this->_write_array( $out, $obj, $indent ); - break; - - case 'object': - case 'resource': - default: - die('Unhandled type ' . $type); - } - } - } - -?> diff --git a/yamlishwriter-php-v0.0.1/t/00-load.php b/yamlishwriter-php-v0.0.1/t/00-load.php deleted file mode 100644 index afe3000..0000000 --- a/yamlishwriter-php-v0.0.1/t/00-load.php +++ /dev/null @@ -1,9 +0,0 @@ -<?php - - error_reporting(E_ALL); - - include_once('./t/lib/TestLite.php'); - - plan(1); - ok(@include_once('./lib/yamlishwriter.php'), 'include library'); -?> diff --git a/yamlishwriter-php-v0.0.1/t/10-writer.php b/yamlishwriter-php-v0.0.1/t/10-writer.php deleted file mode 100644 index 146b356..0000000 --- a/yamlishwriter-php-v0.0.1/t/10-writer.php +++ /dev/null @@ -1,180 +0,0 @@ -<?php - - error_reporting(E_ALL); - - include_once('./t/lib/TestLite.php'); - - $schedule = array( - array( - 'name' => 'Simple scalar', - 'in' => 1, - 'out' => array( - '--- 1', - '...', - ), - ), - array( - 'name' => 'Undef', - 'in' => null, - 'out' => array( - '--- ~', - '...', - ), - ), - array( - 'name' => 'Unprintable', - 'in' => "\x01\n\t", - 'out' => array( - '--- "\x01\n\t"', - '...', - ), - ), - array( - 'name' => 'Simple array', - 'in' => array( 1, 2, 3 ), - 'out' => array( - '---', - '- 1', - '- 2', - '- 3', - '...', - ), - ), - array( - 'name' => 'Array, two elements, null', - 'in' => array( null, null ), - 'out' => array( - '---', - '- ~', - '- ~', - '...', - ), - ), - array( - 'name' => 'Nested array', - 'in' => array( 1, 2, array( 3, 4 ), 5 ), - 'out' => array( - '---', - '- 1', - '- 2', - '-', - ' - 3', - ' - 4', - '- 5', - '...', - ), - ), - array( - 'name' => 'Simple hash', - 'in' => array( 'one' => '1', 'two' => '2', 'three' => '3' ), - 'out' => array( - '---', - 'one: 1', - 'two: 2', - 'three: 3', - '...', - ), - ), - array( - 'name' => 'Nested hash', - 'in' => array( - 'one' => '1', 'two' => '2', 'more' => array( 'three' => '3', 'four' => '4' ) - ), - 'out' => array( - '---', - 'one: 1', - 'two: 2', - 'more:', - ' three: 3', - ' four: 4', - '...', - ), - ), - array( - 'name' => 'Unprintable key', - 'in' => array( 'one' => '1', "\x02" => '2', 'three' => '3' ), - 'out' => array( - '---', - 'one: 1', - '"\x02": 2', - 'three: 3', - '...', - ), - ), - array( - 'name' => 'Complex', - 'in' => array( - 'bill-to' => array( - 'given' => 'Chris', - 'address' => array( - 'city' => 'Royal Oak', - 'postal' => '48046', - 'lines' => "458 Walkman Dr.\nSuite #292\n", - 'state' => 'MI' - ), - 'family' => 'Dumars' - ), - 'invoice' => '34843', - 'date' => '2001-01-23', - 'tax' => '251.42', - 'product' => array( - array( - 'sku' => 'BL394D', - 'quantity' => '4', - 'price' => '450.00', - 'description' => 'Basketball' - ), - array( - 'sku' => 'BL4438H', - 'quantity' => '1', - 'price' => '2392.00', - 'description' => 'Super Hoop' - ) - ), - 'comments' => - "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338\n", - 'total' => '4443.52' - ), - 'out' => array( - "---", - "bill-to:", - " given: Chris", - " address:", - " city: 'Royal Oak'", - " postal: 48046", - " lines: \"458 Walkman Dr.\\nSuite #292\\n\"", - " state: MI", - " family: Dumars", - "invoice: 34843", - "date: 2001-01-23", - "tax: 251.42", - "product:", - " -", - " sku: BL394D", - " quantity: 4", - " price: 450.00", - " description: Basketball", - " -", - " sku: BL4438H", - " quantity: 1", - " price: 2392.00", - " description: 'Super Hoop'", - "comments: \"Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338\\n\"", - "total: 4443.52", - "...", - ), - ), - ); - - plan( count($schedule) * 1 ); - - include_once('./lib/yamlishwriter.php'); - - foreach ($schedule as $test) { - $name = $test['name']; - $writer = new YAMLishWriter; - $got = $writer->write($test['in']); - is_deeply_array($got, $test['out'], "$name: output matches"); - } - -?> diff --git a/yamlishwriter-php-v0.0.1/t/harness.t b/yamlishwriter-php-v0.0.1/t/harness.t deleted file mode 100644 index abc51f8..0000000 --- a/yamlishwriter-php-v0.0.1/t/harness.t +++ /dev/null @@ -1,29 +0,0 @@ -use strict; -use warnings; - -my $php = $ENV{PHP} || 'php'; - -my $TESTS = 't/*.php'; - -my $planned = 0; - -for my $test ( glob( $TESTS ) ) { - warn "# $test\n"; - my $offset = $planned; - my @command = ( $php, $test ); - open my $th, '-|', @command or die "Can't run $test ($?)\n"; - while ( defined( my $line = <$th> ) ) { - chomp $line; - if ( $line =~ /^1..(\d+)/ ) { - $planned += $1; - } - else { - $line =~ s/^((?:not\s+)?ok\s+)(\d+)/$1 . ($2 + $offset)/e; - print "$line\n"; - } - } - close $th or die "Can't run $test ($?)\n"; -} - -# Trailing plan -print "1..$planned\n"; diff --git a/yamlishwriter-php-v0.0.1/t/lib/TestLite.php b/yamlishwriter-php-v0.0.1/t/lib/TestLite.php deleted file mode 100644 index 231001b..0000000 --- a/yamlishwriter-php-v0.0.1/t/lib/TestLite.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php - - $NEXT_TEST = 1; - - function plan($tests) { - print "1..$tests\n"; - } - - function ok($ok, $message = null) { - global $NEXT_TEST; - $out = "ok " . ($NEXT_TEST++); - if (!$ok) { - $out = 'not ' . $out; - } - if ($message) { - $out .= " $message"; - } - print "$out\n"; - } - - function pass($message) { - ok(true, $message); - } - - function fail($message) { - ok(false, $message); - } - - function diag($message) { - $stdout = fopen('php://stderr', 'w'); - fwrite( $stdout, "# $message\n" ); - fclose( $stdout ); - } - - function is_deeply_array( $got, $expected, $message ) { - if ( gettype($got) != 'array' ) { - fail($message); - diag('$got is not an array'); - return; - } - - if ( gettype($expected) != 'array' ) { - fail($message); - diag('$expected is not an array'); - return; - } - - $ok = true; - $diag = array(); - $got_c = count( $got ); - $expected_c = count( $expected ); - - if ($got_c != $expected_c) { - $ok = false; - $diag[] = 'Array sizes differ:'; - $diag[] = ' $got: ' . $got_c; - $diag[] = ' $expected: ' . $expected_c; - } - - $count = max( $got_c, $expected_c ); - - for ($i = 0; $i < $count; $i++) { - if ( $got[$i] != $expected[$i] ) { - if ($ok) { - $ok = false; - $diag[] = 'Arrays differ:'; - } - $diag[] = " \$got[$i]: $got[$i]"; - $diag[] = " \$expected[$i]: $expected[$i]"; - } - } - - ok($ok, $message); - foreach ($diag as $d) { - diag($d); - } - } - -?> |