<?php
/**
 * @package    Kohana/Codebench
 * @category   Tests
 * @author     Geert De Deckere <geert@idoe.be>
 */
class Bench_StripNullBytes extends Codebench {

	public $description =
		'String replacement comparisons related to <a href="http://dev.kohanaphp.com/issues/2676">#2676</a>.';

	public $loops = 1000;

	public $subjects = [
		"\0",
		"\0\0\0\0\0\0\0\0\0\0",
		"bla\0bla\0bla\0bla\0bla\0bla\0bla\0bla\0bla\0bla",
		"blablablablablablablablablablablablablablablabla",
	];

	public function bench_str_replace($subject)
	{
		return str_replace("\0", '', $subject);
	}

	public function bench_strtr($subject)
	{
		return strtr($subject, ["\0" => '']);
	}

	public function bench_preg_replace($subject)
	{
		return preg_replace('~\0+~', '', $subject);
	}

}