<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bridge\PhpUnit; /** * @author Nicolas Grekas <p@tchwork.com> */ class ClockMock { private static $now; public static function withClockMock($enable = null) { if (null === $enable) { return null !== self::$now; } self::$now = is_numeric($enable) ? (float) $enable : ($enable ? microtime(true) : null); return null; } public static function time() { if (null === self::$now) { return \time(); } return (int) self::$now; } public static function sleep($s) { if (null === self::$now) { return \sleep($s); } self::$now += (int) $s; return 0; } public static function usleep($us) { if (null === self::$now) { \usleep($us); } else { self::$now += $us / 1000000; } } public static function microtime($asFloat = false) { if (null === self::$now) { return \microtime($asFloat); } if ($asFloat) { return self::$now; } return sprintf('%0.6f00 %d', self::$now - (int) self::$now, (int) self::$now); } public static function register($class) { $self = \get_called_class(); $mockedNs = array(substr($class, 0, strrpos($class, '\\'))); if (0 < strpos($class, '\\Tests\\')) { $ns = str_replace('\\Tests\\', '\\', $class); $mockedNs[] = substr($ns, 0, strrpos($ns, '\\')); } elseif (0 === strpos($class, 'Tests\\')) { $mockedNs[] = substr($class, 6, strrpos($class, '\\') - 6); } foreach ($mockedNs as $ns) { if (\function_exists($ns.'\time')) { continue; } eval(<<<EOPHP namespace $ns; function time() { return \\$self::time(); } function microtime(\$asFloat = false) { return \\$self::microtime(\$asFloat); } function sleep(\$s) { return \\$self::sleep(\$s); } function usleep(\$us) { \\$self::usleep(\$us); } EOPHP ); } } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Legacy | Folder | 0755 |
|
|
Tests | Folder | 0755 |
|
|
TextUI | Folder | 0755 |
|
|
bin | Folder | 0755 |
|
|
.gitignore | File | 34 B | 0644 |
|
CHANGELOG.md | File | 683 B | 0644 |
|
ClockMock.php | File | 2.32 KB | 0644 |
|
CoverageListener.php | File | 868 B | 0644 |
|
DeprecationErrorHandler.php | File | 15.16 KB | 0644 |
|
DnsMock.php | File | 5.91 KB | 0644 |
|
LICENSE | File | 1.04 KB | 0644 |
|
README.md | File | 500 B | 0644 |
|
SymfonyTestsListener.php | File | 896 B | 0644 |
|
bootstrap.php | File | 1.3 KB | 0644 |
|
composer.json | File | 1.24 KB | 0644 |
|
phpunit.xml.dist | File | 914 B | 0644 |
|