pecl-event / tests / 08-buffer.phpt

--TEST--
Check for EventBuffer methods' behaviour
--FILE--
<?php
$s     = "abcdefghijklmnopqrstuvwxyz";
$s_len = strlen($s);
$b1    = new EventBuffer();
$b2    = new EventBuffer();

$b1->add($s);

$tmp = "";
for ($i = 0, $j = 1; $i < $s_len; $i += 4, ++$j) {
	if ($b2->removeBuffer($b1, 4)) {
		$b2->remove($tmp, 32);
		echo $j, ' ', $tmp == substr($s, $i, 4) ? "ok" : "failed", PHP_EOL;
	}
}

$b3 = new EventBuffer();
$b3->add("123");
echo "$j ", $b3->search("23", 1, 10) == 1 ? "ok" : "failed", PHP_EOL;


$s = "";
$b4 = new EventBuffer();
for ($i = 0; $i < 10; ++$i) {
	$s .= $i;
}
$b4->add($s);

$success = TRUE;
for ($i = 0; $i < 10; ++$i) {
	for ($j = 1; $j < 10; ++$j) {
		if ($b4->substr($i, $j) != substr($s, $i, $j)) {
			$success = FALSE;
			break;
		}
	}
}
echo "9 ", $success ? "ok" : "failed";

?>
--EXPECT--
1 ok
2 ok
3 ok
4 ok
5 ok
6 ok
7 ok
8 ok
9 ok
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.