pecl-event / tests / 05-buffer-pos.phpt

--TEST--
Check for manupulation with buffer position
--FILE--
<?php
/* Count total occurances of 'str' in 'buf' */
function count_instances($buf, $str) {
    $total = 0;
	$p = 0;

    while (1) {
        $p = $buf->search($str, $p);
        if ($p === FALSE) {
            break;
		}
        ++$total;
		++$p;
    }

    return $total;
}

// 1 12 123 1234 .. 123..9
$i = 1;
$s = "";
$a = "";
while ($i < 10) {
	$s .= $i;
	$a .= $s ." ";
	++$i;
}

$buf = new EventBuffer();
$buf->add($a);

while (--$i > 0) {
	echo $i, " - ", count_instances($buf, $i), PHP_EOL;
}
?>
--EXPECT--
9 - 1
8 - 2
7 - 3
6 - 4
5 - 5
4 - 6
3 - 7
2 - 8
1 - 9
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.