diff --git a/api/tests/unit/TestCase.php b/api/tests/unit/TestCase.php index fec0a98..fe122c4 100644 --- a/api/tests/unit/TestCase.php +++ b/api/tests/unit/TestCase.php @@ -1,9 +1,12 @@ component = new Component($this->getComponentConfig()); } - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, 'sessions' => AccountSessionFixture::class, @@ -115,7 +115,7 @@ class ComponentTest extends TestCase { $result = $this->component->createJwtAuthenticationToken($account, true); $this->component->logout(); - /** @var Component|\PHPUnit_Framework_MockObject_MockObject $component */ + /** @var Component|\PHPUnit\Framework\MockObject\MockObject $component */ $component = $this->getMockBuilder(Component::class) ->setMethods(['getIsGuest']) ->setConstructorArgs([$this->getComponentConfig()]) diff --git a/api/tests/unit/filters/NginxCacheTest.php b/api/tests/unit/filters/NginxCacheTest.php index b94f1dc..6f74f3e 100644 --- a/api/tests/unit/filters/NginxCacheTest.php +++ b/api/tests/unit/filters/NginxCacheTest.php @@ -20,7 +20,7 @@ class NginxCacheTest extends TestCase { } private function testAfterActionInternal($ruleConfig, $expected) { - /** @var HeaderCollection|\PHPUnit_Framework_MockObject_MockObject $headers */ + /** @var HeaderCollection|\PHPUnit\Framework\MockObject\MockObject $headers */ $headers = $this->getMockBuilder(HeaderCollection::class) ->setMethods(['set']) ->getMock(); @@ -29,7 +29,7 @@ class NginxCacheTest extends TestCase { ->method('set') ->with('X-Accel-Expires', $expected); - /** @var Request|\PHPUnit_Framework_MockObject_MockObject $request */ + /** @var Request|\PHPUnit\Framework\MockObject\MockObject $request */ $request = $this->getMockBuilder(Request::class) ->setMethods(['getHeaders']) ->getMock(); @@ -40,7 +40,7 @@ class NginxCacheTest extends TestCase { Yii::$app->set('response', $request); - /** @var Controller|\PHPUnit_Framework_MockObject_MockObject $controller */ + /** @var Controller|\PHPUnit\Framework\MockObject\MockObject $controller */ $controller = $this->getMockBuilder(Controller::class) ->setConstructorArgs(['mock', Yii::$app]) ->getMock(); diff --git a/api/tests/unit/models/FeedbackFormTest.php b/api/tests/unit/models/FeedbackFormTest.php index 06f2f06..b3e2cfa 100644 --- a/api/tests/unit/models/FeedbackFormTest.php +++ b/api/tests/unit/models/FeedbackFormTest.php @@ -19,7 +19,7 @@ class FeedbackFormTest extends TestCase { } public function testSendMessageWithEmail() { - /** @var FeedbackForm|\PHPUnit_Framework_MockObject_MockObject $model */ + /** @var FeedbackForm|\PHPUnit\Framework\MockObject\MockObject $model */ $model = $this->getMockBuilder(FeedbackForm::class) ->setMethods(['getAccount']) ->setConstructorArgs([[ diff --git a/api/tests/unit/models/JwtIdentityTest.php b/api/tests/unit/models/JwtIdentityTest.php index fdeb957..94347be 100644 --- a/api/tests/unit/models/JwtIdentityTest.php +++ b/api/tests/unit/models/JwtIdentityTest.php @@ -1,11 +1,9 @@ generateToken(); $identity = JwtIdentity::findIdentityByAccessToken($token); - $this->assertInstanceOf(IdentityInterface::class, $identity); $this->assertSame($token, $identity->getId()); $this->assertSame($this->tester->grabFixture('accounts', 'admin')['id'], $identity->getAccount()->id); } diff --git a/api/tests/unit/models/authentication/ConfirmEmailFormTest.php b/api/tests/unit/models/authentication/ConfirmEmailFormTest.php index db808d5..8b38e17 100644 --- a/api/tests/unit/models/authentication/ConfirmEmailFormTest.php +++ b/api/tests/unit/models/authentication/ConfirmEmailFormTest.php @@ -11,7 +11,7 @@ use common\tests\fixtures\EmailActivationFixture; class ConfirmEmailFormTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'emailActivations' => EmailActivationFixture::class, ]; diff --git a/api/tests/unit/models/authentication/ForgotPasswordFormTest.php b/api/tests/unit/models/authentication/ForgotPasswordFormTest.php index 8dc639a..d8ace21 100644 --- a/api/tests/unit/models/authentication/ForgotPasswordFormTest.php +++ b/api/tests/unit/models/authentication/ForgotPasswordFormTest.php @@ -4,7 +4,6 @@ namespace codeception\api\unit\models\authentication; use api\components\ReCaptcha\Validator as ReCaptchaValidator; use api\models\authentication\ForgotPasswordForm; use api\tests\unit\TestCase; -use Codeception\Specify; use common\models\Account; use common\models\EmailActivation; use common\tasks\SendPasswordRecoveryEmail; @@ -14,7 +13,6 @@ use GuzzleHttp\ClientInterface; use Yii; class ForgotPasswordFormTest extends TestCase { - use Specify; protected function setUp() { parent::setUp(); @@ -25,7 +23,7 @@ class ForgotPasswordFormTest extends TestCase { }); } - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, 'emailActivations' => EmailActivationFixture::class, @@ -104,12 +102,13 @@ class ForgotPasswordFormTest extends TestCase { } /** - * @param SendPasswordRecoveryEmail $job + * @param \yii\queue\JobInterface $job * @param Account $account * @param EmailActivation $activation */ private function assertTaskCreated($job, Account $account, EmailActivation $activation) { $this->assertInstanceOf(SendPasswordRecoveryEmail::class, $job); + /** @var SendPasswordRecoveryEmail $job */ $this->assertSame($account->username, $job->username); $this->assertSame($account->email, $job->email); $this->assertSame($account->lang, $job->locale); diff --git a/api/tests/unit/models/authentication/LoginFormTest.php b/api/tests/unit/models/authentication/LoginFormTest.php index d3285fb..5f4675f 100644 --- a/api/tests/unit/models/authentication/LoginFormTest.php +++ b/api/tests/unit/models/authentication/LoginFormTest.php @@ -25,7 +25,7 @@ class LoginFormTest extends TestCase { $_SERVER['REMOTE_ADDR'] = $this->originalRemoteAddr; } - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, ]; diff --git a/api/tests/unit/models/authentication/LogoutFormTest.php b/api/tests/unit/models/authentication/LogoutFormTest.php index 1a3d9af..ec512d0 100644 --- a/api/tests/unit/models/authentication/LogoutFormTest.php +++ b/api/tests/unit/models/authentication/LogoutFormTest.php @@ -27,7 +27,7 @@ class LogoutFormTest extends TestCase { Yii::$app->set('user', $userComp); $model = new LogoutForm(); - expect($model->logout())->true(); + $this->assertTrue($model->logout()); }); $this->specify('if active session is presented, then delete should be called', function() { diff --git a/api/tests/unit/models/authentication/RecoverPasswordFormTest.php b/api/tests/unit/models/authentication/RecoverPasswordFormTest.php index 1029d96..c7d6da5 100644 --- a/api/tests/unit/models/authentication/RecoverPasswordFormTest.php +++ b/api/tests/unit/models/authentication/RecoverPasswordFormTest.php @@ -4,15 +4,13 @@ namespace api\tests\_support\models\authentication; use api\components\User\AuthenticationResult; use api\models\authentication\RecoverPasswordForm; use api\tests\unit\TestCase; -use Codeception\Specify; use common\models\Account; use common\models\EmailActivation; use common\tests\fixtures\EmailActivationFixture; class RecoverPasswordFormTest extends TestCase { - use Specify; - public function _fixtures() { + public function _fixtures(): array { return [ 'emailActivations' => EmailActivationFixture::class, ]; diff --git a/api/tests/unit/models/authentication/RefreshTokenFormTest.php b/api/tests/unit/models/authentication/RefreshTokenFormTest.php index b4628f1..fada46e 100644 --- a/api/tests/unit/models/authentication/RefreshTokenFormTest.php +++ b/api/tests/unit/models/authentication/RefreshTokenFormTest.php @@ -11,7 +11,7 @@ use common\tests\fixtures\AccountSessionFixture; class RefreshTokenFormTest extends TestCase { use Specify; - public function _fixtures() { + public function _fixtures(): array { return [ 'sessions' => AccountSessionFixture::class, ]; diff --git a/api/tests/unit/models/authentication/RegistrationFormTest.php b/api/tests/unit/models/authentication/RegistrationFormTest.php index cd37cda..c1a7184 100644 --- a/api/tests/unit/models/authentication/RegistrationFormTest.php +++ b/api/tests/unit/models/authentication/RegistrationFormTest.php @@ -30,7 +30,7 @@ class RegistrationFormTest extends TestCase { }); } - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, 'emailActivations' => EmailActivationFixture::class, diff --git a/api/tests/unit/models/authentication/RepeatAccountActivationFormTest.php b/api/tests/unit/models/authentication/RepeatAccountActivationFormTest.php index c70a364..e0cdfcd 100644 --- a/api/tests/unit/models/authentication/RepeatAccountActivationFormTest.php +++ b/api/tests/unit/models/authentication/RepeatAccountActivationFormTest.php @@ -24,7 +24,7 @@ class RepeatAccountActivationFormTest extends TestCase { }); } - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, 'activations' => EmailActivationFixture::class, @@ -35,21 +35,21 @@ class RepeatAccountActivationFormTest extends TestCase { $this->specify('error.email_not_found if passed valid email, but it don\'t exists in database', function() { $model = new RepeatAccountActivationForm(['email' => 'me-is-not@exists.net']); $model->validateEmailForAccount('email'); - expect($model->getErrors('email'))->equals(['error.email_not_found']); + $this->assertSame(['error.email_not_found'], $model->getErrors('email')); }); $this->specify('error.account_already_activated if passed valid email, but account already activated', function() { $fixture = $this->tester->grabFixture('accounts', 'admin'); $model = new RepeatAccountActivationForm(['email' => $fixture['email']]); $model->validateEmailForAccount('email'); - expect($model->getErrors('email'))->equals(['error.account_already_activated']); + $this->assertSame(['error.account_already_activated'], $model->getErrors('email')); }); $this->specify('no errors if passed valid email for not activated account', function() { $fixture = $this->tester->grabFixture('accounts', 'not-activated-account'); $model = new RepeatAccountActivationForm(['email' => $fixture['email']]); $model->validateEmailForAccount('email'); - expect($model->getErrors('email'))->isEmpty(); + $this->assertEmpty($model->getErrors('email')); }); } @@ -58,14 +58,14 @@ class RepeatAccountActivationFormTest extends TestCase { $fixture = $this->tester->grabFixture('activations', 'freshRegistrationConfirmation'); $model = $this->createModel(['emailKey' => $fixture['key']]); $model->validateExistsActivation('email'); - expect($model->getErrors('email'))->equals(['error.recently_sent_message']); + $this->assertSame(['error.recently_sent_message'], $model->getErrors('email')); }); $this->specify('no errors if passed email has expired activation message', function() { $fixture = $this->tester->grabFixture('activations', 'oldRegistrationConfirmation'); $model = $this->createModel(['emailKey' => $fixture['key']]); $model->validateExistsActivation('email'); - expect($model->getErrors('email'))->isEmpty(); + $this->assertEmpty($model->getErrors('email')); }); } diff --git a/api/tests/unit/modules/accounts/models/ChangeEmailFormTest.php b/api/tests/unit/modules/accounts/models/ChangeEmailFormTest.php index 7106fca..d8665a0 100644 --- a/api/tests/unit/modules/accounts/models/ChangeEmailFormTest.php +++ b/api/tests/unit/modules/accounts/models/ChangeEmailFormTest.php @@ -10,7 +10,7 @@ use common\tests\fixtures\EmailActivationFixture; class ChangeEmailFormTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, 'emailActivations' => EmailActivationFixture::class, diff --git a/api/tests/unit/modules/accounts/models/ChangeUsernameFormTest.php b/api/tests/unit/modules/accounts/models/ChangeUsernameFormTest.php index 60cc365..425c6c7 100644 --- a/api/tests/unit/modules/accounts/models/ChangeUsernameFormTest.php +++ b/api/tests/unit/modules/accounts/models/ChangeUsernameFormTest.php @@ -11,7 +11,7 @@ use common\tests\fixtures\UsernameHistoryFixture; class ChangeUsernameFormTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, 'history' => UsernameHistoryFixture::class, diff --git a/api/tests/unit/modules/accounts/models/SendEmailVerificationFormTest.php b/api/tests/unit/modules/accounts/models/SendEmailVerificationFormTest.php index 8a9b967..a7b1360 100644 --- a/api/tests/unit/modules/accounts/models/SendEmailVerificationFormTest.php +++ b/api/tests/unit/modules/accounts/models/SendEmailVerificationFormTest.php @@ -12,7 +12,7 @@ use common\tests\fixtures\EmailActivationFixture; class SendEmailVerificationFormTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, 'emailActivations' => EmailActivationFixture::class, diff --git a/api/tests/unit/modules/accounts/models/SendNewEmailVerificationFormTest.php b/api/tests/unit/modules/accounts/models/SendNewEmailVerificationFormTest.php index 529190d..5ecc6f4 100644 --- a/api/tests/unit/modules/accounts/models/SendNewEmailVerificationFormTest.php +++ b/api/tests/unit/modules/accounts/models/SendNewEmailVerificationFormTest.php @@ -14,7 +14,7 @@ use yii\validators\EmailValidator; class SendNewEmailVerificationFormTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, 'emailActivations' => EmailActivationFixture::class, diff --git a/api/tests/unit/modules/authserver/models/AuthenticationFormTest.php b/api/tests/unit/modules/authserver/models/AuthenticationFormTest.php index ca8b21f..0cb9288 100644 --- a/api/tests/unit/modules/authserver/models/AuthenticationFormTest.php +++ b/api/tests/unit/modules/authserver/models/AuthenticationFormTest.php @@ -15,7 +15,7 @@ use Ramsey\Uuid\Uuid; class AuthenticationFormTest extends TestCase { use ProtectedCaller; - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, 'minecraftAccessKeys' => MinecraftAccessKeyFixture::class, @@ -111,7 +111,7 @@ class AuthenticationFormTest extends TestCase { } private function createAuthForm($status = Account::STATUS_ACTIVE) { - /** @var LoginForm|\PHPUnit_Framework_MockObject_MockObject $loginForm */ + /** @var LoginForm|\PHPUnit\Framework\MockObject\MockObject $loginForm */ $loginForm = $this->getMockBuilder(LoginForm::class) ->setMethods(['getAccount']) ->getMock(); @@ -126,7 +126,7 @@ class AuthenticationFormTest extends TestCase { ->method('getAccount') ->will($this->returnValue($account)); - /** @var AuthenticationForm|\PHPUnit_Framework_MockObject_MockObject $authForm */ + /** @var AuthenticationForm|\PHPUnit\Framework\MockObject\MockObject $authForm */ $authForm = $this->getMockBuilder(AuthenticationForm::class) ->setMethods(['createLoginForm', 'createMinecraftAccessToken']) ->getMock(); diff --git a/api/tests/unit/modules/internal/models/BanFormTest.php b/api/tests/unit/modules/internal/models/BanFormTest.php index 7dd9ea3..8dcd328 100644 --- a/api/tests/unit/modules/internal/models/BanFormTest.php +++ b/api/tests/unit/modules/internal/models/BanFormTest.php @@ -24,7 +24,7 @@ class BanFormTest extends TestCase { } public function testBan() { - /** @var Account|\PHPUnit_Framework_MockObject_MockObject $account */ + /** @var Account|\PHPUnit\Framework\MockObject\MockObject $account */ $account = $this->getMockBuilder(Account::class) ->setMethods(['save']) ->getMock(); diff --git a/api/tests/unit/modules/internal/models/PardonFormTest.php b/api/tests/unit/modules/internal/models/PardonFormTest.php index 5d469e6..8c6febe 100644 --- a/api/tests/unit/modules/internal/models/PardonFormTest.php +++ b/api/tests/unit/modules/internal/models/PardonFormTest.php @@ -23,7 +23,7 @@ class PardonFormTest extends TestCase { } public function testPardon() { - /** @var Account|\PHPUnit_Framework_MockObject_MockObject $account */ + /** @var Account|\PHPUnit\Framework\MockObject\MockObject $account */ $account = $this->getMockBuilder(Account::class) ->setMethods(['save']) ->getMock(); diff --git a/api/tests/unit/traits/AccountFinderTest.php b/api/tests/unit/traits/AccountFinderTest.php index 63c4a4c..755d750 100644 --- a/api/tests/unit/traits/AccountFinderTest.php +++ b/api/tests/unit/traits/AccountFinderTest.php @@ -3,14 +3,12 @@ namespace api\tests\_support\traits; use api\tests\unit\TestCase; use api\traits\AccountFinder; -use Codeception\Specify; use common\models\Account; use common\tests\fixtures\AccountFixture; class AccountFinderTest extends TestCase { - use Specify; - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => AccountFixture::class, ]; diff --git a/api/tests/unit/validators/EmailActivationKeyValidatorTest.php b/api/tests/unit/validators/EmailActivationKeyValidatorTest.php index f58c323..5fc8b5d 100644 --- a/api/tests/unit/validators/EmailActivationKeyValidatorTest.php +++ b/api/tests/unit/validators/EmailActivationKeyValidatorTest.php @@ -3,7 +3,6 @@ namespace codeception\api\unit\validators; use api\tests\unit\TestCase; use api\validators\EmailActivationKeyValidator; -use Codeception\Specify; use common\helpers\Error as E; use common\models\confirmations\ForgotPassword; use common\models\EmailActivation; @@ -12,7 +11,6 @@ use common\tests\fixtures\EmailActivationFixture; use yii\base\Model; class EmailActivationKeyValidatorTest extends TestCase { - use Specify; use ProtectedCaller; public function testValidateAttribute() { @@ -21,7 +19,7 @@ class EmailActivationKeyValidatorTest extends TestCase { public $key; }; - /** @var EmailActivationKeyValidator|\PHPUnit_Framework_MockObject_MockObject $validator */ + /** @var EmailActivationKeyValidator|\PHPUnit\Framework\MockObject\MockObject $validator */ $validator = $this->getMockBuilder(EmailActivationKeyValidator::class) ->setMethods(['findEmailActivationModel']) ->getMock(); diff --git a/common/tests/unit/TestCase.php b/common/tests/unit/TestCase.php index f71b288..d21936e 100644 --- a/common/tests/unit/TestCase.php +++ b/common/tests/unit/TestCase.php @@ -1,9 +1,12 @@ createModel(); /** @var DataBehavior $behavior */ $behavior = $model->behaviors['dataBehavior']; - expect($this->callProtected($behavior, 'getData'))->equals([]); + $this->assertSame([], $this->callProtected($behavior, 'getData')); }); $this->specify('getting value from serialized data field should return encoded value', function() { @@ -42,7 +42,7 @@ class DataBehaviorTest extends TestCase { $model->_data = serialize($data); /** @var DataBehavior $behavior */ $behavior = $model->behaviors['dataBehavior']; - expect($this->callProtected($behavior, 'getData'))->equals($data); + $this->assertSame($data, $this->callProtected($behavior, 'getData')); }); $this->specify('getting value from invalid serialization string', function() { diff --git a/common/tests/unit/behaviors/EmailActivationExpirationBehaviorTest.php b/common/tests/unit/behaviors/EmailActivationExpirationBehaviorTest.php index b25d142..1fbb7f5 100644 --- a/common/tests/unit/behaviors/EmailActivationExpirationBehaviorTest.php +++ b/common/tests/unit/behaviors/EmailActivationExpirationBehaviorTest.php @@ -21,24 +21,24 @@ class EmailActivationExpirationBehaviorTest extends TestCase { public function testCompareTime() { $this->specify('expect false, if passed value is less then 0', function() { $behavior = $this->createBehavior(); - expect($this->callProtected($behavior, 'compareTime', -1))->false(); + $this->assertFalse($this->callProtected($behavior, 'compareTime', -1)); }); $this->specify('expect true, if passed value is equals 0', function() { $behavior = $this->createBehavior(); - expect($this->callProtected($behavior, 'compareTime', 0))->true(); + $this->assertTrue($this->callProtected($behavior, 'compareTime', 0)); }); $this->specify('expect true, if passed value is more than 0 and current time is greater then calculated', function() { $behavior = $this->createBehavior(); $behavior->owner->created_at = time() - 10; - expect($this->callProtected($behavior, 'compareTime', 5))->true(); + $this->assertTrue($this->callProtected($behavior, 'compareTime', 5)); }); $this->specify('expect false, if passed value is more than 0 and current time is less then calculated', function() { $behavior = $this->createBehavior(); $behavior->owner->created_at = time() - 2; - expect($this->callProtected($behavior, 'compareTime', 7))->false(); + $this->assertFalse($this->callProtected($behavior, 'compareTime', 7)); }); } @@ -47,14 +47,14 @@ class EmailActivationExpirationBehaviorTest extends TestCase { $behavior = $this->createBehavior(); $behavior->repeatTimeout = 30; $behavior->owner->created_at = time() - 60; - expect($behavior->canRepeat())->true(); + $this->assertTrue($behavior->canRepeat()); }); $this->specify('we cannot repeat, if created_at + repeatTimeout is less, then current time', function() { $behavior = $this->createBehavior(); $behavior->repeatTimeout = 60; $behavior->owner->created_at = time() - 30; - expect($behavior->canRepeat())->false(); + $this->assertFalse($behavior->canRepeat()); }); } @@ -63,14 +63,14 @@ class EmailActivationExpirationBehaviorTest extends TestCase { $behavior = $this->createBehavior(); $behavior->expirationTimeout = 30; $behavior->owner->created_at = time() - 60; - expect($behavior->isExpired())->true(); + $this->assertTrue($behavior->isExpired()); }); $this->specify('key is not expired, if created_at + expirationTimeout is less, then current time', function() { $behavior = $this->createBehavior(); $behavior->expirationTimeout = 60; $behavior->owner->created_at = time() - 30; - expect($behavior->isExpired())->false(); + $this->assertFalse($behavior->isExpired()); }); } @@ -79,7 +79,7 @@ class EmailActivationExpirationBehaviorTest extends TestCase { $behavior = $this->createBehavior(); $behavior->repeatTimeout = 30; $behavior->owner->created_at = time() - 60; - expect($behavior->canRepeatIn())->equals($behavior->owner->created_at + $behavior->repeatTimeout); + $this->assertSame($behavior->owner->created_at + $behavior->repeatTimeout, $behavior->canRepeatIn()); }); } @@ -88,7 +88,7 @@ class EmailActivationExpirationBehaviorTest extends TestCase { $behavior = $this->createBehavior(); $behavior->expirationTimeout = 30; $behavior->owner->created_at = time() - 60; - expect($behavior->expireIn())->equals($behavior->owner->created_at + $behavior->expirationTimeout); + $this->assertSame($behavior->owner->created_at + $behavior->expirationTimeout, $behavior->expireIn()); }); } diff --git a/common/tests/unit/behaviors/PrimaryKeyValueBehaviorTest.php b/common/tests/unit/behaviors/PrimaryKeyValueBehaviorTest.php index 42d2e6f..1fcfc38 100644 --- a/common/tests/unit/behaviors/PrimaryKeyValueBehaviorTest.php +++ b/common/tests/unit/behaviors/PrimaryKeyValueBehaviorTest.php @@ -12,7 +12,7 @@ class PrimaryKeyValueBehaviorTest extends TestCase { public function testRefreshPrimaryKeyValue() { $this->specify('method should generate value for primary key field on call', function() { $model = new DummyModel(); - /** @var PrimaryKeyValueBehavior|\PHPUnit_Framework_MockObject_MockObject $behavior */ + /** @var PrimaryKeyValueBehavior|\PHPUnit\Framework\MockObject\MockObject $behavior */ $behavior = $this->getMockBuilder(PrimaryKeyValueBehavior::class) ->setMethods(['isValueExists']) ->setConstructorArgs([[ @@ -28,12 +28,12 @@ class PrimaryKeyValueBehaviorTest extends TestCase { $model->attachBehavior('primary-key-value-behavior', $behavior); $behavior->setPrimaryKeyValue(); - expect($model->id)->equals('mock'); + $this->assertSame('mock', $model->id); }); $this->specify('method should repeat value generation if generated value duplicate with exists', function() { $model = new DummyModel(); - /** @var PrimaryKeyValueBehavior|\PHPUnit_Framework_MockObject_MockObject $behavior */ + /** @var PrimaryKeyValueBehavior|\PHPUnit\Framework\MockObject\MockObject $behavior */ $behavior = $this->getMockBuilder(PrimaryKeyValueBehavior::class) ->setMethods(['isValueExists', 'generateValue']) ->setConstructorArgs([[ @@ -53,7 +53,7 @@ class PrimaryKeyValueBehaviorTest extends TestCase { $model->attachBehavior('primary-key-value-behavior', $behavior); $behavior->setPrimaryKeyValue(); - expect($model->id)->equals('3'); + $this->assertSame('3', $model->id); }); } diff --git a/common/tests/unit/models/AccountTest.php b/common/tests/unit/models/AccountTest.php index 0f8a31e..f126849 100644 --- a/common/tests/unit/models/AccountTest.php +++ b/common/tests/unit/models/AccountTest.php @@ -32,16 +32,16 @@ class AccountTest extends TestCase { 'email' => 'erick@skrauch.net', 'password_hash' => UserPass::make('erick@skrauch.net', '12345678'), ]); - expect('valid password should pass', $model->validatePassword('12345678', Account::PASS_HASH_STRATEGY_OLD_ELY))->true(); - expect('invalid password should fail', $model->validatePassword('87654321', Account::PASS_HASH_STRATEGY_OLD_ELY))->false(); + $this->assertTrue($model->validatePassword('12345678', Account::PASS_HASH_STRATEGY_OLD_ELY), 'valid password should pass'); + $this->assertFalse($model->validatePassword('87654321', Account::PASS_HASH_STRATEGY_OLD_ELY), 'invalid password should fail'); }); $this->specify('modern hash algorithm should work', function() { $model = new Account([ 'password_hash' => Yii::$app->security->generatePasswordHash('12345678'), ]); - expect('valid password should pass', $model->validatePassword('12345678', Account::PASS_HASH_STRATEGY_YII2))->true(); - expect('invalid password should fail', $model->validatePassword('87654321', Account::PASS_HASH_STRATEGY_YII2))->false(); + $this->assertTrue($model->validatePassword('12345678', Account::PASS_HASH_STRATEGY_YII2), 'valid password should pass'); + $this->assertFalse($model->validatePassword('87654321', Account::PASS_HASH_STRATEGY_YII2), 'invalid password should fail'); }); $this->specify('if second argument is not pass model value should be used', function() { @@ -50,15 +50,15 @@ class AccountTest extends TestCase { 'password_hash_strategy' => Account::PASS_HASH_STRATEGY_OLD_ELY, 'password_hash' => UserPass::make('erick@skrauch.net', '12345678'), ]); - expect('valid password should pass', $model->validatePassword('12345678'))->true(); - expect('invalid password should fail', $model->validatePassword('87654321'))->false(); + $this->assertTrue($model->validatePassword('12345678'), 'valid password should pass'); + $this->assertFalse($model->validatePassword('87654321'), 'invalid password should fail'); $model = new Account([ 'password_hash_strategy' => Account::PASS_HASH_STRATEGY_YII2, 'password_hash' => Yii::$app->security->generatePasswordHash('12345678'), ]); - expect('valid password should pass', $model->validatePassword('12345678'))->true(); - expect('invalid password should fail', $model->validatePassword('87654321'))->false(); + $this->assertTrue($model->validatePassword('12345678'), 'valid password should pass'); + $this->assertFalse($model->validatePassword('87654321'), 'invalid password should fail'); }); } @@ -70,13 +70,13 @@ class AccountTest extends TestCase { $this->specify('Expect true if collision with current username', function() { $model = new Account(); $model->username = 'ErickSkrauch'; - expect($model->hasMojangUsernameCollision())->true(); + $this->assertTrue($model->hasMojangUsernameCollision()); }); $this->specify('Expect false if some rare username without any collision on Mojang', function() { $model = new Account(); $model->username = 'rare-username'; - expect($model->hasMojangUsernameCollision())->false(); + $this->assertFalse($model->hasMojangUsernameCollision()); }); } @@ -89,19 +89,19 @@ class AccountTest extends TestCase { public function testIsAgreedWithActualRules() { $this->specify('get false, if rules field set in null', function() { $model = new Account(); - expect($model->isAgreedWithActualRules())->false(); + $this->assertFalse($model->isAgreedWithActualRules()); }); $this->specify('get false, if rules field have version less, then actual', function() { $model = new Account(); $model->rules_agreement_version = 0; - expect($model->isAgreedWithActualRules())->false(); + $this->assertFalse($model->isAgreedWithActualRules()); }); $this->specify('get true, if rules field have equals rules version', function() { $model = new Account(); $model->rules_agreement_version = LATEST_RULES_VERSION; - expect($model->isAgreedWithActualRules())->true(); + $this->assertTrue($model->isAgreedWithActualRules()); }); } diff --git a/common/tests/unit/models/EmailActivationTest.php b/common/tests/unit/models/EmailActivationTest.php index a7103dd..e028990 100644 --- a/common/tests/unit/models/EmailActivationTest.php +++ b/common/tests/unit/models/EmailActivationTest.php @@ -8,7 +8,7 @@ use common\tests\unit\TestCase; class EmailActivationTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'emailActivations' => EmailActivationFixture::class, ]; diff --git a/common/tests/unit/models/OauthClientQueryTest.php b/common/tests/unit/models/OauthClientQueryTest.php index 09a3fae..fb0612a 100644 --- a/common/tests/unit/models/OauthClientQueryTest.php +++ b/common/tests/unit/models/OauthClientQueryTest.php @@ -7,7 +7,7 @@ use common\tests\unit\TestCase; class OauthClientQueryTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'oauthClients' => OauthClientFixture::class, ]; diff --git a/common/tests/unit/rbac/rules/OauthClientOwnerTest.php b/common/tests/unit/rbac/rules/OauthClientOwnerTest.php index af9f6a0..95582af 100644 --- a/common/tests/unit/rbac/rules/OauthClientOwnerTest.php +++ b/common/tests/unit/rbac/rules/OauthClientOwnerTest.php @@ -14,7 +14,7 @@ use const common\LATEST_RULES_VERSION; class OauthClientOwnerTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'oauthClients' => OauthClientFixture::class, ]; diff --git a/common/tests/unit/tasks/ClearAccountSessionsTest.php b/common/tests/unit/tasks/ClearAccountSessionsTest.php index aadbcce..f278762 100644 --- a/common/tests/unit/tasks/ClearAccountSessionsTest.php +++ b/common/tests/unit/tasks/ClearAccountSessionsTest.php @@ -14,7 +14,7 @@ use yii\queue\Queue; */ class ClearAccountSessionsTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'accounts' => fixtures\AccountFixture::class, 'oauthSessions' => fixtures\OauthSessionFixture::class, diff --git a/common/tests/unit/tasks/ClearOauthSessionsTest.php b/common/tests/unit/tasks/ClearOauthSessionsTest.php index 1f3ac8f..e962ba5 100644 --- a/common/tests/unit/tasks/ClearOauthSessionsTest.php +++ b/common/tests/unit/tasks/ClearOauthSessionsTest.php @@ -10,7 +10,7 @@ use yii\queue\Queue; class ClearOauthSessionsTest extends TestCase { - public function _fixtures() { + public function _fixtures(): array { return [ 'oauthClients' => fixtures\OauthClientFixture::class, 'oauthSessions' => fixtures\OauthSessionFixture::class, diff --git a/common/tests/unit/tasks/PullMojangUsernameTest.php b/common/tests/unit/tasks/PullMojangUsernameTest.php index b5bd843..4435f39 100644 --- a/common/tests/unit/tasks/PullMojangUsernameTest.php +++ b/common/tests/unit/tasks/PullMojangUsernameTest.php @@ -24,7 +24,7 @@ class PullMojangUsernameTest extends TestCase { /** @var \PHPUnit\Framework\MockObject\Builder\InvocationMocker */ private $mockedMethod; - public function _fixtures() { + public function _fixtures(): array { return [ 'mojangUsernames' => MojangUsernameFixture::class, ]; diff --git a/composer.json b/composer.json index 95f7fef..cb444a3 100644 --- a/composer.json +++ b/composer.json @@ -31,9 +31,8 @@ "yiisoft/yii2-swiftmailer": "~2.1.0" }, "require-dev": { - "codeception/codeception": "^2.5.3", + "codeception/base": "^3.0.0", "codeception/specify": "^1.0.0", - "codeception/verify": "*", "ely/php-code-style": "^0.3.0", "flow/jsonpath": "^0.4.0", "fzaninotto/faker": "^1.8", diff --git a/composer.lock b/composer.lock index 6216e2a..6139b73 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2b362e3d509b4daae68d7975355e32de", + "content-hash": "68086c7aa86b976c390b02cc53b182f9", "packages": [ { "name": "bacon/bacon-qr-code", @@ -259,7 +259,7 @@ }, { "name": "daveearley/daves-email-validation-tool", - "version": "v0.1.12", + "version": "v0.1.14", "source": { "type": "git", "url": "https://github.com/daveearley/Email-Validation-Tool.git", @@ -1825,16 +1825,16 @@ }, { "name": "symfony/finder", - "version": "v4.2.3", + "version": "v4.2.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ef71816cbb264988bb57fe6a73f610888b9aa70c" + "reference": "e45135658bd6c14b61850bf131c4f09a55133f69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ef71816cbb264988bb57fe6a73f610888b9aa70c", - "reference": "ef71816cbb264988bb57fe6a73f610888b9aa70c", + "url": "https://api.github.com/repos/symfony/finder/zipball/e45135658bd6c14b61850bf131c4f09a55133f69", + "reference": "e45135658bd6c14b61850bf131c4f09a55133f69", "shasum": "" }, "require": { @@ -1870,7 +1870,7 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-01-16T20:35:37+00:00" + "time": "2019-04-06T13:51:08+00:00" }, { "name": "symfony/http-foundation", @@ -1928,16 +1928,16 @@ }, { "name": "symfony/process", - "version": "v4.2.3", + "version": "v4.2.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "6c05edb11fbeff9e2b324b4270ecb17911a8b7ad" + "reference": "8cf39fb4ccff793340c258ee7760fd40bfe745fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/6c05edb11fbeff9e2b324b4270ecb17911a8b7ad", - "reference": "6c05edb11fbeff9e2b324b4270ecb17911a8b7ad", + "url": "https://api.github.com/repos/symfony/process/zipball/8cf39fb4ccff793340c258ee7760fd40bfe745fe", + "reference": "8cf39fb4ccff793340c258ee7760fd40bfe745fe", "shasum": "" }, "require": { @@ -1973,7 +1973,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-01-24T22:05:03+00:00" + "time": "2019-04-10T16:20:36+00:00" }, { "name": "webmozart/assert", @@ -2427,29 +2427,28 @@ "time": "2019-01-16T14:22:17+00:00" }, { - "name": "codeception/codeception", - "version": "2.5.4", + "name": "codeception/base", + "version": "3.0.0", "source": { "type": "git", - "url": "https://github.com/Codeception/Codeception.git", - "reference": "a2ecfe2f3ad36cc29904d2d566b0d7280854e6c9" + "url": "https://github.com/Codeception/base.git", + "reference": "86f10d5dcb05895e76711e6d25e5eb8ead354a09" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/a2ecfe2f3ad36cc29904d2d566b0d7280854e6c9", - "reference": "a2ecfe2f3ad36cc29904d2d566b0d7280854e6c9", + "url": "https://api.github.com/repos/Codeception/base/zipball/86f10d5dcb05895e76711e6d25e5eb8ead354a09", + "reference": "86f10d5dcb05895e76711e6d25e5eb8ead354a09", "shasum": "" }, "require": { "behat/gherkin": "^4.4.0", - "codeception/phpunit-wrapper": "^6.0.9|^7.0.6", + "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3", "codeception/stub": "^2.0", "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", - "facebook/webdriver": ">=1.1.3 <2.0", - "guzzlehttp/guzzle": ">=4.1.4 <7.0", - "guzzlehttp/psr7": "~1.0", + "guzzlehttp/psr7": "~1.4", + "hoa/console": "~3.0", "php": ">=5.6.0 <8.0", "symfony/browser-kit": ">=2.7 <5.0", "symfony/console": ">=2.7 <5.0", @@ -2461,7 +2460,6 @@ }, "require-dev": { "codeception/specify": "~0.3", - "facebook/graph-sdk": "~5.3", "flow/jsonpath": "~0.2", "monolog/monolog": "~1.8", "pda/pheanstalk": "~3.0", @@ -2516,31 +2514,31 @@ "functional testing", "unit testing" ], - "time": "2019-02-20T20:45:25+00:00" + "time": "2019-04-24T12:13:51+00:00" }, { "name": "codeception/phpunit-wrapper", - "version": "7.6.1", + "version": "7.7.1", "source": { "type": "git", "url": "https://github.com/Codeception/phpunit-wrapper.git", - "reference": "ed4b12beb167dc2ecea293b4f6df6c20ce8d280f" + "reference": "ab04a956264291505ea84998f43cf91639b4575d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/ed4b12beb167dc2ecea293b4f6df6c20ce8d280f", - "reference": "ed4b12beb167dc2ecea293b4f6df6c20ce8d280f", + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/ab04a956264291505ea84998f43cf91639b4575d", + "reference": "ab04a956264291505ea84998f43cf91639b4575d", "shasum": "" }, "require": { "phpunit/php-code-coverage": "^6.0", - "phpunit/phpunit": ">=7.1 <7.6", + "phpunit/phpunit": "7.5.*", "sebastian/comparator": "^3.0", "sebastian/diff": "^3.0" }, "require-dev": { "codeception/specify": "*", - "vlucas/phpdotenv": "^2.4" + "vlucas/phpdotenv": "^3.0" }, "type": "library", "autoload": { @@ -2559,7 +2557,7 @@ } ], "description": "PHPUnit classes used by Codeception", - "time": "2019-01-13T10:34:39+00:00" + "time": "2019-02-26T20:35:32+00:00" }, { "name": "codeception/specify", @@ -2601,20 +2599,20 @@ }, { "name": "codeception/stub", - "version": "2.0.4", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/Codeception/Stub.git", - "reference": "f50bc271f392a2836ff80690ce0c058efe1ae03e" + "reference": "853657f988942f7afb69becf3fd0059f192c705a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Stub/zipball/f50bc271f392a2836ff80690ce0c058efe1ae03e", - "reference": "f50bc271f392a2836ff80690ce0c058efe1ae03e", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/853657f988942f7afb69becf3fd0059f192c705a", + "reference": "853657f988942f7afb69becf3fd0059f192c705a", "shasum": "" }, "require": { - "phpunit/phpunit": ">=4.8 <8.0" + "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3" }, "type": "library", "autoload": { @@ -2627,47 +2625,7 @@ "MIT" ], "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", - "time": "2018-07-26T11:55:37+00:00" - }, - { - "name": "codeception/verify", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Verify.git", - "reference": "f45b39025b3f5cfd9a9d8fb992432885ff5380c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Verify/zipball/f45b39025b3f5cfd9a9d8fb992432885ff5380c1", - "reference": "f45b39025b3f5cfd9a9d8fb992432885ff5380c1", - "shasum": "" - }, - "require": { - "php": ">= 7.0", - "phpunit/phpunit": "> 6.0" - }, - "type": "library", - "autoload": { - "files": [ - "src/Codeception/function.php" - ], - "psr-4": { - "Codeception\\": "src\\Codeception" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert@codeception.com" - } - ], - "description": "BDD assertion library for PHPUnit", - "time": "2017-11-12T01:51:59+00:00" + "time": "2019-03-02T15:35:10+00:00" }, { "name": "composer/semver", @@ -2777,27 +2735,29 @@ }, { "name": "doctrine/instantiator", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" + "reference": "a2c590166b2133a4633738648b6b064edae0814a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", - "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", + "reference": "a2c590166b2133a4633738648b6b064edae0814a", "shasum": "" }, "require": { "php": "^7.1" }, "require-dev": { - "athletic/athletic": "~0.1.8", + "doctrine/coding-standard": "^6.0", "ext-pdo": "*", "ext-phar": "*", - "phpunit/phpunit": "^6.2.3", - "squizlabs/php_codesniffer": "^3.0.2" + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { @@ -2822,12 +2782,12 @@ } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", "keywords": [ "constructor", "instantiate" ], - "time": "2017-07-22T11:58:36+00:00" + "time": "2019-03-17T17:37:11+00:00" }, { "name": "ely/php-code-style", @@ -2878,66 +2838,6 @@ ], "time": "2019-02-23T17:29:08+00:00" }, - { - "name": "facebook/webdriver", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/facebook/php-webdriver.git", - "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bd8c740097eb9f2fc3735250fc1912bc811a954e", - "reference": "bd8c740097eb9f2fc3735250fc1912bc811a954e", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-zip": "*", - "php": "^5.6 || ~7.0", - "symfony/process": "^2.8 || ^3.1 || ^4.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.0", - "jakub-onderka/php-parallel-lint": "^0.9.2", - "php-coveralls/php-coveralls": "^2.0", - "php-mock/php-mock-phpunit": "^1.1", - "phpunit/phpunit": "^5.7", - "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", - "squizlabs/php_codesniffer": "^2.6", - "symfony/var-dumper": "^3.3 || ^4.0" - }, - "suggest": { - "ext-SimpleXML": "For Firefox profile creation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-community": "1.5-dev" - } - }, - "autoload": { - "psr-4": { - "Facebook\\WebDriver\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "A PHP client for Selenium WebDriver", - "homepage": "https://github.com/facebook/php-webdriver", - "keywords": [ - "facebook", - "php", - "selenium", - "webdriver" - ], - "time": "2018-05-16T17:37:13+00:00" - }, { "name": "flow/jsonpath", "version": "0.4.0", @@ -3165,6 +3065,555 @@ ], "time": "2016-01-20T08:20:44+00:00" }, + { + "name": "hoa/consistency", + "version": "1.17.05.02", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Consistency.git", + "reference": "fd7d0adc82410507f332516faf655b6ed22e4c2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Consistency/zipball/fd7d0adc82410507f332516faf655b6ed22e4c2f", + "reference": "fd7d0adc82410507f332516faf655b6ed22e4c2f", + "shasum": "" + }, + "require": { + "hoa/exception": "~1.0", + "php": ">=5.5.0" + }, + "require-dev": { + "hoa/stream": "~1.0", + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Consistency\\": "." + }, + "files": [ + "Prelude.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Consistency library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "autoloader", + "callable", + "consistency", + "entity", + "flex", + "keyword", + "library" + ], + "time": "2017-05-02T12:18:12+00:00" + }, + { + "name": "hoa/console", + "version": "3.17.05.02", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Console.git", + "reference": "e231fd3ea70e6d773576ae78de0bdc1daf331a66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Console/zipball/e231fd3ea70e6d773576ae78de0bdc1daf331a66", + "reference": "e231fd3ea70e6d773576ae78de0bdc1daf331a66", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/event": "~1.0", + "hoa/exception": "~1.0", + "hoa/file": "~1.0", + "hoa/protocol": "~1.0", + "hoa/stream": "~1.0", + "hoa/ustring": "~4.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "suggest": { + "ext-pcntl": "To enable hoa://Event/Console/Window:resize.", + "hoa/dispatcher": "To use the console kit.", + "hoa/router": "To use the console kit." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Console\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Console library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "autocompletion", + "chrome", + "cli", + "console", + "cursor", + "getoption", + "library", + "option", + "parser", + "processus", + "readline", + "terminfo", + "tput", + "window" + ], + "time": "2017-05-02T12:26:19+00:00" + }, + { + "name": "hoa/event", + "version": "1.17.01.13", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Event.git", + "reference": "6c0060dced212ffa3af0e34bb46624f990b29c54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Event/zipball/6c0060dced212ffa3af0e34bb46624f990b29c54", + "reference": "6c0060dced212ffa3af0e34bb46624f990b29c54", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Event\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Event library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "event", + "library", + "listener", + "observer" + ], + "time": "2017-01-13T15:30:50+00:00" + }, + { + "name": "hoa/exception", + "version": "1.17.01.16", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Exception.git", + "reference": "091727d46420a3d7468ef0595651488bfc3a458f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Exception/zipball/091727d46420a3d7468ef0595651488bfc3a458f", + "reference": "091727d46420a3d7468ef0595651488bfc3a458f", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/event": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Exception\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Exception library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "exception", + "library" + ], + "time": "2017-01-16T07:53:27+00:00" + }, + { + "name": "hoa/file", + "version": "1.17.07.11", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/File.git", + "reference": "35cb979b779bc54918d2f9a4e02ed6c7a1fa67ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/File/zipball/35cb979b779bc54918d2f9a4e02ed6c7a1fa67ca", + "reference": "35cb979b779bc54918d2f9a4e02ed6c7a1fa67ca", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/event": "~1.0", + "hoa/exception": "~1.0", + "hoa/iterator": "~2.0", + "hoa/stream": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\File\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\File library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "Socket", + "directory", + "file", + "finder", + "library", + "link", + "temporary" + ], + "time": "2017-07-11T07:42:15+00:00" + }, + { + "name": "hoa/iterator", + "version": "2.17.01.10", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Iterator.git", + "reference": "d1120ba09cb4ccd049c86d10058ab94af245f0cc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Iterator/zipball/d1120ba09cb4ccd049c86d10058ab94af245f0cc", + "reference": "d1120ba09cb4ccd049c86d10058ab94af245f0cc", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Iterator\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Iterator library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "iterator", + "library" + ], + "time": "2017-01-10T10:34:47+00:00" + }, + { + "name": "hoa/protocol", + "version": "1.17.01.14", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Protocol.git", + "reference": "5c2cf972151c45f373230da170ea015deecf19e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Protocol/zipball/5c2cf972151c45f373230da170ea015deecf19e2", + "reference": "5c2cf972151c45f373230da170ea015deecf19e2", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Protocol\\": "." + }, + "files": [ + "Wrapper.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Protocol library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "library", + "protocol", + "resource", + "stream", + "wrapper" + ], + "time": "2017-01-14T12:26:10+00:00" + }, + { + "name": "hoa/stream", + "version": "1.17.02.21", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Stream.git", + "reference": "3293cfffca2de10525df51436adf88a559151d82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Stream/zipball/3293cfffca2de10525df51436adf88a559151d82", + "reference": "3293cfffca2de10525df51436adf88a559151d82", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/event": "~1.0", + "hoa/exception": "~1.0", + "hoa/protocol": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Stream\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Stream library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "Context", + "bucket", + "composite", + "filter", + "in", + "library", + "out", + "protocol", + "stream", + "wrapper" + ], + "time": "2017-02-21T16:01:06+00:00" + }, + { + "name": "hoa/ustring", + "version": "4.17.01.16", + "source": { + "type": "git", + "url": "https://github.com/hoaproject/Ustring.git", + "reference": "e6326e2739178799b1fe3fdd92029f9517fa17a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hoaproject/Ustring/zipball/e6326e2739178799b1fe3fdd92029f9517fa17a0", + "reference": "e6326e2739178799b1fe3fdd92029f9517fa17a0", + "shasum": "" + }, + "require": { + "hoa/consistency": "~1.0", + "hoa/exception": "~1.0" + }, + "require-dev": { + "hoa/test": "~2.0" + }, + "suggest": { + "ext-iconv": "ext/iconv must be present (or a third implementation) to use Hoa\\Ustring::transcode().", + "ext-intl": "To get a better Hoa\\Ustring::toAscii() and Hoa\\Ustring::compareTo()." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Hoa\\Ustring\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net" + }, + { + "name": "Hoa community", + "homepage": "https://hoa-project.net/" + } + ], + "description": "The Hoa\\Ustring library.", + "homepage": "https://hoa-project.net/", + "keywords": [ + "library", + "search", + "string", + "unicode" + ], + "time": "2017-01-16T07:08:25+00:00" + }, { "name": "mockery/mockery", "version": "1.2.2", @@ -3232,16 +3681,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.8.1", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8" + "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", - "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", + "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", "shasum": "" }, "require": { @@ -3276,7 +3725,7 @@ "object", "object graph" ], - "time": "2018-06-11T23:09:50+00:00" + "time": "2019-04-07T13:18:21+00:00" }, { "name": "phar-io/manifest", @@ -3655,16 +4104,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.0", + "version": "4.3.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "94fd0001232e47129dd3504189fa1c7225010d08" + "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", - "reference": "94fd0001232e47129dd3504189fa1c7225010d08", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", + "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", "shasum": "" }, "require": { @@ -3702,7 +4151,7 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2017-11-30T07:14:17+00:00" + "time": "2019-04-30T17:48:53+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -4068,16 +4517,16 @@ }, { "name": "phpunit/phpunit", - "version": "7.5.6", + "version": "7.5.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9" + "reference": "d7d9cee051d03ed98df6023aad93f7902731a780" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9", - "reference": "09c85e14994df92e5ff1f5ec0b481bdb7d3d3df9", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d7d9cee051d03ed98df6023aad93f7902731a780", + "reference": "d7d9cee051d03ed98df6023aad93f7902731a780", "shasum": "" }, "require": { @@ -4095,7 +4544,7 @@ "phpunit/php-code-coverage": "^6.0.7", "phpunit/php-file-iterator": "^2.0.1", "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.0", + "phpunit/php-timer": "^2.1", "sebastian/comparator": "^3.0", "sebastian/diff": "^3.0", "sebastian/environment": "^4.0", @@ -4148,7 +4597,7 @@ "testing", "xunit" ], - "time": "2019-02-18T09:24:50+00:00" + "time": "2019-05-09T05:06:47+00:00" }, { "name": "predis/predis", @@ -4701,16 +5150,16 @@ }, { "name": "sebastian/environment", - "version": "4.1.0", + "version": "4.2.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "6fda8ce1974b62b14935adc02a9ed38252eca656" + "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6fda8ce1974b62b14935adc02a9ed38252eca656", - "reference": "6fda8ce1974b62b14935adc02a9ed38252eca656", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/f2a2c8e1c97c11ace607a7a667d73d47c19fe404", + "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404", "shasum": "" }, "require": { @@ -4725,7 +5174,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.1-dev" + "dev-master": "4.2-dev" } }, "autoload": { @@ -4750,7 +5199,7 @@ "environment", "hhvm" ], - "time": "2019-02-01T05:27:49+00:00" + "time": "2019-05-05T09:05:15+00:00" }, { "name": "sebastian/exporter", @@ -5102,16 +5551,16 @@ }, { "name": "symfony/browser-kit", - "version": "v4.2.3", + "version": "v4.2.8", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "ee4462581eb54bf34b746e4a5d522a4f21620160" + "reference": "c09c18cca96d7067152f78956faf55346c338283" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/ee4462581eb54bf34b746e4a5d522a4f21620160", - "reference": "ee4462581eb54bf34b746e4a5d522a4f21620160", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c09c18cca96d7067152f78956faf55346c338283", + "reference": "c09c18cca96d7067152f78956faf55346c338283", "shasum": "" }, "require": { @@ -5155,20 +5604,20 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2019-01-16T21:31:25+00:00" + "time": "2019-04-07T09:56:43+00:00" }, { "name": "symfony/console", - "version": "v4.2.3", + "version": "v4.2.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "1f0ad51dfde4da8a6070f06adc58b4e37cbb37a4" + "reference": "e2840bb38bddad7a0feaf85931e38fdcffdb2f81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/1f0ad51dfde4da8a6070f06adc58b4e37cbb37a4", - "reference": "1f0ad51dfde4da8a6070f06adc58b4e37cbb37a4", + "url": "https://api.github.com/repos/symfony/console/zipball/e2840bb38bddad7a0feaf85931e38fdcffdb2f81", + "reference": "e2840bb38bddad7a0feaf85931e38fdcffdb2f81", "shasum": "" }, "require": { @@ -5227,20 +5676,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-01-25T14:35:16+00:00" + "time": "2019-04-08T14:23:48+00:00" }, { "name": "symfony/contracts", - "version": "v1.0.2", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/symfony/contracts.git", - "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf" + "reference": "d3636025e8253c6144358ec0a62773cae588395b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf", - "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf", + "url": "https://api.github.com/repos/symfony/contracts/zipball/d3636025e8253c6144358ec0a62773cae588395b", + "reference": "d3636025e8253c6144358ec0a62773cae588395b", "shasum": "" }, "require": { @@ -5248,19 +5697,22 @@ }, "require-dev": { "psr/cache": "^1.0", - "psr/container": "^1.0" + "psr/container": "^1.0", + "symfony/polyfill-intl-idn": "^1.10" }, "suggest": { "psr/cache": "When using the Cache contracts", "psr/container": "When using the Service contracts", "symfony/cache-contracts-implementation": "", + "symfony/event-dispatcher-implementation": "", + "symfony/http-client-contracts-implementation": "", "symfony/service-contracts-implementation": "", "symfony/translation-contracts-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "1.1-dev" } }, "autoload": { @@ -5295,11 +5747,11 @@ "interoperability", "standards" ], - "time": "2018-12-05T08:06:11+00:00" + "time": "2019-04-27T14:29:50+00:00" }, { "name": "symfony/css-selector", - "version": "v4.2.3", + "version": "v4.2.8", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -5352,16 +5804,16 @@ }, { "name": "symfony/dom-crawler", - "version": "v4.2.3", + "version": "v4.2.8", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "d8476760b04cdf7b499c8718aa437c20a9155103" + "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/d8476760b04cdf7b499c8718aa437c20a9155103", - "reference": "d8476760b04cdf7b499c8718aa437c20a9155103", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/53c97769814c80a84a8403efcf3ae7ae966d53bb", + "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb", "shasum": "" }, "require": { @@ -5405,20 +5857,20 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2019-01-16T20:35:37+00:00" + "time": "2019-02-23T15:17:42+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.2.3", + "version": "v4.2.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "bd09ad265cd50b2b9d09d65ce6aba2d29bc81fe1" + "reference": "fbce53cd74ac509cbe74b6f227622650ab759b02" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/bd09ad265cd50b2b9d09d65ce6aba2d29bc81fe1", - "reference": "bd09ad265cd50b2b9d09d65ce6aba2d29bc81fe1", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/fbce53cd74ac509cbe74b6f227622650ab759b02", + "reference": "fbce53cd74ac509cbe74b6f227622650ab759b02", "shasum": "" }, "require": { @@ -5469,7 +5921,7 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-01-16T20:35:37+00:00" + "time": "2019-04-06T13:51:08+00:00" }, { "name": "symfony/filesystem", @@ -5627,16 +6079,16 @@ }, { "name": "symfony/yaml", - "version": "v4.2.3", + "version": "v4.2.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "d461670ee145092b7e2a56c1da7118f19cadadb0" + "reference": "6712daf03ee25b53abb14e7e8e0ede1a770efdb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/d461670ee145092b7e2a56c1da7118f19cadadb0", - "reference": "d461670ee145092b7e2a56c1da7118f19cadadb0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/6712daf03ee25b53abb14e7e8e0ede1a770efdb1", + "reference": "6712daf03ee25b53abb14e7e8e0ede1a770efdb1", "shasum": "" }, "require": { @@ -5682,20 +6134,20 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-01-16T20:35:37+00:00" + "time": "2019-03-30T15:58:42+00:00" }, { "name": "theseer/tokenizer", - "version": "1.1.0", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" + "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", - "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/1c42705be2b6c1de5904f8afacef5895cab44bf8", + "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8", "shasum": "" }, "require": { @@ -5722,7 +6174,7 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2017-04-07T12:08:54+00:00" + "time": "2019-04-04T09:56:43+00:00" } ], "aliases": [],