diff --git a/src/tests/testsqlobjects.cpp b/src/tests/testsqlobjects.cpp index c895ccaf..a6a108db 100644 --- a/src/tests/testsqlobjects.cpp +++ b/src/tests/testsqlobjects.cpp @@ -91,6 +91,29 @@ void TestTable::foreignKeys() ");")); } +void TestTable::uniqueConstraint() +{ + Table tt("testtable"); + FieldPtr f1 = FieldPtr(new Field("a", "integer")); + FieldPtr f2 = FieldPtr(new Field("b", "integer")); + FieldPtr f3 = FieldPtr(new Field("c", "integer")); + f1->setUnique(true); + FieldVector uc; + uc.push_back(f2); + uc.push_back(f3); + tt.addField(f1); + tt.addField(f2); + tt.addField(f3); + tt.addUniqueConstraint(uc); + + QCOMPARE(tt.sql(), QString("CREATE TABLE `testtable` (\n" + "\t`a`\tinteger UNIQUE,\n" + "\t`b`\tinteger,\n" + "\t`c`\tinteger,\n" + "\tUNIQUE(`b`,`c`)\n" + ");")); +} + void TestTable::parseSQL() { QString sSQL = "create TABLE hero (\n" diff --git a/src/tests/testsqlobjects.h b/src/tests/testsqlobjects.h index c31569b2..4cc0b508 100644 --- a/src/tests/testsqlobjects.h +++ b/src/tests/testsqlobjects.h @@ -12,6 +12,7 @@ private slots: void notnull(); void withoutRowid(); void foreignKeys(); + void uniqueConstraint(); void parseSQL(); void parseSQLdefaultexpr();