summaryrefslogtreecommitdiff
path: root/ext/spl/tests/dit_006.phpt
blob: ed1ceffc05ef311881b1d946b6f06cf1dc72359e (plain)
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
--TEST--
SPL: DirectoryIterator and seek
--FILE--
<?php
$di = new DirectoryIterator(__DIR__."/..");
$di->seek(2);

$n = 0;
while ($di->valid()) {
    $n++;
    $di->next();
}

echo "With seek(2) we get $n\n";
$di->seek(0);

$m = 0;
while ($di->valid()) {
    $m++;
    $di->next();
}
echo "With seek(0) we get $m\n";

$o = 0;
$di->rewind();
while ($di->valid()) {
    $o++;
    $di->next();
}

echo "Without seek we get $o\n";

try {
    $p = 0;
    $di->seek($o+1);
    $p = 1;
} catch (\OutOfBoundsException $ex) {
    echo $ex->getMessage() . PHP_EOL;
}

var_dump($n !== $m, $m === $o, $p === 0);
?>
===DONE===
--EXPECTF--
With seek(2) we get %d
With seek(0) we get %d
Without seek we get %d
Seek position %d is out of range
bool(true)
bool(true)
bool(true)
===DONE===