INtial text again
This commit is contained in:
@@ -112,19 +112,39 @@ void RejectsTextureAssets()
|
||||
Expect(result.reason.find("texture") != std::string::npos, "texture rejection should mention texture assets");
|
||||
}
|
||||
|
||||
void RejectsTextParameters()
|
||||
void RejectsTextParametersWithoutDeclaredFont()
|
||||
{
|
||||
ShaderPackage shaderPackage = MakeSinglePassPackage();
|
||||
ShaderParameterDefinition parameter;
|
||||
parameter.id = "caption";
|
||||
parameter.type = ShaderParameterType::Text;
|
||||
parameter.fontId = "missing";
|
||||
shaderPackage.parameters.push_back(parameter);
|
||||
|
||||
const RenderCadenceCompositor::ShaderSupportResult result =
|
||||
RenderCadenceCompositor::CheckStatelessSinglePassShaderSupport(shaderPackage);
|
||||
|
||||
Expect(!result.supported, "text-parameter packages should be rejected for now");
|
||||
Expect(result.reason.find("text") != std::string::npos, "text rejection should mention text parameters");
|
||||
Expect(!result.supported, "text parameters without declared fonts should be rejected");
|
||||
Expect(result.reason.find("unknown font") != std::string::npos, "text rejection should mention the missing font");
|
||||
}
|
||||
|
||||
void SupportsTextParametersWithDeclaredFont()
|
||||
{
|
||||
ShaderPackage shaderPackage = MakeSinglePassPackage();
|
||||
ShaderFontAsset fontAsset;
|
||||
fontAsset.id = "roboto";
|
||||
shaderPackage.fontAssets.push_back(fontAsset);
|
||||
ShaderParameterDefinition parameter;
|
||||
parameter.id = "caption";
|
||||
parameter.type = ShaderParameterType::Text;
|
||||
parameter.fontId = "roboto";
|
||||
shaderPackage.parameters.push_back(parameter);
|
||||
|
||||
const RenderCadenceCompositor::ShaderSupportResult result =
|
||||
RenderCadenceCompositor::CheckStatelessSinglePassShaderSupport(shaderPackage);
|
||||
|
||||
Expect(result.supported, "text parameters with declared fonts should be supported");
|
||||
Expect(result.reason.empty(), "supported text parameters should not report a rejection reason");
|
||||
}
|
||||
|
||||
void BuildsDeclaredFontAtlasesDuringCatalogLoad()
|
||||
@@ -133,6 +153,14 @@ void BuildsDeclaredFontAtlasesDuringCatalogLoad()
|
||||
std::string error;
|
||||
Expect(catalog.Load(RepoRoot() / "shaders", 12, error), "shader catalog loads");
|
||||
|
||||
bool textOverlaySupported = false;
|
||||
for (const RenderCadenceCompositor::SupportedShaderSummary& shader : catalog.Shaders())
|
||||
{
|
||||
if (shader.id == "text-overlay")
|
||||
textOverlaySupported = true;
|
||||
}
|
||||
Expect(textOverlaySupported, "text overlay is listed as a supported shader after font atlas preparation");
|
||||
|
||||
const auto& fontAtlases = catalog.FontAtlases();
|
||||
const auto textOverlayIt = fontAtlases.find("text-overlay");
|
||||
Expect(textOverlayIt != fontAtlases.end(), "text overlay font atlas is prepared during catalog load");
|
||||
@@ -153,7 +181,8 @@ int main()
|
||||
RejectsUnknownPassInput();
|
||||
RejectsTemporalPackage();
|
||||
RejectsTextureAssets();
|
||||
RejectsTextParameters();
|
||||
RejectsTextParametersWithoutDeclaredFont();
|
||||
SupportsTextParametersWithDeclaredFont();
|
||||
BuildsDeclaredFontAtlasesDuringCatalogLoad();
|
||||
|
||||
if (gFailures != 0)
|
||||
|
||||
Reference in New Issue
Block a user