Added trigger
This commit is contained in:
@@ -167,6 +167,28 @@ void TestTextNormalization()
|
||||
error.clear();
|
||||
Expect(!NormalizeAndValidateParameterValue(definition, JsonValue(12.0), value, error), "text rejects non-string values");
|
||||
}
|
||||
|
||||
void TestTriggerNormalization()
|
||||
{
|
||||
ShaderParameterDefinition definition;
|
||||
definition.id = "burst";
|
||||
definition.type = ShaderParameterType::Trigger;
|
||||
|
||||
ShaderParameterValue defaultValue = DefaultValueForDefinition(definition);
|
||||
Expect(defaultValue.numberValues.size() == 2 && defaultValue.numberValues[0] == 0.0, "trigger defaults to an unfired count");
|
||||
Expect(defaultValue.numberValues[1] < 0.0, "trigger default time is safely in the past");
|
||||
|
||||
ShaderParameterValue value;
|
||||
std::string error;
|
||||
Expect(NormalizeAndValidateParameterValue(definition, JsonValue(4.8), value, error), "trigger accepts numeric counts");
|
||||
Expect(value.numberValues.size() == 2 && value.numberValues[0] == 4.0, "trigger count is floored to an integer");
|
||||
|
||||
error.clear();
|
||||
Expect(NormalizeAndValidateParameterValue(definition, JsonValue(true), value, error), "trigger accepts boolean pulse values");
|
||||
|
||||
error.clear();
|
||||
Expect(!NormalizeAndValidateParameterValue(definition, JsonValue("fire"), value, error), "trigger rejects string values");
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
@@ -177,6 +199,7 @@ int main()
|
||||
TestColorAndBooleanNormalization();
|
||||
TestEnumAndDefaults();
|
||||
TestTextNormalization();
|
||||
TestTriggerNormalization();
|
||||
|
||||
if (gFailures != 0)
|
||||
{
|
||||
|
||||
@@ -64,7 +64,8 @@ void TestValidManifest()
|
||||
{ "id": "mode", "label": "Mode", "type": "enum", "default": "soft", "options": [
|
||||
{ "value": "soft", "label": "Soft" },
|
||||
{ "value": "hard", "label": "Hard" }
|
||||
] }
|
||||
] },
|
||||
{ "id": "flash", "label": "Flash", "type": "trigger" }
|
||||
]
|
||||
})");
|
||||
|
||||
@@ -76,8 +77,9 @@ void TestValidManifest()
|
||||
Expect(package.textureAssets.size() == 1 && package.textureAssets[0].id == "maskTex", "texture assets parse");
|
||||
Expect(package.fontAssets.size() == 1 && package.fontAssets[0].id == "inter", "font assets parse");
|
||||
Expect(package.temporal.enabled && package.temporal.effectiveHistoryLength == 4, "temporal history is capped");
|
||||
Expect(package.parameters.size() == 3, "parameters parse");
|
||||
Expect(package.parameters.size() == 4, "parameters parse");
|
||||
Expect(package.parameters[1].type == ShaderParameterType::Text && package.parameters[1].defaultTextValue == "LIVE", "text parameter parses");
|
||||
Expect(package.parameters[3].type == ShaderParameterType::Trigger, "trigger parameter parses");
|
||||
|
||||
std::filesystem::remove_all(root);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user