summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/prev_basic.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/array/prev_basic.phpt')
-rwxr-xr-xext/standard/tests/array/prev_basic.phpt53
1 files changed, 53 insertions, 0 deletions
diff --git a/ext/standard/tests/array/prev_basic.phpt b/ext/standard/tests/array/prev_basic.phpt
new file mode 100755
index 0000000000..8c1450dd3c
--- /dev/null
+++ b/ext/standard/tests/array/prev_basic.phpt
@@ -0,0 +1,53 @@
+--TEST--
+Test prev() function : basic functionality
+--FILE--
+<?php
+/* Prototype : mixed prev(array $array_arg)
+ * Description: Move array argument's internal pointer to the previous element and return it
+ * Source code: ext/standard/array.c
+ */
+
+/*
+ * Test basic functionality of prev()
+ */
+
+echo "*** Testing prev() : basic functionality ***\n";
+
+$array = array('zero', 'one', 'two');
+end($array);
+echo key($array) . " => " . current($array) . "\n";
+var_dump(prev($array));
+
+echo key($array) . " => " . current($array) . "\n";
+var_dump(prev($array));
+
+echo key($array) . " => " . current($array) . "\n";
+var_dump(prev($array));
+
+echo "\n*** Testing an array with differing values/keys ***\n";
+$array2 = array('one', 2 => "help", 3, false, 'stringkey2' => 'val2', 'stringkey1' => 'val1');
+end($array2);
+$length = count($array2);
+for ($i = $length; $i > 0; $i--) {
+ var_dump(prev($array2));
+}
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing prev() : basic functionality ***
+2 => two
+string(3) "one"
+1 => one
+string(4) "zero"
+0 => zero
+bool(false)
+
+*** Testing an array with differing values/keys ***
+string(4) "val2"
+bool(false)
+int(3)
+string(4) "help"
+string(3) "one"
+bool(false)
+===DONE===