diff --git a/src/Enums/SchemaFeature.php b/src/Enums/SchemaFeature.php index fb46618..0dee70c 100644 --- a/src/Enums/SchemaFeature.php +++ b/src/Enums/SchemaFeature.php @@ -9,13 +9,15 @@ */ enum SchemaFeature: string { + // Draft 06 features + case ContentMediaType = 'contentMediaType'; + case ContentEncoding = 'contentEncoding'; + // Draft 07 features case If = 'if'; case Then = 'then'; case Else = 'else'; case IfThenElse = 'if-then-else'; - case ContentMediaType = 'contentMediaType'; - case ContentEncoding = 'contentEncoding'; case WriteOnly = 'writeOnly'; case ReadOnly = 'readOnly'; case Comment = '$comment'; @@ -67,13 +69,15 @@ enum SchemaFeature: string public function getMinimumVersion(): SchemaVersion { return match ($this) { + // Draft 06 features + self::ContentMediaType, + self::ContentEncoding => SchemaVersion::Draft_06, + // Draft 07 features self::If, self::Then, self::Else, self::IfThenElse, - self::ContentMediaType, - self::ContentEncoding, self::WriteOnly, self::ReadOnly, self::Comment, diff --git a/tests/Unit/VersionSupportTest.php b/tests/Unit/VersionSupportTest.php index afed95f..1ead867 100644 --- a/tests/Unit/VersionSupportTest.php +++ b/tests/Unit/VersionSupportTest.php @@ -48,11 +48,17 @@ expect($draft201909->supports(SchemaFeature::IfThenElse))->toBeTrue(); expect($draft202012->supports(SchemaFeature::IfThenElse))->toBeTrue(); - expect($draft06->supports(SchemaFeature::ContentMediaType))->toBeFalse(); + // Draft 06 features + expect($draft06->supports(SchemaFeature::ContentMediaType))->toBeTrue(); expect($draft07->supports(SchemaFeature::ContentMediaType))->toBeTrue(); expect($draft201909->supports(SchemaFeature::ContentMediaType))->toBeTrue(); expect($draft202012->supports(SchemaFeature::ContentMediaType))->toBeTrue(); + expect($draft06->supports(SchemaFeature::ContentEncoding))->toBeTrue(); + expect($draft07->supports(SchemaFeature::ContentEncoding))->toBeTrue(); + expect($draft201909->supports(SchemaFeature::ContentEncoding))->toBeTrue(); + expect($draft202012->supports(SchemaFeature::ContentEncoding))->toBeTrue(); + expect($draft06->supports(SchemaFeature::Comment))->toBeFalse(); expect($draft07->supports(SchemaFeature::Comment))->toBeTrue(); expect($draft201909->supports(SchemaFeature::Comment))->toBeTrue();