summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/util
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/util')
-rw-r--r--tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp49
1 files changed, 47 insertions, 2 deletions
diff --git a/tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp b/tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp
index 9d7139c880..0280f6559b 100644
--- a/tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp
+++ b/tests/auto/gui/util/qshadernodes/tst_qshadernodes.cpp
@@ -70,7 +70,7 @@ private slots:
void shouldVerifyPortsEquality_data();
void shouldVerifyPortsEquality();
- void shouldManipulateNodeUuidPortsAndRules();
+ void shouldManipulateNodeMembers();
void shouldHandleNodeRulesSupportAndOrder();
};
@@ -336,7 +336,7 @@ void tst_QShaderNodes::shouldVerifyPortsEquality()
QCOMPARE(notEqual, !expected);
}
-void tst_QShaderNodes::shouldManipulateNodeUuidPortsAndRules()
+void tst_QShaderNodes::shouldManipulateNodeMembers()
{
// GIVEN
const auto openGLES2 = createFormat(QShaderFormat::OpenGLES, 2, 0);
@@ -352,6 +352,7 @@ void tst_QShaderNodes::shouldManipulateNodeUuidPortsAndRules()
QCOMPARE(node.type(), QShaderNode::Invalid);
QVERIFY(node.uuid().isNull());
QVERIFY(node.ports().isEmpty());
+ QVERIFY(node.parameterNames().isEmpty());
QVERIFY(node.availableFormats().isEmpty());
// WHEN
@@ -395,6 +396,50 @@ void tst_QShaderNodes::shouldManipulateNodeUuidPortsAndRules()
QCOMPARE(node.ports().at(0), secondPort);
QVERIFY(node.availableFormats().isEmpty());
+ // WHEN
+ node.setParameter(QStringLiteral("baz"), 42);
+
+ // THEN
+ QCOMPARE(node.type(), QShaderNode::Input);
+ QCOMPARE(node.ports().size(), 1);
+ QCOMPARE(node.ports().at(0), secondPort);
+ auto parameterNames = node.parameterNames();
+ parameterNames.sort();
+ QCOMPARE(parameterNames.size(), 1);
+ QCOMPARE(parameterNames.at(0), QStringLiteral("baz"));
+ QCOMPARE(node.parameter(QStringLiteral("baz")), QVariant(42));
+ QVERIFY(node.availableFormats().isEmpty());
+
+ // WHEN
+ node.setParameter(QStringLiteral("bleh"), QStringLiteral("value"));
+
+ // THEN
+ QCOMPARE(node.type(), QShaderNode::Input);
+ QCOMPARE(node.ports().size(), 1);
+ QCOMPARE(node.ports().at(0), secondPort);
+ parameterNames = node.parameterNames();
+ parameterNames.sort();
+ QCOMPARE(parameterNames.size(), 2);
+ QCOMPARE(parameterNames.at(0), QStringLiteral("baz"));
+ QCOMPARE(parameterNames.at(1), QStringLiteral("bleh"));
+ QCOMPARE(node.parameter(QStringLiteral("baz")), QVariant(42));
+ QCOMPARE(node.parameter(QStringLiteral("bleh")), QVariant(QStringLiteral("value")));
+ QVERIFY(node.availableFormats().isEmpty());
+
+ // WHEN
+ node.clearParameter(QStringLiteral("baz"));
+
+ // THEN
+ QCOMPARE(node.type(), QShaderNode::Input);
+ QCOMPARE(node.ports().size(), 1);
+ QCOMPARE(node.ports().at(0), secondPort);
+ parameterNames = node.parameterNames();
+ parameterNames.sort();
+ QCOMPARE(parameterNames.size(), 1);
+ QCOMPARE(parameterNames.at(0), QStringLiteral("bleh"));
+ QCOMPARE(node.parameter(QStringLiteral("baz")), QVariant());
+ QCOMPARE(node.parameter(QStringLiteral("bleh")), QVariant(QStringLiteral("value")));
+ QVERIFY(node.availableFormats().isEmpty());
// WHEN
node.addRule(openGLES2, es2Rule);