first commit

This commit is contained in:
root
2022-03-06 11:49:27 +00:00
commit 1984e55837
1387 changed files with 121949 additions and 0 deletions

View File

@ -0,0 +1 @@
*.php diff=php

4
vendor/phpunit/php-timer/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
/.idea
/vendor
/composer.lock

27
vendor/phpunit/php-timer/.travis.yml vendored Normal file
View File

@ -0,0 +1,27 @@
language: php
php:
- 5.3
- 5.4
- 5.5
- 5.6
- 7.0
- 7.0snapshot
- 7.1
- 7.1snapshot
- master
sudo: false
before_install:
- composer self-update
- composer clear-cache
install:
- travis_retry composer update --no-interaction --no-ansi --no-progress --no-suggest --optimize-autoloader --prefer-stable
script:
- ./vendor/bin/phpunit
notifications:
email: false

33
vendor/phpunit/php-timer/LICENSE vendored Normal file
View File

@ -0,0 +1,33 @@
PHP_Timer
Copyright (c) 2010-2015, Sebastian Bergmann <sebastian@phpunit.de>.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of Sebastian Bergmann nor the names of his
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

45
vendor/phpunit/php-timer/README.md vendored Normal file
View File

@ -0,0 +1,45 @@
[![Build Status](https://travis-ci.org/sebastianbergmann/php-timer.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-timer)
# PHP_Timer
Utility class for timing things, factored out of PHPUnit into a stand-alone component.
## Installation
You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/):
composer require phpunit/php-timer
If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:
composer require --dev phpunit/php-timer
## Usage
### Basic Timing
```php
PHP_Timer::start();
// ...
$time = PHP_Timer::stop();
var_dump($time);
print PHP_Timer::secondsToTimeString($time);
```
The code above yields the output below:
double(1.0967254638672E-5)
0 ms
### Resource Consumption Since PHP Startup
```php
print PHP_Timer::resourceUsage();
```
The code above yields the output below:
Time: 0 ms, Memory: 0.50MB

37
vendor/phpunit/php-timer/composer.json vendored Normal file
View File

@ -0,0 +1,37 @@
{
"name": "phpunit/php-timer",
"description": "Utility class for timing",
"type": "library",
"keywords": [
"timer"
],
"homepage": "https://github.com/sebastianbergmann/php-timer/",
"license": "BSD-3-Clause",
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sb@sebastian-bergmann.de",
"role": "lead"
}
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues"
},
"require": {
"php": "^5.3.3 || ^7.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
},
"autoload": {
"classmap": [
"src/"
]
},
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
}
}

19
vendor/phpunit/php-timer/phpunit.xml vendored Normal file
View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.0/phpunit.xsd"
bootstrap="vendor/autoload.php"
forceCoversAnnotation="true"
beStrictAboutCoversAnnotation="true"
beStrictAboutOutputDuringTests="true"
beStrictAboutTodoAnnotatedTests="true"
verbose="true">
<testsuite>
<directory suffix="Test.php">tests</directory>
</testsuite>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
</whitelist>
</filter>
</phpunit>

105
vendor/phpunit/php-timer/src/Timer.php vendored Normal file
View File

@ -0,0 +1,105 @@
<?php
/*
* This file is part of the PHP_Timer package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Utility class for timing.
*/
class PHP_Timer
{
/**
* @var array
*/
private static $times = array(
'hour' => 3600000,
'minute' => 60000,
'second' => 1000
);
/**
* @var array
*/
private static $startTimes = array();
/**
* @var float
*/
public static $requestTime;
/**
* Starts the timer.
*/
public static function start()
{
array_push(self::$startTimes, microtime(true));
}
/**
* Stops the timer and returns the elapsed time.
*
* @return float
*/
public static function stop()
{
return microtime(true) - array_pop(self::$startTimes);
}
/**
* Formats the elapsed time as a string.
*
* @param float $time
* @return string
*/
public static function secondsToTimeString($time)
{
$ms = round($time * 1000);
foreach (self::$times as $unit => $value) {
if ($ms >= $value) {
$time = floor($ms / $value * 100.0) / 100.0;
return $time . ' ' . ($time == 1 ? $unit : $unit . 's');
}
}
return $ms . ' ms';
}
/**
* Formats the elapsed time since the start of the request as a string.
*
* @return string
*/
public static function timeSinceStartOfRequest()
{
return self::secondsToTimeString(microtime(true) - self::$requestTime);
}
/**
* Returns the resources (time, memory) of the request as a string.
*
* @return string
*/
public static function resourceUsage()
{
return sprintf(
'Time: %s, Memory: %4.2fMB',
self::timeSinceStartOfRequest(),
memory_get_peak_usage(true) / 1048576
);
}
}
if (isset($_SERVER['REQUEST_TIME_FLOAT'])) {
PHP_Timer::$requestTime = $_SERVER['REQUEST_TIME_FLOAT'];
} elseif (isset($_SERVER['REQUEST_TIME'])) {
PHP_Timer::$requestTime = $_SERVER['REQUEST_TIME'];
} else {
PHP_Timer::$requestTime = microtime(true);
}

View File

@ -0,0 +1,98 @@
<?php
/*
* This file is part of the PHP_Timer package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use PHPUnit\Framework\TestCase;
class PHP_TimerTest extends TestCase
{
/**
* @covers PHP_Timer::start
* @covers PHP_Timer::stop
*/
public function testStartStop()
{
$this->assertInternalType('float', PHP_Timer::stop());
}
/**
* @covers PHP_Timer::secondsToTimeString
* @dataProvider secondsProvider
*/
public function testSecondsToTimeString($string, $seconds)
{
$this->assertEquals(
$string,
PHP_Timer::secondsToTimeString($seconds)
);
}
/**
* @covers PHP_Timer::timeSinceStartOfRequest
*/
public function testTimeSinceStartOfRequest()
{
$this->assertStringMatchesFormat(
'%f %s',
PHP_Timer::timeSinceStartOfRequest()
);
}
/**
* @covers PHP_Timer::resourceUsage
*/
public function testResourceUsage()
{
$this->assertStringMatchesFormat(
'Time: %s, Memory: %fMB',
PHP_Timer::resourceUsage()
);
}
public function secondsProvider()
{
return array(
array('0 ms', 0),
array('1 ms', .001),
array('10 ms', .01),
array('100 ms', .1),
array('999 ms', .999),
array('1 second', .9999),
array('1 second', 1),
array('2 seconds', 2),
array('59.9 seconds', 59.9),
array('59.99 seconds', 59.99),
array('59.99 seconds', 59.999),
array('1 minute', 59.9999),
array('59 seconds', 59.001),
array('59.01 seconds', 59.01),
array('1 minute', 60),
array('1.01 minutes', 61),
array('2 minutes', 120),
array('2.01 minutes', 121),
array('59.99 minutes', 3599.9),
array('59.99 minutes', 3599.99),
array('59.99 minutes', 3599.999),
array('1 hour', 3599.9999),
array('59.98 minutes', 3599.001),
array('59.98 minutes', 3599.01),
array('1 hour', 3600),
array('1 hour', 3601),
array('1 hour', 3601.9),
array('1 hour', 3601.99),
array('1 hour', 3601.999),
array('1 hour', 3601.9999),
array('1.01 hours', 3659.9999),
array('1.01 hours', 3659.001),
array('1.01 hours', 3659.01),
array('2 hours', 7199.9999),
);
}
}