Expand Google Test coverage across core subsystems
Add and extend unit tests for: - Task manager (failed tasks, progress signals, multiple tasks) - Undo stack (multiple undo/redo, push-after-undo, clear, multi-command) - Config defaults and graphics backend string conversion - Node keyframe serialization and default state - Node value string round-trips and table operations - Node globals and project settings/serialization - Timeline coordinate, workarea, and marker commands - Color LUT processor and OCIO transform handling - Common utilities (range, file functions, Qt helpers, XML utils) - Render enums (loop mode, alpha association) - Shader resource availability - Module smoke tests for Tool and HumanStrings All tests pass including RenderWorkerFootage GPU worker tests after rebuilding the stale olive-render-worker binary.
This commit is contained in:
@@ -18,3 +18,43 @@ TEST(CommonXmlUtils, ReadNextStartElement)
|
||||
EXPECT_TRUE(olive::XMLReadNextStartElement(&reader));
|
||||
EXPECT_EQ(reader.name().toString(), QStringLiteral("child"));
|
||||
}
|
||||
|
||||
TEST(CommonXmlUtils, ReadNextStartElementSkipsWhitespace)
|
||||
{
|
||||
QByteArray xml = "\n \n<root>\n\n<child/>\n</root>";
|
||||
QBuffer buffer(&xml);
|
||||
buffer.open(QIODevice::ReadOnly);
|
||||
QXmlStreamReader reader(&buffer);
|
||||
|
||||
EXPECT_TRUE(olive::XMLReadNextStartElement(&reader));
|
||||
EXPECT_EQ(reader.name().toString(), QStringLiteral("root"));
|
||||
EXPECT_TRUE(olive::XMLReadNextStartElement(&reader));
|
||||
EXPECT_EQ(reader.name().toString(), QStringLiteral("child"));
|
||||
}
|
||||
|
||||
TEST(CommonXmlUtils, ReadNextStartElementReturnsFalseAtEnd)
|
||||
{
|
||||
QByteArray xml = "<root/>";
|
||||
QBuffer buffer(&xml);
|
||||
buffer.open(QIODevice::ReadOnly);
|
||||
QXmlStreamReader reader(&buffer);
|
||||
|
||||
EXPECT_TRUE(olive::XMLReadNextStartElement(&reader));
|
||||
EXPECT_EQ(reader.name().toString(), QStringLiteral("root"));
|
||||
EXPECT_FALSE(olive::XMLReadNextStartElement(&reader));
|
||||
}
|
||||
|
||||
TEST(CommonXmlUtils, ReadNextStartElementSkipsUnknown)
|
||||
{
|
||||
QByteArray xml = "<root><unknown/><known/></root>";
|
||||
QBuffer buffer(&xml);
|
||||
buffer.open(QIODevice::ReadOnly);
|
||||
QXmlStreamReader reader(&buffer);
|
||||
|
||||
EXPECT_TRUE(olive::XMLReadNextStartElement(&reader));
|
||||
EXPECT_TRUE(olive::XMLReadNextStartElement(&reader));
|
||||
EXPECT_EQ(reader.name().toString(), QStringLiteral("unknown"));
|
||||
reader.skipCurrentElement();
|
||||
EXPECT_TRUE(olive::XMLReadNextStartElement(&reader));
|
||||
EXPECT_EQ(reader.name().toString(), QStringLiteral("known"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user