Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/phpstan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
variants: [{ php: 7.4 }, { php: 8.2 }, { php: 8.4 } ]
variants: [ { php: 8.2 }, { php: 8.4 } ]
steps:
- name: Checkout code
uses: actions/checkout@v6
Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,19 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Checkout code
uses: actions/checkout@v4

- uses: php-actions/composer@v6
- name: Install dependencies
uses: php-actions/composer@v6

- name: Tests
uses: php-actions/phpunit@v3
- name: Run tests
uses: php-actions/phpunit@v4
env:
TEST_NAME: Scarlett
with:
bootstrap: vendor/autoload.php
configuration: phpunit.xml
args: --coverage-text
version: 9
php_version: "7.4"
version: 11
php_version: "8.2"
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
"mods-reader"
],
"require": {
"php": ">=7.4"
"php": ">=8.2"
},
"require-dev": {
"phpstan/phpstan": "^1.12",
"phpunit/phpunit": "~9.6"
"phpstan/phpstan": "^2.2",
"phpunit/phpunit": "^11.5"
},
"autoload": {
"psr-4": {
Expand Down
24 changes: 18 additions & 6 deletions phpunit.xml
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.5/phpunit.xsd"
bootstrap="../vendor/phpunit/tests/bootstrap.php"
cacheDirectory=".phpunit.cache"
shortenArraysForExportThreshold="10"
beStrictAboutOutputDuringTests="true"
displayDetailsOnPhpunitDeprecations="true"
failOnPhpunitDeprecation="false"
failOnPhpunitWarning="false"
failOnRisky="true"
failOnWarning="false"
colors="true">
<testsuites>
<testsuite name="MODS Reader Test Suite">
<directory>./tests/Mods/</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
</whitelist>
</filter>
<php>
<ini name="precision" value="14"/>
<ini name="serialize_precision" value="14"/>

<const name="PHPUNIT_TESTSUITE" value="true"/>
</php>
</phpunit>
25 changes: 7 additions & 18 deletions tests/Mods/Reader/AbstractReaderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

namespace Slub\Mods\Reader;

use PHPUnit\Framework\Attributes\Test;
use Slub\Mods\ModsReaderTest;

/**
Expand All @@ -20,9 +21,7 @@
class AbstractReaderTest extends ModsReaderTest
{

/**
* @test
*/
#[Test]
public function getAbstractForBookDocument()
{
$abstract = $this->bookReader->getAbstract();
Expand All @@ -34,9 +33,7 @@ public function getAbstractForBookDocument()
self::assertTrue($abstract->isShareable());
}

/**
* @test
*/
#[Test]
public function getAbstractByQueryForBookDocument()
{
$abstract = $this->bookReader->getAbstract('[@displayLabel="Content description"]');
Expand All @@ -48,18 +45,14 @@ public function getAbstractByQueryForBookDocument()
self::assertTrue($abstract->isShareable());
}

/**
* @test
*/
#[Test]
public function getNoAbstractByQueryForBookDocument()
{
$abstract = $this->bookReader->getAbstract('[@displayLabel="Random"]');
self::assertNull($abstract);
}

/**
* @test
*/
#[Test]
public function getAbstractForSerialDocument()
{
$abstract = $this->serialReader->getAbstract();
Expand All @@ -70,9 +63,7 @@ public function getAbstractForSerialDocument()
self::assertFalse($abstract->isShareable());
}

/**
* @test
*/
#[Test]
public function getAbstractByQueryForSerialDocument()
{
$abstract = $this->serialReader->getAbstract('[@shareable="no"]');
Expand All @@ -83,9 +74,7 @@ public function getAbstractByQueryForSerialDocument()
self::assertFalse($abstract->isShareable());
}

/**
* @test
*/
#[Test]
public function getNoAbstractByQueryForSerialDocument()
{
$abstract = $this->serialReader->getAbstract('[@shareable="yes"]');
Expand Down
61 changes: 17 additions & 44 deletions tests/Mods/Reader/AccessConditionReaderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

namespace Slub\Mods\Reader;

use PHPUnit\Framework\Attributes\Test;
use Slub\Mods\Element\AccessCondition;
use Slub\Mods\ModsReaderTest;

Expand All @@ -21,9 +22,7 @@
class AccessConditionReaderTest extends ModsReaderTest
{

/**
* @test
*/
#[Test]
public function getAccessConditionsForBookDocument()
{
$accessConditions = $this->bookReader->getAccessConditions();
Expand All @@ -32,36 +31,28 @@ public function getAccessConditionsForBookDocument()
self::assertAccessConditionForBookDocument($accessConditions[0]);
}

/**
* @test
*/
#[Test]
public function getAccessConditionForBookDocument()
{
$accessCondition = $this->bookReader->getAccessCondition(0);
self::assertAccessConditionForBookDocument($accessCondition);
}

/**
* @test
*/
#[Test]
public function getFirstAccessConditionForBookDocument()
{
$accessCondition = $this->bookReader->getFirstAccessCondition();
self::assertAccessConditionForBookDocument($accessCondition);
}

/**
* @test
*/
#[Test]
public function getLastAccessConditionForBookDocument()
{
$accessCondition = $this->bookReader->getLastAccessCondition();
self::assertAccessConditionForBookDocument($accessCondition);
}

/**
* @test
*/
#[Test]
public function getAccessConditionsByQueryForBookDocument()
{
$accessConditions = $this->bookReader->getAccessConditions('[@type="use and reproduction"]');
Expand All @@ -70,63 +61,49 @@ public function getAccessConditionsByQueryForBookDocument()
self::assertAccessConditionForBookDocument($accessConditions[0]);
}

/**
* @test
*/
#[Test]
public function getFirstAccessConditionByQueryForBookDocument()
{
$accessCondition = $this->bookReader->getFirstAccessCondition('[@type="use and reproduction"]');
self::assertAccessConditionForBookDocument($accessCondition);
}

/**
* @test
*/
#[Test]
public function getLastAccessConditionByQueryForBookDocument()
{
$accessCondition = $this->bookReader->getLastAccessCondition('[@type="use and reproduction"]');
self::assertAccessConditionForBookDocument($accessCondition);
}

/**
* @test
*/
#[Test]
public function getNoAccessConditionsByQueryForBookDocument()
{
$accessConditions = $this->bookReader->getAccessConditions('[@type="restriction on access"]');
self::assertEmpty($accessConditions);
}

/**
* @test
*/
#[Test]
public function getNoAccessConditionByQueryForBookDocument()
{
$accessCondition = $this->bookReader->getAccessCondition(1, '[@type="restriction on access"]');
self::assertNull($accessCondition);
}

/**
* @test
*/
#[Test]
public function getNoFirstAccessConditionsByQueryForBookDocument()
{
$accessCondition = $this->bookReader->getFirstAccessCondition('[@type="restriction on access"]');
self::assertNull($accessCondition);
}

/**
* @test
*/
#[Test]
public function getNoLastAccessConditionsByQueryForBookDocument()
{
$accessCondition = $this->bookReader->getLastAccessCondition('[@type="restriction on access"]');
self::assertNull($accessCondition);
}

/**
* @test
*/
#[Test]
public function getAccessConditionsForSerialDocument()
{
$accessConditions = $this->serialReader->getAccessConditions();
Expand All @@ -135,9 +112,7 @@ public function getAccessConditionsForSerialDocument()
self::assertAccessConditionForSerialDocument($accessConditions[0]);
}

/**
* @test
*/
#[Test]
public function getAccessConditionsByQueryForSerialDocument()
{
$accessConditions = $this->serialReader->getAccessConditions('[@type="restriction on access"]');
Expand All @@ -146,16 +121,14 @@ public function getAccessConditionsByQueryForSerialDocument()
self::assertAccessConditionForSerialDocument($accessConditions[0]);
}

/**
* @test
*/
#[Test]
public function getNoAccessConditionsByQueryForSerialDocument()
{
$accessConditions = $this->serialReader->getAccessConditions('[@type="use and reproduction"]');
self::assertEmpty($accessConditions);
}

private static function assertAccessConditionForBookDocument(AccessCondition $accessCondition)
private static function assertAccessConditionForBookDocument(AccessCondition $accessCondition): void
{
self::assertNotEmpty($accessCondition->getValue());
self::assertEquals('Use of this public-domain resource is unrestricted.', $accessCondition->getValue());
Expand All @@ -165,7 +138,7 @@ private static function assertAccessConditionForBookDocument(AccessCondition $ac
self::assertEmpty($accessCondition->getXlinkHref());
}

private static function assertAccessConditionForSerialDocument(AccessCondition $accessCondition)
private static function assertAccessConditionForSerialDocument(AccessCondition $accessCondition): void
{
self::assertNotEmpty($accessCondition->getValue());
self::assertEquals('Open Access', $accessCondition->getValue());
Expand Down
Loading
Loading