From 82c6dcf11992e5d105ece89573d6bc7e930fbb3a Mon Sep 17 00:00:00 2001 From: yutopp Date: Fri, 1 Feb 2019 18:36:01 +0900 Subject: [PATCH] Now licenseName field in meta is required --- .../Editor/Tests/UniVRMSerializeTests.cs | 26 ++++++++++++++++--- .../UniVRM/Scripts/Format/glTF_VRM_Meta.cs | 2 +- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/Assets/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs b/Assets/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs index deb4fed5e..23f9a4b25 100644 --- a/Assets/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs +++ b/Assets/VRM/UniVRM/Editor/Tests/UniVRMSerializeTests.cs @@ -237,10 +237,13 @@ namespace VRM [Test] public void MetaTest() { - var model = new glTF_VRM_Meta(); + var model = new glTF_VRM_Meta() + { + licenseName = "CC0", + }; - var json = model.ToJson(); - Assert.AreEqual(@"{""texture"":-1}", json); + var json = model.ToJson(); + Assert.AreEqual(@"{""texture"":-1,""licenseName"":""CC0""}", json); Debug.Log(json); var c = new JsonSchemaValidationContext("") @@ -249,7 +252,22 @@ namespace VRM }; var json2 = JsonSchema.FromType().Serialize(model, c); // NOTE: New serializer outputs values which will not be used... - Assert.AreEqual(@"{}",json2); + Assert.AreEqual(@"{""licenseName"":""CC0""}",json2); + } + + [Test] + public void MetaTestError() + { + var model = new glTF_VRM_Meta(); + + var c = new JsonSchemaValidationContext("") + { + EnableDiagnosisForNotRequiredFields = true, + }; + var ex = Assert.Throws( + () => JsonSchema.FromType().Serialize(model, c) + ); + Assert.AreEqual("[licenseName.String] null", ex.Message); } // TODO: Move to another suitable location diff --git a/Assets/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs b/Assets/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs index 7d8dfb0db..16174efcc 100644 --- a/Assets/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs +++ b/Assets/VRM/UniVRM/Scripts/Format/glTF_VRM_Meta.cs @@ -118,7 +118,7 @@ namespace VRM #endregion #region Distribution License - [JsonSchema(Description = "License type", EnumValues = new object[] + [JsonSchema(Required = true, Description = "License type", EnumValues = new object[] { "Redistribution_Prohibited", "CC0",