--- /dev/null
+--TEST--
+Adobe Form Data Format functions
+--SKIPIF--
+<?php if (!extension_loaded("fdf")) print "skip"; ?>
+--POST--
+--GET--
+--FILE--
+<?php
+echo is_resource(fdf_create()) ? "OK" : "FAILURE";
+?>
+--EXPECT--
+OK
\ No newline at end of file
--- /dev/null
+--TEST--
+FDF open/save and set/get values
+--SKIPIF--
+<?php if (!extension_loaded("fdf")) print "skip"; ?>
+--POST--
+--GET--
+--FILE--
+<?php
+$f1 = fdf_create();
+fdf_set_value($f1, "foo", "bar");
+fdf_set_value($f1, "bar", "foo");
+$f2 = fdf_open_string(fdf_save_string($f1));
+fdf_close($f1);
+for ($field = fdf_next_field_name($f2); $field; $field = fdf_next_field_name($f2, $field)) {
+ echo "$field: ". fdf_get_value($f2, $field) . "\n";
+}
+fdf_close($f2);
+?>
+--EXPECT--
+foo: bar
+bar: foo
--- /dev/null
+--TEST--
+FDF read file
+--SKIPIF--
+<?php if (!extension_loaded("fdf")) print "skip"; ?>
+--POST--
+--GET--
+--FILE--
+<?php
+$fdf = fdf_open("ext/fdf/tests/simple.fdf");
+for ($field = fdf_next_field_name($fdf); $field; $field = fdf_next_field_name($fdf, $field)) {
+ echo "$field: ". fdf_get_value($fdf, $field) . "\n";
+}
+fdf_close($fdf);
+?>
+--EXPECT--
+foo: bar
+bar: foo
--- /dev/null
+--TEST--
+FDF POST data parsing
+--SKIPIF--
+<?php if (!extension_loaded("fdf")) print "skip"; ?>
+--CGI--
+--HEADERS--
+return <<<END
+Content-Type=application/vnd.fdf
+Content-Length=209
+END;
+--ENV--
+return <<<END
+Content-Type=application/vnd.fdf
+Content-Length=209
+END;
+--POST--
+%FDF-1.2
+%âãÏÓ
+
+1 0 obj
+<<
+/FDF << /Fields [ << /V (Thanks George)/T (status)>> ] /ID [ <3c0e51bf6427b09f7faa482297af6957><5f9787a1646a3bfe44b7725c9c1284df>
+] >>
+>>
+endobj
+trailer
+<<
+/Root 1 0 R
+
+>>
+%%EOF
+--GET--
+--FILE--
+<?php
+echo strlen($HTTP_FDF_DATA)."\n";
+foreach ($_POST as $key => $value) {
+ echo "$key => $value\n";
+}
+?>
+--EXPECT--
+209
+status: Thanks George
\ No newline at end of file
--- /dev/null
+%FDF-1.2
+%âãÏÓ\r
+1 0 obj
+<<
+/FDF << /Fields 2 0 R >>
+>>
+endobj
+2 0 obj
+[
+<< /T (foo)/V (bar)>> << /T (bar)/V (foo)>>
+]
+endobj
+trailer
+<<
+/Root 1 0 R
+
+>>
+%%EOF