Skip to content
Snippets Groups Projects
Commit 01435372 authored by David Prévot's avatar David Prévot
Browse files

New upstream version 0.2.0

parents bf8c094d 43d77908
No related branches found
No related tags found
No related merge requests found
......@@ -14,6 +14,7 @@ jobs:
php-versions:
- '8.1'
- '8.2'
- '8.3'
steps:
- uses: actions/checkout@v3
......
# CHANGELOG
## 0.1.0 (2023-13-03)
## Not released yet
## 0.2.0 (2024-10-02)
* Remove mb_string extension requirement
* Add Docker support
## 0.1.0 (2023-12-03)
* Initial release
......@@ -21,6 +21,7 @@ OsHelper::isWindowsSeven(); // true or false
OsHelper::isWindowsEightOrHigher(); // true or false
OsHelper::isWindowsSubsystemForLinux(); // true or false
OsHelper::isMacOs(); // true or false
OsHelper::isDocker(); // true or false
OsHelper::getMacOSVersion(); // 10.15.7
```
......
......@@ -15,7 +15,7 @@ class OsHelper
public static function isWindowsSubsystemForLinux(): bool
{
return self::isUnix() && false !== mb_strpos(strtolower(php_uname()), 'microsoft');
return !self::isDocker() && self::isUnix() && str_contains(strtolower(php_uname()), 'microsoft');
}
public static function isWindows(): bool
......@@ -50,6 +50,11 @@ class OsHelper
return str_contains(self::$kernelName, 'Darwin');
}
public static function isDocker(): bool
{
return file_exists('/.dockerenv') || (file_exists('/proc/self/cgroup') && false !== mb_strpos(file_get_contents('/proc/self/cgroup') ?: '', 'docker'));
}
public static function getMacOSVersion(): string
{
if (!isset(self::$macOSVersion)) {
......
......@@ -65,6 +65,13 @@ class OsHelperTest extends TestCase
$this->assertSame($isDarwin, OsHelper::isMacOS());
}
public function testIsDocker()
{
$isDocker = file_exists('/.dockerenv') || (file_exists('/proc/self/cgroup') && false !== mb_strpos(file_get_contents('/proc/self/cgroup') ?: '', 'docker'));
$this->assertSame($isDocker, OsHelper::isDocker());
}
public function testGetMacOSVersion()
{
if (!OsHelper::isMacOS()) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment