133 lines
3.6 KiB
C++
133 lines
3.6 KiB
C++
#include <QtTest/QtTest>
|
|
|
|
#include "ConsoleOutput.h"
|
|
#include "ConsoleOutput_test.h"
|
|
|
|
using namespace std;
|
|
|
|
namespace HeadlessSpecRunner {
|
|
ConsoleOutputTest::ConsoleOutputTest() : QObject() {
|
|
}
|
|
|
|
void ConsoleOutputTest::testPassed() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.consoleLogUsed = true;
|
|
output.outputIO = &buffer;
|
|
output.passed("test");
|
|
QVERIFY(buffer.str() == ".");
|
|
QVERIFY(output.successes.size() == 1);
|
|
QVERIFY(output.failures.size() == 0);
|
|
QVERIFY(output.consoleLogUsed == false);
|
|
}
|
|
|
|
void ConsoleOutputTest::testFailed() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.consoleLogUsed = true;
|
|
output.outputIO = &buffer;
|
|
output.failed("test");
|
|
QVERIFY(buffer.str() == "F");
|
|
QVERIFY(output.successes.size() == 0);
|
|
QVERIFY(output.failures.size() == 1);
|
|
QVERIFY(output.consoleLogUsed == false);
|
|
}
|
|
|
|
void ConsoleOutputTest::testErrorLog() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.outputIO = &buffer;
|
|
output.errorLog("message", 1, "source");
|
|
QVERIFY(buffer.str() == "[error] source:1 : message\n");
|
|
}
|
|
|
|
void ConsoleOutputTest::testInternalLog() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.outputIO = &buffer;
|
|
output.internalLog("note", "message");
|
|
QVERIFY(buffer.str() == "[note] message\n");
|
|
}
|
|
|
|
void ConsoleOutputTest::testConsoleLog() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.consoleLogUsed = false;
|
|
output.outputIO = &buffer;
|
|
output.consoleLog("log");
|
|
QVERIFY(buffer.str() == "\n[console] log\n");
|
|
}
|
|
|
|
void ConsoleOutputTest::testConsoleLogUsed() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.consoleLogUsed = true;
|
|
output.outputIO = &buffer;
|
|
output.consoleLog("log");
|
|
QVERIFY(buffer.str() == "[console] log\n");
|
|
}
|
|
|
|
void ConsoleOutputTest::testLogSpecFilename() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.outputIO = &buffer;
|
|
output.logSpecFilename("whatever");
|
|
QVERIFY(buffer.str() == "\n\nwhatever\n");
|
|
}
|
|
|
|
void ConsoleOutputTest::testLogSpecResult() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.outputIO = &buffer;
|
|
output.logSpecResult("whatever");
|
|
QVERIFY(buffer.str() == " whatever\n");
|
|
}
|
|
|
|
void ConsoleOutputTest::testReportResultsFailedSingular() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.outputIO = &buffer;
|
|
output.reportFailure("1", "1", "1");
|
|
QVERIFY(buffer.str() == "\nFAIL: 1 test, 1 failure, 1 sec.\n");
|
|
}
|
|
|
|
void ConsoleOutputTest::testReportResultsFailedPlural() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.outputIO = &buffer;
|
|
output.reportFailure("2", "2", "2");
|
|
QVERIFY(buffer.str() == "\nFAIL: 2 tests, 2 failures, 2 secs.\n");
|
|
}
|
|
|
|
void ConsoleOutputTest::testReportResultsSucceeded() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.outputIO = &buffer;
|
|
output.reportSuccess("2", "2", "2");
|
|
QVERIFY(buffer.str() == "\nPASS: 2 tests, 2 failures, 2 secs.\n");
|
|
}
|
|
|
|
void ConsoleOutputTest::testReportResultsSucceededWithJSErrors() {
|
|
stringstream buffer;
|
|
HeadlessSpecRunner::ConsoleOutput output;
|
|
|
|
output.outputIO = &buffer;
|
|
output.reportSuccessWithJSErrors("2", "2", "2");
|
|
QVERIFY(buffer.str() == "\nPASS with JS errors: 2 tests, 2 failures, 2 secs.\n");
|
|
}
|
|
}
|
|
|
|
QTEST_MAIN(HeadlessSpecRunner::ConsoleOutputTest);
|
|
|