forked from solariumphp/solarium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClientTest.php
90 lines (75 loc) · 2.18 KB
/
ClientTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
namespace Solarium\Tests;
use Composer\InstalledVersions;
use PHPUnit\Framework\TestCase;
use Solarium\Client;
class ClientTest extends TestCase
{
protected static string $installedVersion;
public static function setUpBeforeClass(): void
{
self::$installedVersion = InstalledVersions::getPrettyVersion('solarium/solarium');
// @see https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
$semverRegex =
'/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/'
;
if (!preg_match($semverRegex, self::$installedVersion)) {
self::markTestSkipped(sprintf('Skipping tests against non-semantic version string %s.', self::$installedVersion));
}
}
public function testGetVersion()
{
$this->assertSame(
self::$installedVersion,
Client::getVersion()
);
}
public function testCheckExact()
{
$this->assertTrue(
Client::checkExact(self::$installedVersion)
);
}
public function testCheckExactPartial()
{
$this->assertTrue(
Client::checkExact(substr(self::$installedVersion, 0, 1))
);
}
public function testCheckExactLower()
{
$this->assertFalse(
Client::checkExact('0.1')
);
}
public function testCheckExactHigher()
{
$this->assertFalse(
Client::checkExact('99.0')
);
}
public function testCheckMinimal()
{
$this->assertTrue(
Client::checkMinimal(self::$installedVersion)
);
}
public function testCheckMinimalPartial()
{
$this->assertTrue(
Client::checkMinimal(substr(self::$installedVersion, 0, 1))
);
}
public function testCheckMinimalLower()
{
$this->assertTrue(
Client::checkMinimal('0.1.0')
);
}
public function testCheckMinimalHigher()
{
$this->assertFalse(
Client::checkMinimal('99.0')
);
}
}