From aa76e5c00efde1973c7d067a52cf31064cc00ffb Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 6 Oct 2026 17:39:22 +0700 Subject: [PATCH 1/3] Bump Rector to 2.7.0 and clean up duplicated registered rules --- composer.json | 2 +- rector.php | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/composer.json b/composer.json index b291ea49c21c..9aa9641b8e6d 100644 --- a/composer.json +++ b/composer.json @@ -29,7 +29,7 @@ "phpunit/phpcov": "^9.0.2 || ^10.0", "phpunit/phpunit": "^10.5.16 || ^11.2", "predis/predis": "^3.0", - "rector/rector": "2.6.7", + "rector/rector": "2.7.0", "shipmonk/phpstan-baseline-per-identifier": "^2.0" }, "replace": { diff --git a/rector.php b/rector.php index 5b4c50db1c66..2b3c36597dae 100644 --- a/rector.php +++ b/rector.php @@ -15,7 +15,6 @@ use Rector\CodeQuality\Rector\BooleanNot\NegatedAndsToPositiveOrsRector; use Rector\CodeQuality\Rector\ClassMethod\LocallyCalledStaticMethodToNonStaticRector; use Rector\CodeQuality\Rector\FuncCall\CompactToVariablesRector; -use Rector\CodeQuality\Rector\FunctionLike\SimplifyUselessVariableRector; use Rector\CodeQuality\Rector\Isset_\IssetOnPropertyObjectToPropertyExistsRector; use Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector; use Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector; @@ -174,7 +173,6 @@ ->withRules([ DeclareStrictTypesRector::class, UnderscoreToCamelCaseVariableNameRector::class, - SimplifyUselessVariableRector::class, PassStrictParameterToFunctionParameterRector::class, RemoveErrorSuppressInTryCatchStmtsRector::class, FuncGetArgsToVariadicParamRector::class, From 3c9ecb674cc12e0b40af6f858b947ddcfe001a74 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 6 Oct 2026 17:44:30 +0700 Subject: [PATCH 2/3] re-run rector --- tests/system/Database/Live/ForgeTest.php | 34 +++++++++---------- .../Live/OCI8/CallStoredProcedureTest.php | 2 +- tests/system/HTTP/CLIRequestTest.php | 2 +- tests/system/Router/RouteCollectionTest.php | 8 ++--- tests/system/Router/RouterTest.php | 2 +- tests/system/View/ParserFilterTest.php | 6 ---- 6 files changed, 24 insertions(+), 30 deletions(-) diff --git a/tests/system/Database/Live/ForgeTest.php b/tests/system/Database/Live/ForgeTest.php index 39433abde857..879f87e94327 100644 --- a/tests/system/Database/Live/ForgeTest.php +++ b/tests/system/Database/Live/ForgeTest.php @@ -544,8 +544,8 @@ public function testForeignKey(): void } $this->assertSame($foreignKeyData[$foreignKeyName]->constraint_name, $foreignKeyName); - $this->assertSame($foreignKeyData[$foreignKeyName]->column_name, ['users_id']); - $this->assertSame($foreignKeyData[$foreignKeyName]->foreign_column_name, ['id']); + $this->assertSame(['users_id'], $foreignKeyData[$foreignKeyName]->column_name); + $this->assertSame(['id'], $foreignKeyData[$foreignKeyName]->foreign_column_name); $this->assertSame($foreignKeyData[$foreignKeyName]->table_name, $this->db->DBPrefix . $tableName); $this->assertSame($foreignKeyData[$foreignKeyName]->foreign_table_name, $this->db->DBPrefix . 'forge_test_users'); @@ -1170,63 +1170,63 @@ public function testCompositeKey(): void if ($this->db->DBDriver === 'MySQLi') { $this->assertSame('PRIMARY', $keys['PRIMARY']->name); - $this->assertSame($keys['PRIMARY']->fields, ['id']); + $this->assertSame(['id'], $keys['PRIMARY']->fields); $this->assertSame('PRIMARY', $keys['PRIMARY']->type); $this->assertSame('code_company', $keys['code_company']->name); - $this->assertSame($keys['code_company']->fields, ['code', 'company']); + $this->assertSame(['code', 'company'], $keys['code_company']->fields); $this->assertSame('INDEX', $keys['code_company']->type); $this->assertSame('code_active', $keys['code_active']->name); - $this->assertSame($keys['code_active']->fields, ['code', 'active']); + $this->assertSame(['code', 'active'], $keys['code_active']->fields); $this->assertSame('UNIQUE', $keys['code_active']->type); } elseif ($this->db->DBDriver === 'Postgre') { $this->assertSame('pk_db_forge_test_1', $keys['pk_db_forge_test_1']->name); - $this->assertSame($keys['pk_db_forge_test_1']->fields, ['id']); + $this->assertSame(['id'], $keys['pk_db_forge_test_1']->fields); $this->assertSame('PRIMARY', $keys['pk_db_forge_test_1']->type); $this->assertSame('db_forge_test_1_code_company', $keys['db_forge_test_1_code_company']->name); - $this->assertSame($keys['db_forge_test_1_code_company']->fields, ['code', 'company']); + $this->assertSame(['code', 'company'], $keys['db_forge_test_1_code_company']->fields); $this->assertSame('INDEX', $keys['db_forge_test_1_code_company']->type); $this->assertSame('db_forge_test_1_code_active', $keys['db_forge_test_1_code_active']->name); - $this->assertSame($keys['db_forge_test_1_code_active']->fields, ['code', 'active']); + $this->assertSame(['code', 'active'], $keys['db_forge_test_1_code_active']->fields); $this->assertSame('UNIQUE', $keys['db_forge_test_1_code_active']->type); } elseif ($this->db->DBDriver === 'SQLite3') { $this->assertSame('PRIMARY', $keys['PRIMARY']->name); - $this->assertSame($keys['PRIMARY']->fields, ['id']); + $this->assertSame(['id'], $keys['PRIMARY']->fields); $this->assertSame('PRIMARY', $keys['PRIMARY']->type); $this->assertSame('db_forge_test_1_code_company', $keys['db_forge_test_1_code_company']->name); - $this->assertSame($keys['db_forge_test_1_code_company']->fields, ['code', 'company']); + $this->assertSame(['code', 'company'], $keys['db_forge_test_1_code_company']->fields); $this->assertSame('INDEX', $keys['db_forge_test_1_code_company']->type); $this->assertSame('db_forge_test_1_code_active', $keys['db_forge_test_1_code_active']->name); - $this->assertSame($keys['db_forge_test_1_code_active']->fields, ['code', 'active']); + $this->assertSame(['code', 'active'], $keys['db_forge_test_1_code_active']->fields); $this->assertSame('UNIQUE', $keys['db_forge_test_1_code_active']->type); } elseif ($this->db->DBDriver === 'SQLSRV') { $this->assertSame('pk_db_forge_test_1', $keys['pk_db_forge_test_1']->name); - $this->assertSame($keys['pk_db_forge_test_1']->fields, ['id']); + $this->assertSame(['id'], $keys['pk_db_forge_test_1']->fields); $this->assertSame('PRIMARY', $keys['pk_db_forge_test_1']->type); $this->assertSame('db_forge_test_1_code_company', $keys['db_forge_test_1_code_company']->name); - $this->assertSame($keys['db_forge_test_1_code_company']->fields, ['code', 'company']); + $this->assertSame(['code', 'company'], $keys['db_forge_test_1_code_company']->fields); $this->assertSame('INDEX', $keys['db_forge_test_1_code_company']->type); $this->assertSame('db_forge_test_1_code_active', $keys['db_forge_test_1_code_active']->name); - $this->assertSame($keys['db_forge_test_1_code_active']->fields, ['code', 'active']); + $this->assertSame(['code', 'active'], $keys['db_forge_test_1_code_active']->fields); $this->assertSame('UNIQUE', $keys['db_forge_test_1_code_active']->type); } elseif ($this->db->DBDriver === 'OCI8') { $this->assertSame('pk_db_forge_test_1', $keys['pk_db_forge_test_1']->name); - $this->assertSame($keys['pk_db_forge_test_1']->fields, ['id']); + $this->assertSame(['id'], $keys['pk_db_forge_test_1']->fields); $this->assertSame('PRIMARY', $keys['pk_db_forge_test_1']->type); $this->assertSame('db_forge_test_1_code_company', $keys['db_forge_test_1_code_company']->name); - $this->assertSame($keys['db_forge_test_1_code_company']->fields, ['code', 'company']); + $this->assertSame(['code', 'company'], $keys['db_forge_test_1_code_company']->fields); $this->assertSame('INDEX', $keys['db_forge_test_1_code_company']->type); $this->assertSame('db_forge_test_1_code_active', $keys['db_forge_test_1_code_active']->name); - $this->assertSame($keys['db_forge_test_1_code_active']->fields, ['code', 'active']); + $this->assertSame(['code', 'active'], $keys['db_forge_test_1_code_active']->fields); $this->assertSame('UNIQUE', $keys['db_forge_test_1_code_active']->type); } diff --git a/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php b/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php index 8404e2378ae2..50a034e36dc2 100644 --- a/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php +++ b/tests/system/Database/Live/OCI8/CallStoredProcedureTest.php @@ -102,6 +102,6 @@ public function testCallStoredProcedureForCursor(): void oci_execute($result); $row = oci_fetch_array($result, OCI_ASSOC + OCI_RETURN_NULLS); - $this->assertSame($row, ['ONE' => '1']); + $this->assertSame(['ONE' => '1'], $row); } } diff --git a/tests/system/HTTP/CLIRequestTest.php b/tests/system/HTTP/CLIRequestTest.php index 91155e445f86..b9ce3dc5f7ce 100644 --- a/tests/system/HTTP/CLIRequestTest.php +++ b/tests/system/HTTP/CLIRequestTest.php @@ -566,7 +566,7 @@ public function testGetCookie(): void { $this->assertNull($this->request->getCookie('TESTY')); - $this->assertSame($this->request->getCookie(), []); + $this->assertSame([], $this->request->getCookie()); } public function testIs(): void diff --git a/tests/system/Router/RouteCollectionTest.php b/tests/system/Router/RouteCollectionTest.php index 5e3e7bd8015f..9ceec705cf6b 100644 --- a/tests/system/Router/RouteCollectionTest.php +++ b/tests/system/Router/RouteCollectionTest.php @@ -1350,7 +1350,7 @@ static function (): void {}, $options = $routes->getRoutesOptions('administrator'); - $this->assertSame($options, ['as' => 'admin', 'foo' => 'baz']); + $this->assertSame(['as' => 'admin', 'foo' => 'baz'], $options); } /** @@ -1459,15 +1459,15 @@ static function (): void {}, $options = $routes->getRoutesOptions('administrator'); - $this->assertSame($options, ['as' => 'admin1', 'foo' => 'baz1', 'bar' => 'baz']); + $this->assertSame(['as' => 'admin1', 'foo' => 'baz1', 'bar' => 'baz'], $options); $options = $routes->setHTTPVerb(Method::POST)->getRoutesOptions('administrator'); - $this->assertSame($options, ['as' => 'admin2', 'foo' => 'baz2', 'bar' => 'baz']); + $this->assertSame(['as' => 'admin2', 'foo' => 'baz2', 'bar' => 'baz'], $options); $options = $routes->setHTTPVerb(Method::GET)->getRoutesOptions('administrator', Method::POST); - $this->assertSame($options, ['as' => 'admin2', 'foo' => 'baz2', 'bar' => 'baz']); + $this->assertSame(['as' => 'admin2', 'foo' => 'baz2', 'bar' => 'baz'], $options); } public function testRouteGroupWithFilterSimple(): void diff --git a/tests/system/Router/RouterTest.php b/tests/system/Router/RouterTest.php index ec06de96e0b3..6e22c95ed4f9 100644 --- a/tests/system/Router/RouterTest.php +++ b/tests/system/Router/RouterTest.php @@ -550,7 +550,7 @@ public function testMatchedRouteOptions(): void $router->handle('foo'); - $this->assertSame($router->getMatchedRouteOptions(), ['as' => 'login', 'foo' => 'baz']); + $this->assertSame(['as' => 'login', 'foo' => 'baz'], $router->getMatchedRouteOptions()); } public function testRouteWorksWithFilters(): void diff --git a/tests/system/View/ParserFilterTest.php b/tests/system/View/ParserFilterTest.php index 5761d0fbb74b..3e4c4d40d9b6 100644 --- a/tests/system/View/ParserFilterTest.php +++ b/tests/system/View/ParserFilterTest.php @@ -181,12 +181,6 @@ public function testHighlightCode(): void $parser->setData($data); $template = '{ value1|highlight_code }'; - $expected = <<<'EOF' - - Sincerely  - - - EOF; // PHP 8.3 changes the output. if (PHP_VERSION_ID >= 80300) { From 10a8492fb5ac18d70d638aa14382858f9b2f2532 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 6 Oct 2026 18:17:58 +0700 Subject: [PATCH 3/3] flip whole block test assert --- tests/system/Database/Live/ForgeTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/system/Database/Live/ForgeTest.php b/tests/system/Database/Live/ForgeTest.php index 879f87e94327..8c5b80e1c8d7 100644 --- a/tests/system/Database/Live/ForgeTest.php +++ b/tests/system/Database/Live/ForgeTest.php @@ -546,8 +546,8 @@ public function testForeignKey(): void $this->assertSame($foreignKeyData[$foreignKeyName]->constraint_name, $foreignKeyName); $this->assertSame(['users_id'], $foreignKeyData[$foreignKeyName]->column_name); $this->assertSame(['id'], $foreignKeyData[$foreignKeyName]->foreign_column_name); - $this->assertSame($foreignKeyData[$foreignKeyName]->table_name, $this->db->DBPrefix . $tableName); - $this->assertSame($foreignKeyData[$foreignKeyName]->foreign_table_name, $this->db->DBPrefix . 'forge_test_users'); + $this->assertSame($this->db->DBPrefix . $tableName, $foreignKeyData[$foreignKeyName]->table_name); + $this->assertSame($this->db->DBPrefix . 'forge_test_users', $foreignKeyData[$foreignKeyName]->foreign_table_name); $this->forge->dropTable($tableName, true); $this->forge->dropTable('forge_test_users', true);