Added trigger
All checks were successful
CI / React UI Build (push) Successful in 11s
CI / Native Windows Build And Tests (push) Successful in 1m33s
CI / Windows Release Package (push) Successful in 2m4s

This commit is contained in:
2026-05-06 14:01:23 +10:00
parent e59677c212
commit 6502344d0a
16 changed files with 235 additions and 8 deletions

View File

@@ -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)
{