diff --git a/CHANGELOG.md b/CHANGELOG.md index d2c6cd5..5f23533 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [[v0.2.6](https://github.com/The-FireHub-Project/Runtime/compare/v0.2.5...v0.2.6)] – 2026-09-11 + +### Changed +* Remove legacy data providers from FireHub tests and update references by @dieselxxx + ## [[v0.2.5](https://github.com/The-FireHub-Project/Runtime/compare/v0.2.4...v0.2.5)] – 2026-09-11 ### Fixed diff --git a/README.md b/README.md index 2a24190..4d69d5c 100644 --- a/README.md +++ b/README.md @@ -7,12 +7,12 @@ PHP Runtime Foundation
release version @@ -22,25 +22,46 @@ /> -[![PHPStan](https://github.com/The-FireHub-Project/Runtime/actions/workflows/PHPStan.yml/badge.svg?branch=develop)](https://github.com/The-FireHub-Project/Runtime/actions/workflows/PHPStan.yml) -[![PHPUnit](https://github.com/The-FireHub-Project/Runtime/actions/workflows/PHPUnit.yml/badge.svg?branch=develop)](https://github.com/The-FireHub-Project/Runtime/actions/workflows/PHPUnit.yml) -[![Codecov](https://codecov.io/gh/The-FireHub-Project/Runtime/branch/develop/graph/badge.svg?token=XW2YEONF51)](https://app.codecov.io/gh/The-FireHub-Project/Runtime/tree/develop) -

- + + GitHub created at + GitHub last commit (branch) - + GitHub activity (branch) - + + GitHub contributors + GitHub commit difference between two branches + + GitHub top language + + GitHub repo size + + GitHub code size

@@ -54,47 +75,55 @@ Its role is to provide a consistent execution foundation between native PHP capa --- -## FireHub Icon Development Branch +## FireHub Icon Repository Purpose -⚠️ **This is the `develop` branch** +This repository provides a lightweight PHP runtime abstraction layer that wraps native PHP functionality into clean, consistent, and deterministic APIs. -- Unstable -- APIs may change without notice -- Not intended for production use +Its purpose is to reduce boilerplate and standardize common execution patterns across the FireHub ecosystem by offering ergonomic helper classes for arrays, strings, files, environment access, and other low-level runtime operations. -## FireHub Icon Branch Purpose +It is strictly focused on execution-level concerns and does not contain domain logic, business rules, or framework-level orchestration. It exists to improve developer productivity while preserving native PHP behavior and ensuring zero framework coupling. -The `develop` branch is the **primary integration branch** for all ongoing development. +## FireHub Icon Security -It serves as the staging area where: -- Feature branches are merged -- Bug fixes are integrated -- Experimental work is stabilized -- Code is prepared for upcoming releases +For security reporting and guidelines, please refer to our [SECURITY.md](https://github.com/The-FireHub-Project/.github/blob/master/.github/SECURITY.md) file. -All **release branches** are created **from `develop`**. +## FireHub Icon Community -## Stability Guarantee +![GitHub watchers](https://img.shields.io/github/watchers/The-FireHub-Project/Runtime?style=social) +![GitHub Repo stars](https://img.shields.io/github/stars/The-FireHub-Project/Runtime?style=social) +![GitHub forks](https://img.shields.io/github/forks/The-FireHub-Project/Runtime?style=social) -❌ No backward compatibility guarantee -❌ APIs may change without notice -❌ Behavior may be incomplete or inconsistent -❌ Breaking changes are expected +- Be sure to review the [Code of Conduct](https://github.com/The-FireHub-Project/.github/blob/master/.github/CODE_OF_CONDUCT.md). +- Read a [Contributing](https://github.com/The-FireHub-Project/.github/blob/master/.github/CONTRIBUTING.md) file to see how you can contribute to this project. +- Read our [Security policy](https://github.com/The-FireHub-Project/.github/blob/master/.github/SECURITY.md) file to see how you can report a vulnerability. +- Review the project [Governance model](https://github.com/The-FireHub-Project/.github/blob/master/.github/GOVERNANCE.md), including roles, decision-making, RFC process, and releases. -This branch is intended **only for contributors and advanced testers**. +## FireHub Icon Support -## FireHub Icon Composer Usage (Not Recommended) +

+ + GitHub in-progress issues + + GitHub total issues + + GitHub opened pull requests +

-For internal testing only: +For help with FireHub products, please refer to the following resources: -```json -{ - "require": { - "the-firehub-project/runtime": "dev-develop" - } -} -``` -⚠️ Never use dev-develop in production. +- **General questions & discussions**: [GitHub Discussions](https://github.com/orgs/The-FireHub-Project/discussions) +- **Bug reports & issues**: [Support](https://github.com/The-FireHub-Project/Runtime/issues) +- **Documentation & guides**: [FireHub Docs](https://the-firehub-project.github.io) +- **Commercial support** (Pro/Enterprise): contact your account manager ## FireHub Icon Authors and Contributors diff --git a/tests/DataProviders/ArrDataProvider.php b/tests/DataProviders/ArrDataProvider.php deleted file mode 100644 index 132b9c6..0000000 --- a/tests/DataProviders/ArrDataProvider.php +++ /dev/null @@ -1,67 +0,0 @@ - - * @copyright 2026-present The FireHub Project - All rights reserved - * @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0 - * - * @php-version >=7.4 - * @package Runtime\Tests - */ - -namespace FireHub\Tests\Runtime\DataProviders; - -/** - * ### Array data provider - * @since 1.0.0 - */ -final class ArrDataProvider { - - /** - * @since 1.0.0 - * - * @return array - */ - public static function list ():array { - - return [ - [[1, 2, 3]], - [[10.2, 200, -3]], - [['x', 'y', 'z']], - [[]] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array - */ - public static function associative ():array { - - return [ - [['one' => 1, 'two' => 2, 'three' => 3]], - [['ONE' => 1, 'TWO' => 2, 'THREE' => 3]], - [[2 => '', 'x' => null, 5 => false]] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array - */ - public static function multidimensional ():array { - - return [ - [['one' => [1, 2, 3], 'two' => [4, 5, 6], 'three' => [7, 8, 9]]], - [[1 => [1 => null, 2 => false], 2 => [1 => true, 'x' => false]]] - ]; - - } - -} \ No newline at end of file diff --git a/tests/DataProviders/ConstantDataProvider.php b/tests/DataProviders/ConstantDataProvider.php deleted file mode 100644 index 9763b39..0000000 --- a/tests/DataProviders/ConstantDataProvider.php +++ /dev/null @@ -1,39 +0,0 @@ - - * @copyright 2026-present The FireHub Project - All rights reserved - * @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0 - * - * @php-version >=7.4 - * @package Runtime\Tests - */ - -namespace FireHub\Tests\Runtime\DataProviders; - -/** - * ### Constant data provider - * @since 1.0.0 - */ -final class ConstantDataProvider { - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function types ():array { - - return [ - ['testString', 'test'], - ['testInt', 10], - ['testBool', false], - ['testNull', null], - ['testArray', ['x']] - ]; - - } - -} \ No newline at end of file diff --git a/tests/DataProviders/DataDataProvider.php b/tests/DataProviders/DataDataProvider.php deleted file mode 100644 index 687ab57..0000000 --- a/tests/DataProviders/DataDataProvider.php +++ /dev/null @@ -1,163 +0,0 @@ - - * @copyright 2026-present The FireHub Project - All rights reserved - * @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0 - * - * @php-version >=7.4 - * @package Runtime\Tests - */ - -namespace FireHub\Tests\Runtime\DataProviders; -use Countable; - -/** - * ### Data data provider - * @since 1.0.0 - */ -final class DataDataProvider { - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function string ():array { - - return [ - ['firehub'], - [''] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function int ():array { - - return [ - [10], - [-5], - [0] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function float ():array { - - return [ - [10.5], - [-2.3] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function array ():array { - - return [ - [[1, 2, 3]], - [[1 => 'one', 2 => 'two', 3 => 'three']] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function null ():array { - - return [ - [null] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function bool ():array { - - return [ - [true], - [false] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function callable ():array { - - return [ - [fn() => true], - [new class {public function __invoke () {}}] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function countable ():array { - - return [ - [new class implements Countable {public function count ():int {return 10;}}] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function resource ():array { - - return [ - [fopen('php://stdout', 'wb')] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function closedResource ():array { - - $resource = fopen('php://stdout', 'wb'); - fclose($resource); - - return [ - [$resource] - ]; - - } - -} \ No newline at end of file diff --git a/tests/DataProviders/DateDataProvider.php b/tests/DataProviders/DateDataProvider.php deleted file mode 100644 index c90abe7..0000000 --- a/tests/DataProviders/DateDataProvider.php +++ /dev/null @@ -1,88 +0,0 @@ - - * @copyright 2026-present The FireHub Project - All rights reserved - * @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0 - * - * @php-version >=7.4 - * @package Runtime\Tests - */ - -namespace FireHub\Tests\Runtime\DataProviders; - -use FireHub\Core\Type\Date\Zone; - -/** - * ### Date data provider - * @since 1.0.0 - */ -final class DateDataProvider { - - /** - * @since 1.0.0 - * - * @return array - */ - public static function validDates ():array { - - return [ - [1, 1, 1], - [2024, 12, 31], - [1000, 10, 6] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array - */ - public static function invalidDates ():array { - - return [ - [0, -1, -1], - [1, 1, 32], - [1, 13, 12] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array - */ - public static function stringToTime ():array { - - return [ - ['now'], - ['10 September 2000'], - ['+1 day'], - ['+1 week'], - ['+1 week 2 days 4 hours 2 seconds'], - ['next Thursday'], - ['last Monday'] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array<\FireHub\Core\Type\Date\Zone[]> - */ - public static function timezones ():array { - - $zones = []; - foreach (Zone::cases() as $zone) - $zones[][] = $zone; - - return $zones; - - } - -} \ No newline at end of file diff --git a/tests/DataProviders/NumDataProvider.php b/tests/DataProviders/NumDataProvider.php deleted file mode 100644 index bc98eef..0000000 --- a/tests/DataProviders/NumDataProvider.php +++ /dev/null @@ -1,88 +0,0 @@ - - * @copyright 2026-present The FireHub Project - All rights reserved - * @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0 - * - * @php-version >=7.4 - * @package Runtime\Tests - */ - -namespace FireHub\Tests\Runtime\DataProviders; - -/** - * ### Numeric data provider - * @since 1.0.0 - */ -final class NumDataProvider { - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function positiveInt ():array { - - return [[10], [45874], [INF]]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function negativeInt ():array { - - return [[-1], [-4568], [-INF]]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function positiveFloat ():array { - - return [[0.435435], [45.223], [43253.43543]]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function negativeFloat ():array { - - return [[-0.3532545], [-1.2], [-10.567]]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function null ():array { - - return [[0], [-0], [0.0000], [-0.00]]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function nan ():array { - - return [[NAN]]; - - } - -} \ No newline at end of file diff --git a/tests/DataProviders/ResourceDataProvider.php b/tests/DataProviders/ResourceDataProvider.php deleted file mode 100644 index 150b80c..0000000 --- a/tests/DataProviders/ResourceDataProvider.php +++ /dev/null @@ -1,35 +0,0 @@ - - * @copyright 2026-present The FireHub Project - All rights reserved - * @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0 - * - * @php-version >=7.4 - * @package Runtime\Tests - */ - -namespace FireHub\Tests\Runtime\DataProviders; - -/** - * ### Resource data provider - * @since 1.0.0 - */ -final class ResourceDataProvider { - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function stream ():array { - - return [ - [fopen('php://stdout', 'wb')] - ]; - - } - -} \ No newline at end of file diff --git a/tests/DataProviders/StrDataProvider.php b/tests/DataProviders/StrDataProvider.php deleted file mode 100644 index ad916b8..0000000 --- a/tests/DataProviders/StrDataProvider.php +++ /dev/null @@ -1,48 +0,0 @@ - - * @copyright 2026-present The FireHub Project - All rights reserved - * @license https://opensource.org/license/Apache-2-0 Apache License, Version 2.0 - * - * @php-version >=7.4 - * @package Runtime\Tests - */ - -namespace FireHub\Tests\Runtime\DataProviders; - -/** - * ### String data provider - * @since 1.0.0 - */ -final class StrDataProvider { - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function stringsSB ():array { - - return [ - ['The lazy fox jumped over the fence.'] - ]; - - } - - /** - * @since 1.0.0 - * - * @return array> - */ - public static function stringsMB ():array { - - return [ - ['đščćž 诶杰艾玛 ЛЙ ÈßÁ カタカナ'] - ]; - - } - -} \ No newline at end of file diff --git a/tests/Unit/Arr/InspectionTest.php b/tests/Unit/Arr/InspectionTest.php index 1c6bccb..35e368b 100644 --- a/tests/Unit/Arr/InspectionTest.php +++ b/tests/Unit/Arr/InspectionTest.php @@ -15,7 +15,7 @@ use FireHub\Testing\FireHubTestCase; use FireHub\Runtime\Arr; -use FireHub\Tests\Runtime\DataProviders\ArrDataProvider; +use FireHub\Testing\DataProviders\ArrDataProvider; use FireHub\Testing\Stubs\CountableClass; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Group, Small, TestWith diff --git a/tests/Unit/Arr/OrderingTest.php b/tests/Unit/Arr/OrderingTest.php index b6f7b2b..18816c7 100644 --- a/tests/Unit/Arr/OrderingTest.php +++ b/tests/Unit/Arr/OrderingTest.php @@ -19,7 +19,7 @@ use FireHub\Runtime\Type\Arr\ { SortFlag, SortType }; -use FireHub\Tests\Runtime\DataProviders\ArrDataProvider; +use FireHub\Testing\DataProviders\ArrDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Group, Small, TestWith }; diff --git a/tests/Unit/ConstantTest.php b/tests/Unit/ConstantTest.php index 6848962..a3aba61 100644 --- a/tests/Unit/ConstantTest.php +++ b/tests/Unit/ConstantTest.php @@ -18,7 +18,7 @@ use FireHub\Runtime\Exception\{ ConstantAlreadyDefinedException, UndefinedConstantException }; -use FireHub\Tests\Runtime\DataProviders\ConstantDataProvider; +use FireHub\Testing\DataProviders\ConstantDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Depends, Group, Small, TestWith }; diff --git a/tests/Unit/DataTest.php b/tests/Unit/DataTest.php index 285bdea..59e38f9 100644 --- a/tests/Unit/DataTest.php +++ b/tests/Unit/DataTest.php @@ -22,7 +22,7 @@ ArrayToStringConversionException, CannotSerializeException, CannotUnserializeException, ResourceTypeConversionException }; -use FireHub\Tests\Runtime\DataProviders\DataDataProvider; +use FireHub\Testing\DataProviders\DataDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Group, Small, TestWith }; diff --git a/tests/Unit/Date/CalendarTest.php b/tests/Unit/Date/CalendarTest.php index d183ab7..f323ba1 100644 --- a/tests/Unit/Date/CalendarTest.php +++ b/tests/Unit/Date/CalendarTest.php @@ -15,7 +15,7 @@ use FireHub\Testing\FireHubTestCase; use FireHub\Runtime\Date; -use FireHub\Tests\Runtime\DataProviders\DateDataProvider; +use FireHub\Testing\DataProviders\DateDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Group, Small, TestWith }; diff --git a/tests/Unit/Date/ParseTest.php b/tests/Unit/Date/ParseTest.php index 337efe8..e66c96d 100644 --- a/tests/Unit/Date/ParseTest.php +++ b/tests/Unit/Date/ParseTest.php @@ -18,7 +18,7 @@ use FireHub\Runtime\Exception\{ CannotParseTimestampException, ParseFromFormatException }; -use FireHub\Tests\Runtime\DataProviders\DateDataProvider; +use FireHub\Testing\DataProviders\DateDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Group, Small, TestWith }; diff --git a/tests/Unit/Date/TimezoneTest.php b/tests/Unit/Date/TimezoneTest.php index 1d0c41a..2efdbfd 100644 --- a/tests/Unit/Date/TimezoneTest.php +++ b/tests/Unit/Date/TimezoneTest.php @@ -16,7 +16,7 @@ use FireHub\Testing\FireHubTestCase; use FireHub\Runtime\Date; use FireHub\Core\Type\Date\Zone; -use FireHub\Tests\Runtime\DataProviders\DateDataProvider; +use FireHub\Testing\DataProviders\DateDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Group, Small }; diff --git a/tests/Unit/MathTest.php b/tests/Unit/MathTest.php index 8c6a92d..d7853a6 100644 --- a/tests/Unit/MathTest.php +++ b/tests/Unit/MathTest.php @@ -18,7 +18,7 @@ use FireHub\Runtime\Math\ { LogBase, RoundMode }; -use FireHub\Tests\Runtime\DataProviders\NumDataProvider; +use FireHub\Testing\DataProviders\NumDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Depends, Group, Small, TestWith }; diff --git a/tests/Unit/ResourceManagerTest.php b/tests/Unit/ResourceManagerTest.php index 83c8005..a95fc8b 100644 --- a/tests/Unit/ResourceManagerTest.php +++ b/tests/Unit/ResourceManagerTest.php @@ -16,7 +16,7 @@ use FireHub\Testing\FireHubTestCase; use FireHub\Runtime\ResourceManager; use FireHub\Runtime\Type\Resource; -use FireHub\Tests\Runtime\DataProviders\ResourceDataProvider; +use FireHub\Testing\DataProviders\ResourceDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Depends, Group, Small, TestWith }; diff --git a/tests/Unit/Str/SB/TransformTest.php b/tests/Unit/Str/SB/TransformTest.php index b01b786..3cdfdd3 100644 --- a/tests/Unit/Str/SB/TransformTest.php +++ b/tests/Unit/Str/SB/TransformTest.php @@ -19,7 +19,7 @@ use FireHub\Runtime\Exception\ { EmptyPadException, InvalidChunkLengthException }; -use FireHub\Tests\Runtime\DataProviders\StrDataProvider; +use FireHub\Testing\DataProviders\StrDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, DependsExternal, Group, Small, TestWith }; diff --git a/tests/Unit/Type/Data/TypeTest.php b/tests/Unit/Type/Data/TypeTest.php index 5f6e4e2..5fbb598 100644 --- a/tests/Unit/Type/Data/TypeTest.php +++ b/tests/Unit/Type/Data/TypeTest.php @@ -17,7 +17,7 @@ use FireHub\Runtime\Type\Data\ { Category, Type }; -use FireHub\Tests\Runtime\DataProviders\DataDataProvider; +use FireHub\Testing\DataProviders\DataDataProvider; use PHPUnit\Framework\Attributes\ { CoversClass, DataProviderExternal, Group, Small };