Skip to content

Upgrade test suite to use generators #834

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 114 commits into from
Jun 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
ddb7a39
refactor: upgrade base test case to force return of generator
DannyvdSluijs Jun 11, 2025
377c2a7
docs: remove class package annotation
DannyvdSluijs Jun 11, 2025
ec83930
refactor: apply generator return in additional properties test
DannyvdSluijs Jun 11, 2025
0a103c8
docs: remove file license annotation
DannyvdSluijs Jun 11, 2025
e60aa9e
refactor: apply generator to arrays test
DannyvdSluijs Jun 11, 2025
b8d32d5
docs: remove file bases license reference
DannyvdSluijs Jun 11, 2025
e8cbf0f
refactor: add missing type hint
DannyvdSluijs Jun 11, 2025
8276d51
refactor: apply generator to basic types test
DannyvdSluijs Jun 11, 2025
d1e148d
docs: remove file based license reference
DannyvdSluijs Jun 11, 2025
988ece1
refactor: add missing type hints
DannyvdSluijs Jun 11, 2025
9ef10bb
refactor: apply generator to const test
DannyvdSluijs Jun 11, 2025
b861843
docs: remove file based reference to license
DannyvdSluijs Jun 11, 2025
78c00ed
refactor: add missing type hints
DannyvdSluijs Jun 11, 2025
bfcd4d8
style: remove redundant newline
DannyvdSluijs Jun 11, 2025
725d361
refactor: apply generator to dependencies test
DannyvdSluijs Jun 11, 2025
1dc17a4
docs: remove file level reference to license
DannyvdSluijs Jun 11, 2025
6d8a182
refactor: add missing type hints
DannyvdSluijs Jun 11, 2025
ff42063
refactor: apply generator to disallow test
DannyvdSluijs Jun 11, 2025
3128028
docs: remove file level license reference; move class comment to corr…
DannyvdSluijs Jun 11, 2025
57fde5e
refactor: remove overriding property with same value
DannyvdSluijs Jun 11, 2025
d55d3c3
refactor: add missing type hint
DannyvdSluijs Jun 11, 2025
993c5bf
refactor: apply generator to divisible by test
DannyvdSluijs Jun 11, 2025
e7027be
docs: remove file level reference to license
DannyvdSluijs Jun 11, 2025
d59d202
refactor: add missing type hint
DannyvdSluijs Jun 11, 2025
738b9ca
refactor: apply generator to enum test
DannyvdSluijs Jun 11, 2025
1abf947
docs: remove file level license reference
DannyvdSluijs Jun 11, 2025
69c25b0
refactor: add missing type hints
DannyvdSluijs Jun 11, 2025
fa4eacf
refactor: apply generator to extends test
DannyvdSluijs Jun 11, 2025
b2c3eb7
docs: remove file level reference to license
DannyvdSluijs Jun 11, 2025
47b0b9f
refactor: add missing type hints
DannyvdSluijs Jun 11, 2025
2d58065
refactor: apply generator to format test
DannyvdSluijs Jun 11, 2025
bc4e582
docs: remove file level reference to license
DannyvdSluijs Jun 11, 2025
425448e
refactor: add missing type hints
DannyvdSluijs Jun 11, 2025
da6d83b
refactor: apply generator to min items max items test
DannyvdSluijs Jun 11, 2025
757b0ee
docs: remove file level reference to license
DannyvdSluijs Jun 11, 2025
c6b83b9
refactor: add missing type hints
DannyvdSluijs Jun 11, 2025
6467bae
refactor: apply generator to min length max length multibyte test
DannyvdSluijs Jun 13, 2025
c5993f6
docs: remove file level reference to license
DannyvdSluijs Jun 13, 2025
122f04a
refactor: add missing type hints
DannyvdSluijs Jun 13, 2025
fcddb1a
refactor: apply generator to min length max length test
DannyvdSluijs Jun 13, 2025
c70a4c0
docs: remove file header reference to license
DannyvdSluijs Jun 13, 2025
5b0991f
refactor: add missing type hints
DannyvdSluijs Jun 13, 2025
7327098
refactor: apply generator in min max properties test
DannyvdSluijs Jun 13, 2025
24687ad
docs: remove file header refernec to license
DannyvdSluijs Jun 13, 2025
73efe13
refactor: add missing type hints
DannyvdSluijs Jun 13, 2025
1ed5d55
refactor: apply generator to minimum maximum tests
DannyvdSluijs Jun 13, 2025
078f632
docs: remove file header license reference
DannyvdSluijs Jun 13, 2025
f7b2d13
refactor: add missing type hints
DannyvdSluijs Jun 13, 2025
96f5d52
refactor: apply generator to not test
DannyvdSluijs Jun 13, 2025
b339614
docs: remove file header license reference
DannyvdSluijs Jun 13, 2025
2142591
refactor: add missing type hints
DannyvdSluijs Jun 13, 2025
cb34328
refactor: apply generator to number and integer types test
DannyvdSluijs Jun 13, 2025
707a02a
docs: remove file header license reference
DannyvdSluijs Jun 13, 2025
0e65cb9
refactor: add missing type hints
DannyvdSluijs Jun 13, 2025
ed86bca
refactor: apply generator to of properties test
DannyvdSluijs Jun 13, 2025
d7cee65
docs: remove file header license reference
DannyvdSluijs Jun 13, 2025
c4749de
docs: remvoe class phpdoc
DannyvdSluijs Jun 13, 2025
e36febc
refactor: add missing type hints
DannyvdSluijs Jun 13, 2025
2e447a3
refactor: enforce cast to object
DannyvdSluijs Jun 13, 2025
0999413
refactor: add missing type hint
DannyvdSluijs Jun 20, 2025
9600036
refactor: apply generator to pattern properties test
DannyvdSluijs Jun 20, 2025
aaf40ec
docs: remove file header with reference to license
DannyvdSluijs Jun 20, 2025
1ca0235
refactor: apply generator to pattern test
DannyvdSluijs Jun 20, 2025
91a7a8d
docs: remove file header with license reference
DannyvdSluijs Jun 20, 2025
3f947e3
refactor: add missing type hint
DannyvdSluijs Jun 20, 2025
9fede1f
refactor: apply generator to read only test
DannyvdSluijs Jun 20, 2025
f3e0688
docs: remove file header with license reference
DannyvdSluijs Jun 20, 2025
d369691
refactor: add missing type hint
DannyvdSluijs Jun 20, 2025
51e52c6
refactor: apply generator to require test
DannyvdSluijs Jun 20, 2025
0416fff
docs: remove file header with license reference
DannyvdSluijs Jun 20, 2025
79948b5
refactor: add missing type hint
DannyvdSluijs Jun 20, 2025
11e9afa
refactor: add generator to require property test
DannyvdSluijs Jun 20, 2025
a83c575
docs: remove file header with license reference
DannyvdSluijs Jun 20, 2025
f3eba22
refactor: add missing type hints
DannyvdSluijs Jun 20, 2025
eb0169c
refactor: cleanup remaining test cases
DannyvdSluijs Jun 20, 2025
aa242ff
refactor: remove redundant property
DannyvdSluijs Jun 20, 2025
4b94c84
refactor: apply generator to self defined schema test
DannyvdSluijs Jun 20, 2025
4487c60
docs: remove file header with llicense reference
DannyvdSluijs Jun 20, 2025
e2f6bd7
refactor: add missing type hint
DannyvdSluijs Jun 20, 2025
2a64607
refactor: update remaining tests case
DannyvdSluijs Jun 20, 2025
67af721
refactor: apply generator to tuple typing test
DannyvdSluijs Jun 20, 2025
fcf18b7
docs: remove file header with license reference
DannyvdSluijs Jun 20, 2025
9f79f26
refactor: add missing type hint
DannyvdSluijs Jun 20, 2025
838c7e1
refactor: apply generator to undefined constraint test
DannyvdSluijs Jun 20, 2025
98d6103
refactor: apply generator to union types test
DannyvdSluijs Jun 20, 2025
704c3b6
docs: remove file header with license reference
DannyvdSluijs Jun 20, 2025
c208135
refactor: add missing type hints
DannyvdSluijs Jun 20, 2025
30c40b7
refactor: apply generator to union with null value test
DannyvdSluijs Jun 20, 2025
8ba7f73
docs: remove file header with license reference
DannyvdSluijs Jun 20, 2025
670ac2a
refactor: add missing type hint
DannyvdSluijs Jun 20, 2025
e5cd0e7
refactor: apply generator to unique items test
DannyvdSluijs Jun 20, 2025
da92537
docs: remove file header with license reference
DannyvdSluijs Jun 20, 2025
0b87743
refactor: add missing type hints
DannyvdSluijs Jun 20, 2025
8d628d5
refactor: apply generator to wrong message failling test case test
DannyvdSluijs Jun 20, 2025
17bf155
docs: remove file header with license reference
DannyvdSluijs Jun 20, 2025
16b0d9a
refactor: add missing type hints
DannyvdSluijs Jun 20, 2025
fce0267
refactor: apply generator to base draft test case
DannyvdSluijs Jun 20, 2025
d2acee8
refactor: apply generator to draft 3 test case
DannyvdSluijs Jun 20, 2025
a8531fd
docs: remove file header with license reference
DannyvdSluijs Jun 22, 2025
8b2a437
docs: remove class docblock
DannyvdSluijs Jun 22, 2025
7b4a61e
refactor: add missing type hints
DannyvdSluijs Jun 22, 2025
2e2042e
refactor: apply generator to draft 4 test
DannyvdSluijs Jun 22, 2025
6dd9dba
docs: remove file header with license reference
DannyvdSluijs Jun 22, 2025
34e6ffb
docs: remove class php doccblock
DannyvdSluijs Jun 22, 2025
357c2f9
style: correct code style violations
DannyvdSluijs Jun 23, 2025
4b32d82
refactor: add declare strict types to all tests
DannyvdSluijs Jun 23, 2025
fb36220
docs: remove remaining file headers with license reference
DannyvdSluijs Jun 23, 2025
8100da4
docs: remove remaining class phpdoc comments
DannyvdSluijs Jun 23, 2025
8e7328a
test: remove unused @group annotations
DannyvdSluijs Jun 23, 2025
aa3e018
refactor: use ::class constant instead of string value
DannyvdSluijs Jun 23, 2025
ae952f8
refactor: use null coalescing operator
DannyvdSluijs Jun 23, 2025
8cf9145
refactor: replace rand with random_int
DannyvdSluijs Jun 23, 2025
5acd1e7
fix: fix test regression
DannyvdSluijs Jun 23, 2025
7dd4205
docs: add changelog entry
DannyvdSluijs Jun 23, 2025
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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Changed
- Update test case to current (PHP) standards ([#831](https://github.com/jsonrainbow/json-schema/pull/831))
- Upgrade test suite to use generators ([#834](https://github.com/jsonrainbow/json-schema/pull/834))

## [6.4.2] - 2025-06-03
### Fixed
Expand Down
9 changes: 2 additions & 7 deletions tests/ConstraintErrorTest.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
<?php

/*
* This file is part of the JsonSchema package.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);

namespace JsonSchema\Tests;

Expand All @@ -24,7 +19,7 @@ public function testGetInvalidMessage(): void
{
$e = ConstraintError::MISSING_ERROR();

$this->expectException('\JsonSchema\Exception\InvalidArgumentException');
$this->expectException(\JsonSchema\Exception\InvalidArgumentException::class);
$this->expectExceptionMessage('Missing error message for missingError');

$e->getMessage();
Expand Down
67 changes: 29 additions & 38 deletions tests/Constraints/AdditionalPropertiesTest.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
<?php

/*
* This file is part of the JsonSchema package.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);

namespace JsonSchema\Tests\Constraints;

Expand All @@ -15,10 +10,9 @@ class AdditionalPropertiesTest extends BaseTestCase
{
protected $validateSchema = true;

public function getInvalidTests(): array
public function getInvalidTests(): \Generator
{
return [
[
yield [
'{
"prop":"1",
"patternProp":"3",
Expand Down Expand Up @@ -49,8 +43,8 @@ public function getInvalidTests(): array
'context' => Validator::ERROR_DOCUMENT_VALIDATION
]
]
],
[
];
yield [
'{
"prop":"1",
"additionalProp":"2"
Expand All @@ -62,8 +56,8 @@ public function getInvalidTests(): array
},
"additionalProperties": false
}'
],
[
];
yield [
'{
"prop":"1",
"additionalProp":2
Expand All @@ -75,8 +69,8 @@ public function getInvalidTests(): array
},
"additionalProperties": {"type":"string"}
}'
],
[
];
yield [
'{
"prop":"1",
"additionalProp":2
Expand All @@ -88,8 +82,8 @@ public function getInvalidTests(): array
},
"additionalProperties": {"type":"string"}
}'
],
[
];
yield [
'{
"prop1": "a",
"prop2": "b"
Expand All @@ -100,8 +94,8 @@ public function getInvalidTests(): array
"type": "boolean"
}
}'
],
[
];
yield [
'{
"prop1": "a",
"prop2": "b"
Expand All @@ -110,14 +104,12 @@ public function getInvalidTests(): array
"type": "object",
"additionalProperties": false
}'
],
];
];
}

public function getValidTests(): array
public function getValidTests(): \Generator
{
return [
[
yield [
'{
"prop":"1",
"additionalProp":"2"
Expand All @@ -128,8 +120,8 @@ public function getValidTests(): array
"prop":{"type":"string"}
}
}'
],
[
];
yield [
'{
"prop":"1",
"additionalProp":"2"
Expand All @@ -140,8 +132,8 @@ public function getValidTests(): array
"prop":{"type":"string"}
}
}'
],
[
];
yield [
'{
"prop":"1",
"additionalProp":"2"
Expand All @@ -153,8 +145,8 @@ public function getValidTests(): array
},
"additionalProperties": {"type":"string"}
}'
],
[
];
yield [
'{
"prop":"1",
"additionalProp":[]
Expand All @@ -166,8 +158,8 @@ public function getValidTests(): array
},
"additionalProperties": true
}'
],
[
];
yield [
'{
"prop1": "a",
"prop2": "b"
Expand All @@ -178,8 +170,8 @@ public function getValidTests(): array
"type": "string"
}
}'
],
[
];
yield [
'{
"prop1": "a",
"prop2": "b"
Expand All @@ -188,8 +180,8 @@ public function getValidTests(): array
"type": "object",
"additionalProperties": true
}'
],
'additional property casted into int when actually is numeric string (#784)' => [
];
yield 'additional property casted into int when actually is numeric string (#784)' => [
'{
"prop1": {
"123": "a"
Expand All @@ -206,7 +198,6 @@ public function getValidTests(): array
}
}
}'
],
];
];
}
}
Loading