Skip to content

Commit 60607ad

Browse files
authored
Update codebase to PHP 7.4 (#4)
1 parent 4ad1a34 commit 60607ad

6 files changed

Lines changed: 56 additions & 33 deletions

File tree

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88

99
strategy:
1010
matrix:
11-
php: [5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0]
11+
php: [7.4, 8.0, 8.1]
1212

1313
steps:
1414
- name: Checkout code

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
],
1313
"minimum-stability": "RC",
1414
"require": {
15-
"php": ">=5.6.0 <9.0",
15+
"php": "^7.4 | ^8.0",
1616
"codeception/codeception": "^4.0"
1717
},
1818
"autoload":{

readme.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
# Sequence module for Codeception
1+
# Codeception Module Sequence
2+
3+
Sequence module for Codeception.
24

35
![Build Status](https://github.com/Codeception/module-sequence/workflows/CI/badge.svg)
6+
[![Latest Stable Version](https://poser.pugx.org/codeception/module-sequence/v/stable)](https://github.com/Codeception/module-sequence/releases)
7+
[![Total Downloads](https://poser.pugx.org/codeception/module-sequence/downloads)](https://packagist.org/packages/codeception/module-sequence)
8+
[![License](https://poser.pugx.org/codeception/module-sequence/license)](/LICENSE)
49

510
## Installation
611

712
```
8-
composer require --dev "codeception/module-sequence"
13+
composer require "codeception/module-sequence" --dev
914
```
1015

1116
## Documentation

src/Codeception/Module/Sequence.php

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
<?php
2+
3+
declare(strict_types=1);
4+
25
namespace Codeception\Module;
36

4-
use Codeception\Module as CodeceptionModule;
7+
use Codeception\Module;
58
use Codeception\Exception\ModuleException;
69
use Codeception\TestInterface;
710

@@ -46,7 +49,6 @@
4649
* for ($i = 0; $i<10; $i++) {
4750
* $I->haveInDatabase('users', array('login' => sq("user$i"), 'email' => sq("user$i").'@email.com');
4851
* }
49-
* ?>
5052
* ```
5153
*
5254
* Cest Suite tests:
@@ -70,7 +72,6 @@
7072
* $I->removeUser(sqs('user') . '@mailserver.com');
7173
* }
7274
* }
73-
* ?>
7475
* ```
7576
*
7677
* ### Config
@@ -97,12 +98,17 @@
9798
* prefix: '{id}.'
9899
* ```
99100
*/
100-
class Sequence extends CodeceptionModule
101+
class Sequence extends Module
101102
{
102-
public static $hash = [];
103-
public static $suiteHash = [];
104-
public static $prefix = '';
103+
public static array $hash = [];
104+
105+
public static array $suiteHash = [];
106+
107+
public static string $prefix = '';
105108

109+
/**
110+
* @var array<string, string>
111+
*/
106112
protected $config = ['prefix' => '{id}_'];
107113

108114
public function _initialize()
@@ -124,5 +130,5 @@ public function _afterSuite()
124130
if (!function_exists('sq') && !function_exists('sqs')) {
125131
require_once __DIR__ . '/../Util/sq.php';
126132
} else {
127-
throw new ModuleException('Codeception\Module\Sequence', "function 'sq' and 'sqs' already defined");
133+
throw new ModuleException(Sequence::class, "function 'sq' and 'sqs' already defined");
128134
}

src/Codeception/Util/sq.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,39 @@
11
<?php
2+
3+
declare(strict_types=1);
4+
25
use Codeception\Module\Sequence;
36

47
if (!function_exists('sq')) {
58
function sq($id = null)
69
{
7-
if ($id and isset(Sequence::$hash[$id])) {
10+
if ($id && isset(Sequence::$hash[$id])) {
811
return Sequence::$hash[$id];
912
}
13+
1014
$prefix = str_replace('{id}', $id, Sequence::$prefix);
1115
$sequence = $prefix . uniqid($id);
1216
if ($id) {
1317
Sequence::$hash[$id] = $sequence;
1418
}
19+
1520
return $sequence;
1621
}
1722
}
1823

1924
if (!function_exists('sqs')) {
2025
function sqs($id = null)
2126
{
22-
if ($id and isset(Sequence::$suiteHash[$id])) {
27+
if ($id && isset(Sequence::$suiteHash[$id])) {
2328
return Sequence::$suiteHash[$id];
2429
}
30+
2531
$prefix = str_replace('{id}', $id, Sequence::$prefix);
2632
$sequence = $prefix . uniqid($id);
2733
if ($id) {
2834
Sequence::$suiteHash[$id] = $sequence;
2935
}
36+
3037
return $sequence;
3138
}
3239
}
Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,36 @@
11
<?php
22

3-
class SequenceTest extends \Codeception\Test\Unit
3+
declare(strict_types=1);
4+
5+
use Codeception\Lib\ModuleContainer;
6+
use Codeception\Module\Sequence;
7+
use Codeception\Test\Unit;
8+
use Codeception\Util\Stub;
9+
10+
final class SequenceTest extends Unit
411
{
5-
// tests
6-
public function testSequences()
12+
public function testSequences(): void
713
{
8-
$container = \Codeception\Util\Stub::make('Codeception\Lib\ModuleContainer');
9-
$module = new \Codeception\Module\Sequence($container);
10-
$this->assertNotEquals(sq(), sq());
11-
$this->assertNotEquals(sq(1), sq(2));
12-
$this->assertEquals(sq(1), sq(1));
13-
$old = sq(1);
14+
$container = Stub::make(ModuleContainer::class);
15+
$module = new Sequence($container);
16+
$this->assertNotEquals(sq(''), sq(''));
17+
$this->assertNotEquals(sq('1'), sq('2'));
18+
$this->assertEquals(sq('1'), sq('1'));
19+
$old = sq('1');
1420
$module->_after($this);
15-
$this->assertNotEquals($old, sq(1));
21+
$this->assertNotEquals($old, sq('1'));
1622
}
1723

18-
public function testSuiteSequences()
24+
public function testSuiteSequences(): void
1925
{
20-
$container = \Codeception\Util\Stub::make('Codeception\Lib\ModuleContainer');
21-
$module = new \Codeception\Module\Sequence($container);
22-
$this->assertNotEquals(sqs(), sqs());
23-
$this->assertNotEquals(sqs(1), sqs(2));
24-
$this->assertEquals(sqs(1), sqs(1));
25-
$old = sqs(1);
26+
$container = Stub::make(ModuleContainer::class);
27+
$module = new Sequence($container);
28+
$this->assertNotEquals(sqs('1'), sqs('2'));
29+
$this->assertEquals(sqs('1'), sqs('1'));
30+
$old = sqs('1');
2631
$module->_after($this);
27-
$this->assertEquals($old, sqs(1));
32+
$this->assertEquals($old, sqs('1'));
2833
$module->_afterSuite();
29-
$this->assertNotEquals($old, sqs(1));
34+
$this->assertNotEquals($old, sqs('1'));
3035
}
3136
}

0 commit comments

Comments
 (0)