Skip to content

Commit

Permalink
Merge pull request #23 from chadicus/master
Browse files Browse the repository at this point in the history
Allow older versions of PHP
  • Loading branch information
chadicus committed Apr 4, 2024
2 parents 295c2aa + b6e4531 commit 1ba8aba
Show file tree
Hide file tree
Showing 9 changed files with 92 additions and 121 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/php.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ on:

jobs:
build:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.3', '7.4', '8.0', '8.1']
php-versions: ['7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3']
steps:
- name: Checkout
uses: actions/checkout@v2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
composer.lock
phpunit.xml
phpcs.xml
.*
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
"sort-packages": true
},
"require": {
"php": "^7.3 || ^8.0",
"php": "^7.0||^8.0",
"psr/simple-cache": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "^9.3",
"phpunit/phpunit": ">=6.5",
"squizlabs/php_codesniffer": "^3.3"
},
"autoload": {
Expand Down
14 changes: 5 additions & 9 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
<?xml version="1.0"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" colors="true" forceCoversAnnotation="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
<coverage>
<include>
<directory>src</directory>
</include>
<report>
<clover outputFile="./clover.xml"/>
</report>
</coverage>
<testsuites>
<testsuite name="PHP Library Test Suite">
<directory suffix="Test.php">tests</directory>
</testsuite>
</testsuites>
<logging/>
<filter>
<whitelist>
<directory>src</directory>
</whitelist>
</filter>
</phpunit>
102 changes: 49 additions & 53 deletions tests/InMemoryCacheTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,6 @@
*/
final class InMemoryCacheTest extends \PHPUnit\Framework\TestCase
{
/**
* @var InMemoryCache
*/
private $cache;

/**
* @var ArrayObject
*/
private $container;

/**
* @return void
*/
public function setUp() : void
{
$this->container = new ArrayObject();
$this->cache = new InMemoryCache($this->container);
}

/**
* @test
* @covers ::get
Expand All @@ -40,9 +21,11 @@ public function setUp() : void
*/
public function get()
{
$container = new ArrayObject();
$cache = new InMemoryCache($container);
$dateTime = new DateTime();
$this->container['foo'] = ['data' => $dateTime, 'expires' => PHP_INT_MAX];
$this->assertEquals($dateTime, $this->cache->get('foo'));
$container['foo'] = ['data' => $dateTime, 'expires' => PHP_INT_MAX];
$this->assertEquals($dateTime, $cache->get('foo'));
}

/**
Expand All @@ -53,8 +36,9 @@ public function get()
*/
public function getKeyNotFound()
{
$cache = new InMemoryCache(new ArrayObject());
$default = new \StdClass();
$this->assertSame($default, $this->cache->get('foo', $default));
$this->assertSame($default, $cache->get('foo', $default));
}

/**
Expand All @@ -65,8 +49,10 @@ public function getKeyNotFound()
*/
public function getExpired()
{
$this->container['foo'] = ['data' => new DateTime(), 'expires' => -10];
$this->assertNull($this->cache->get('foo'));
$container = new ArrayObject();
$container['foo'] = ['data' => new DateTime(), 'expires' => -10];
$cache = new InMemoryCache($container);
$this->assertNull($cache->get('foo'));
}

/**
Expand All @@ -77,12 +63,13 @@ public function getExpired()
*/
public function getMultple()
{
$cache = new InMemoryCache(new ArrayObject());
$default = new \StdClass();
$dateTime = new \DateTime();
$exception = new \RuntimeException();
$this->cache->set('foo', $dateTime);
$this->cache->set('bar', $exception);
$actual = $this->cache->getMultiple(['foo', 'baz', 'bar'], $default);
$cache->set('foo', $dateTime);
$cache->set('bar', $exception);
$actual = $cache->getMultiple(['foo', 'baz', 'bar'], $default);
$this->assertEquals($dateTime, $actual['foo']);
$this->assertSame($default, $actual['baz']);
$this->assertEquals($exception, $actual['bar']);
Expand All @@ -96,16 +83,18 @@ public function getMultple()
*/
public function setWithIntegerTTL()
{
$container = new ArrayObject();
$cache = new InMemoryCache($container);
$dateTime = new \DateTime();
$this->assertTrue($this->cache->set('foo', $dateTime, 3600));
$this->assertTrue($cache->set('foo', $dateTime, 3600));
$this->assertSame(
[
'foo' => [
'data' => $dateTime,
'expires' => time() + 3600,
],
],
$this->container->getArrayCopy()
$container->getArrayCopy()
);
}

Expand All @@ -118,8 +107,9 @@ public function setWithIntegerTTL()
public function setWithNullTTL()
{
$dateTime = new \DateTime();
$this->assertTrue($this->cache->set('foo', $dateTime));
$this->assertEquals($dateTime, $this->cache->get('foo'));
$cache = new InMemoryCache(new ArrayObject());
$this->assertTrue($cache->set('foo', $dateTime));
$this->assertEquals($dateTime, $cache->get('foo'));
}

/**
Expand All @@ -133,9 +123,10 @@ public function setMultple()
$ttl = \DateInterval::createFromDateString('1 day');
$dateTime = new \DateTime();
$exception = new \RuntimeException();
$this->assertTrue($this->cache->setMultiple(['foo' => $dateTime, 'bar' => $exception], $ttl));
$this->assertEquals($dateTime, $this->cache->get('foo'));
$this->assertEquals($exception, $this->cache->get('bar'));
$cache = new InMemoryCache(new ArrayObject());
$this->assertTrue($cache->setMultiple(['foo' => $dateTime, 'bar' => $exception], $ttl));
$this->assertEquals($dateTime, $cache->get('foo'));
$this->assertEquals($exception, $cache->get('bar'));
}

/**
Expand All @@ -146,10 +137,11 @@ public function setMultple()
*/
public function delete()
{
$cache = new InMemoryCache(new ArrayObject());
$dateTime = new DateTime();
$this->cache->set('foo', $dateTime);
$this->cache->delete('foo');
$this->assertNull($this->cache->get('foo'));
$cache->set('foo', $dateTime);
$cache->delete('foo');
$this->assertNull($cache->get('foo'));
}

/**
Expand All @@ -160,14 +152,15 @@ public function delete()
*/
public function deleteMultiple()
{
$this->cache->set('foo', 'foo');
$this->cache->set('bar', 'bar');
$this->cache->set('baz', 'baz');

$this->cache->deleteMultiple(['foo', 'bar']);
$this->assertNull($this->cache->get('foo'));
$this->assertNull($this->cache->get('bar'));
$this->assertSame('baz', $this->cache->get('baz'));
$cache = new InMemoryCache(new ArrayObject());
$cache->set('foo', 'foo');
$cache->set('bar', 'bar');
$cache->set('baz', 'baz');

$cache->deleteMultiple(['foo', 'bar']);
$this->assertNull($cache->get('foo'));
$this->assertNull($cache->get('bar'));
$this->assertSame('baz', $cache->get('baz'));
}

/**
Expand All @@ -178,13 +171,15 @@ public function deleteMultiple()
*/
public function clear()
{
$this->cache->set('foo', 'foo');
$this->cache->set('bar', 'bar');
$this->cache->set('baz', 'baz');
$container = new ArrayObject();
$cache = new InMemoryCache($container);
$cache->set('foo', 'foo');
$cache->set('bar', 'bar');
$cache->set('baz', 'baz');

$this->cache->clear();
$cache->clear();

$this->assertSame([], $this->container->getArrayCopy());
$this->assertSame([], $container->getArrayCopy());
}

/**
Expand All @@ -195,8 +190,9 @@ public function clear()
*/
public function has()
{
$this->cache->set('foo', 'foo');
$this->assertTrue($this->cache->has('foo'));
$this->assertFalse($this->cache->has('bar'));
$cache = new InMemoryCache(new ArrayObject());
$cache->set('foo', 'foo');
$this->assertTrue($cache->has('foo'));
$this->assertFalse($cache->has('bar'));
}
}
10 changes: 5 additions & 5 deletions tests/KeyValidatorTraitTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,13 @@ public function validateKeysWithInvalidValue($key)
*
* @return array
*/
public function provideInvalidKeys() : array
public static function provideInvalidKeys() : array
{
return [
['an empty string' => ''],
['an object' => new \StdClass()],
['an integer' => 123],
['reserved characters' => '@key'],
[''],
[new \StdClass()],
[123],
['@key'],
];
}
}
41 changes: 16 additions & 25 deletions tests/NullCacheTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,6 @@
*/
final class NullCacheTest extends \PHPUnit\Framework\TestCase
{
/**
* NullCache instance to use in tests.
*
* @var NullCache
*/
private $cache;

/**
* Prepare each test
*
* @return void
*/
public function setUp() : void
{
$this->cache = new NullCache();
}

/**
* Verify basic behavior of get().
*
Expand All @@ -38,8 +21,9 @@ public function setUp() : void
*/
public function get()
{
$cache = new NullCache();
$default = new \StdClass();
$this->assertSame($default, $this->cache->get('a key', $default));
$this->assertSame($default, $cache->get('a key', $default));
}

/**
Expand All @@ -52,7 +36,8 @@ public function get()
*/
public function set()
{
$this->assertTrue($this->cache->set('a key', 'some data'));
$cache = new NullCache();
$this->assertTrue($cache->set('a key', 'some data'));
}

/**
Expand All @@ -65,7 +50,8 @@ public function set()
*/
public function delete()
{
$this->assertTrue($this->cache->delete('a key'));
$cache = new NullCache();
$this->assertTrue($cache->delete('a key'));
}

/**
Expand All @@ -78,7 +64,8 @@ public function delete()
*/
public function clear()
{
$this->assertTrue($this->cache->clear());
$cache = new NullCache();
$this->assertTrue($cache->clear());
}

/**
Expand All @@ -91,10 +78,11 @@ public function clear()
*/
public function getMultiple()
{
$cache = new NullCache();
$default = new \StdClass();
$this->assertSame(
['key1' => $default, 'key2' => $default],
$this->cache->getMultiple(['key1', 'key2'], $default)
$cache->getMultiple(['key1', 'key2'], $default)
);
}

Expand All @@ -108,7 +96,8 @@ public function getMultiple()
*/
public function setMultiple()
{
$this->assertTrue($this->cache->setMultiple(['key' => 'some data', 'key2' => 'some more data']));
$cache = new NullCache();
$this->assertTrue($cache->setMultiple(['key' => 'some data', 'key2' => 'some more data']));
}

/**
Expand All @@ -121,7 +110,8 @@ public function setMultiple()
*/
public function deleteMultiple()
{
$this->assertTrue($this->cache->deleteMultiple(['key1', 'key2']));
$cache = new NullCache();
$this->assertTrue($cache->deleteMultiple(['key1', 'key2']));
}

/**
Expand All @@ -134,6 +124,7 @@ public function deleteMultiple()
*/
public function has()
{
$this->assertFalse($this->cache->has('key1'));
$cache = new NullCache();
$this->assertFalse($cache->has('key1'));
}
}
Loading

0 comments on commit 1ba8aba

Please sign in to comment.