From f2696293770341b2261139903b563af4b0fe0fd0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 5 Feb 2026 23:32:55 +0000 Subject: [PATCH 1/2] Initial plan From 8e261de5ff39e0c9af4a2b78fd844a03de2511ff Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 5 Feb 2026 23:36:13 +0000 Subject: [PATCH 2/2] Fix ContentEncoding and ContentMediaType to be Draft-06 features Co-authored-by: tymondesigns <1801923+tymondesigns@users.noreply.github.com> --- src/Enums/SchemaFeature.php | 12 ++++++++---- tests/Unit/VersionSupportTest.php | 8 +++++++- 2 files changed, 15 insertions(+), 5 deletions(-) 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();