Now sexualUssageName field in meta is required

This commit is contained in:
yutopp
2019-02-01 19:02:57 +09:00
parent 1632e9de40
commit 3321480843
2 changed files with 47 additions and 3 deletions

View File

@@ -242,10 +242,11 @@ namespace VRM
licenseName = "CC0",
allowedUserName = "OnlyAuthor",
violentUssageName = "Disallow",
sexualUssageName = "Disallow",
};
var json = model.ToJson();
Assert.AreEqual(@"{""texture"":-1,""allowedUserName"":""OnlyAuthor"",""violentUssageName"":""Disallow"",""licenseName"":""CC0""}", json);
Assert.AreEqual(@"{""texture"":-1,""allowedUserName"":""OnlyAuthor"",""violentUssageName"":""Disallow"",""sexualUssageName"":""Disallow"",""licenseName"":""CC0""}", json);
Debug.Log(json);
var c = new JsonSchemaValidationContext("")
@@ -254,7 +255,7 @@ namespace VRM
};
var json2 = JsonSchema.FromType<glTF_VRM_Meta>().Serialize(model, c);
// NOTE: New serializer outputs values which will not be used...
Assert.AreEqual(@"{""allowedUserName"":""OnlyAuthor"",""violentUssageName"":""Disallow"",""licenseName"":""CC0""}",json2);
Assert.AreEqual(@"{""allowedUserName"":""OnlyAuthor"",""violentUssageName"":""Disallow"",""sexualUssageName"":""Disallow"",""licenseName"":""CC0""}",json2);
}
[Test]
@@ -279,6 +280,7 @@ namespace VRM
allowedUserName = "OnlyAuthor",
violentUssageName = "Disallow",
licenseName = "_INVALID_SOME_THING_",
sexualUssageName = "Disallow",
};
var c = new JsonSchemaValidationContext("")
@@ -297,6 +299,7 @@ namespace VRM
// allowedUserName = "OnlyAuthor",
licenseName = "CC0",
violentUssageName = "Disallow",
sexualUssageName = "Disallow",
};
var c = new JsonSchemaValidationContext("")
@@ -314,6 +317,7 @@ namespace VRM
{
allowedUserName = "_INVALID_SOME_THING_",
violentUssageName = "Disallow",
sexualUssageName = "Disallow",
licenseName = "CC0",
};
@@ -332,6 +336,7 @@ namespace VRM
{
allowedUserName = "OnlyAuthor",
//violentUssageName = "Disallow",
sexualUssageName = "Disallow",
licenseName = "CC0",
};
@@ -350,6 +355,7 @@ namespace VRM
{
allowedUserName = "OnlyAuthor",
violentUssageName = "_INVALID_SOME_THING_",
sexualUssageName = "Disallow",
licenseName = "CC0",
};
@@ -362,6 +368,44 @@ namespace VRM
);
Assert.AreEqual("[violentUssageName.String] _INVALID_SOME_THING_ is not valid enum", ex.Message);
}
{
var model = new glTF_VRM_Meta()
{
allowedUserName = "OnlyAuthor",
violentUssageName = "Disallow",
//sexualUssageName = "Disallow",
licenseName = "CC0",
};
var c = new JsonSchemaValidationContext("")
{
EnableDiagnosisForNotRequiredFields = true,
};
var ex = Assert.Throws<JsonSchemaValidationException>(
() => JsonSchema.FromType<glTF_VRM_Meta>().Serialize(model, c)
);
Assert.AreEqual("[sexualUssageName.String] null", ex.Message);
}
{
var model = new glTF_VRM_Meta()
{
allowedUserName = "OnlyAuthor",
violentUssageName = "Disallow",
sexualUssageName = "_INVALID_SOME_THING_",
licenseName = "CC0",
};
var c = new JsonSchemaValidationContext("")
{
EnableDiagnosisForNotRequiredFields = true,
};
var ex = Assert.Throws<JsonSchemaValidationException>(
() => JsonSchema.FromType<glTF_VRM_Meta>().Serialize(model, c)
);
Assert.AreEqual("[sexualUssageName.String] _INVALID_SOME_THING_ is not valid enum", ex.Message);
}
}
// TODO: Move to another suitable location

View File

@@ -89,7 +89,7 @@ namespace VRM
set { violentUssageName = value.ToString(); }
}
[JsonSchema(Description = "Permission to perform sexual acts with this avatar", EnumValues = new object[]
[JsonSchema(Required = true, Description = "Permission to perform sexual acts with this avatar", EnumValues = new object[]
{
"Disallow",
"Allow",