Skip to content

Commit 13b7226

Browse files
committed
Fix test
1 parent 8de6441 commit 13b7226

File tree

2 files changed

+37
-41
lines changed

2 files changed

+37
-41
lines changed

src/Helpers.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ public static function sortKeys(Template $template, array $keys): array {
228228
return $keys;
229229
}
230230

231-
usort($keys, static function ($a, $b) use ($dir, $column) {
231+
usort($keys, static function (array $a, array $b) use ($dir, $column): int {
232232
$a_val = (string) $a['items'][$column];
233233
$b_val = (string) $b['items'][$column];
234234
$comparison = strnatcmp($a_val, $b_val);

tests/HelpersTest.php

Lines changed: 36 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
namespace Tests;
1010

11+
use Iterator;
1112
use JsonException;
1213
use PHPUnit\Framework\Attributes\DataProvider;
1314
use PHPUnit\Framework\TestCase;
@@ -94,17 +95,17 @@ public function testImport(): void {
9495
Http::stopRedirect();
9596

9697
Helpers::import(
97-
static fn ($key) => false,
98-
static function (string $key, string $value, int $ttl) use (&$stored) {
98+
static fn ($key): false => false,
99+
static function (string $key, string $value, int $ttl) use (&$stored): void {
99100
$stored[] = ['key' => $key, 'value' => $value, 'ttl' => $ttl];
100101
}
101102
);
102103

103104
unlink($_FILES['import']['tmp_name']);
104105

105-
$this->assertEquals('testkey1', $stored[0]['key']);
106-
$this->assertEquals('value1', $stored[0]['value']);
107-
$this->assertEquals(3600, $stored[0]['ttl']);
106+
$this->assertSame('testkey1', $stored[0]['key']);
107+
$this->assertSame('value1', $stored[0]['value']);
108+
$this->assertSame(3600, $stored[0]['ttl']);
108109
}
109110

110111
/**
@@ -138,41 +139,36 @@ public function testSortKeys(string $sortdir, string $sortcol, array $keys, arra
138139
$this->assertSame($expected, Helpers::sortKeys($this->template, $keys));
139140
}
140141

141-
/**
142-
* @return array<string, array<string, mixed>>
143-
*/
144-
public static function sortKeysProvider(): array {
145-
return [
146-
'no sorting' => [
147-
'sortdir' => 'none',
148-
'sortcol' => 'column1',
149-
'keys' => [['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value3']],],
150-
'expected' => [['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value3']],],
151-
],
152-
'ascending sort' => [
153-
'sortdir' => 'asc',
154-
'sortcol' => 'column1',
155-
'keys' => [['items' => ['column1' => 'value3']], ['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']],],
156-
'expected' => [['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value3']],],
157-
],
158-
'descending sort' => [
159-
'sortdir' => 'desc',
160-
'sortcol' => 'column1',
161-
'keys' => [['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value3']],],
162-
'expected' => [['items' => ['column1' => 'value3']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value1']],],
163-
],
164-
'ascending sort with integers' => [
165-
'sortdir' => 'asc',
166-
'sortcol' => 'column1',
167-
'keys' => [['items' => ['column1' => 3]], ['items' => ['column1' => 1]], ['items' => ['column1' => 2]],],
168-
'expected' => [['items' => ['column1' => 1]], ['items' => ['column1' => 2]], ['items' => ['column1' => 3]],],
169-
],
170-
'descending sort with integers' => [
171-
'sortdir' => 'desc',
172-
'sortcol' => 'column1',
173-
'keys' => [['items' => ['column1' => 1]], ['items' => ['column1' => 2]], ['items' => ['column1' => 3]],],
174-
'expected' => [['items' => ['column1' => 3]], ['items' => ['column1' => 2]], ['items' => ['column1' => 1]],],
175-
],
142+
public static function sortKeysProvider(): Iterator {
143+
yield 'no sorting' => [
144+
'sortdir' => 'none',
145+
'sortcol' => 'column1',
146+
'keys' => [['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value3']],],
147+
'expected' => [['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value3']],],
148+
];
149+
yield 'ascending sort' => [
150+
'sortdir' => 'asc',
151+
'sortcol' => 'column1',
152+
'keys' => [['items' => ['column1' => 'value3']], ['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']],],
153+
'expected' => [['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value3']],],
154+
];
155+
yield 'descending sort' => [
156+
'sortdir' => 'desc',
157+
'sortcol' => 'column1',
158+
'keys' => [['items' => ['column1' => 'value1']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value3']],],
159+
'expected' => [['items' => ['column1' => 'value3']], ['items' => ['column1' => 'value2']], ['items' => ['column1' => 'value1']],],
160+
];
161+
yield 'ascending sort with integers' => [
162+
'sortdir' => 'asc',
163+
'sortcol' => 'column1',
164+
'keys' => [['items' => ['column1' => 3]], ['items' => ['column1' => 1]], ['items' => ['column1' => 2]],],
165+
'expected' => [['items' => ['column1' => 1]], ['items' => ['column1' => 2]], ['items' => ['column1' => 3]],],
166+
];
167+
yield 'descending sort with integers' => [
168+
'sortdir' => 'desc',
169+
'sortcol' => 'column1',
170+
'keys' => [['items' => ['column1' => 1]], ['items' => ['column1' => 2]], ['items' => ['column1' => 3]],],
171+
'expected' => [['items' => ['column1' => 3]], ['items' => ['column1' => 2]], ['items' => ['column1' => 1]],],
176172
];
177173
}
178174
}

0 commit comments

Comments
 (0)