47
47
PrinterBackend* printerABackend = new MockPrinterBackend("a-printer");
48
48
PrinterBackend* printerBBackend = new MockPrinterBackend("b-printer");
49
Printer printerA(printerABackend);
50
Printer printerB(printerBBackend);
52
((MockPrinterBackend*) backend.data())->m_availablePrinters << &printerA << &printerB;
49
auto printerA = QSharedPointer<Printer>(new Printer(printerABackend));
50
auto printerB = QSharedPointer<Printer>(new Printer(printerBBackend));
54
52
PrinterFilter filter;
55
53
filter.setSourceModel(&model);
56
((MockPrinterBackend*) backend.data())->mockPrinterAdded("Test added printer", "", printerA.name(), 0, "", true);
54
((MockPrinterBackend*) backend.data())->mockPrinterLoaded(printerA);
55
((MockPrinterBackend*) backend.data())->mockPrinterLoaded(printerB);
58
QCOMPARE(filter.count(), 2);
57
QCOMPARE(filter.count(), 3);
60
59
void testCountChanged()
63
62
PrinterModel model(backend.data());
65
64
PrinterBackend* printerABackend = new MockPrinterBackend("a-printer");
66
PrinterBackend* printerBBackend = new MockPrinterBackend("b-printer");
67
Printer printerA(printerABackend);
68
Printer printerB(printerBBackend);
70
((MockPrinterBackend*) backend.data())->m_availablePrinters << &printerA << &printerB;
65
auto printerA = QSharedPointer<Printer>(new Printer(printerABackend));
72
67
PrinterFilter filter;
73
68
filter.setSourceModel(&model);
75
70
QSignalSpy modelCountSpy(&model, SIGNAL(countChanged()));
76
71
QSignalSpy filterCountSpy(&filter, SIGNAL(countChanged()));
77
((MockPrinterBackend*) backend.data())->mockPrinterAdded("Test added printer", "", printerA.name(), 0, "", true);
72
((MockPrinterBackend*) backend.data())->mockPrinterLoaded(printerA);
78
73
QCOMPARE(modelCountSpy.count(), 1);
79
74
QCOMPARE(filterCountSpy.count(), 1);
76
// void testMoveOnPrintersLoaded()
78
// // Setup two printers
79
// PrinterBackend* printerABackend = new MockPrinterBackend("a-printer");
80
// auto printerA = QSharedPointer<Printer>(new Printer(printerABackend));
81
// PrinterBackend* printerBBackend = new MockPrinterBackend("b-printer");
82
// auto printerB = QSharedPointer<Printer>(new Printer(printerBBackend));
84
// getBackend()->m_availablePrinterNames << printerA->name() << printerB->name();
86
// getBackend()->mockPrinterLoaded(printerA);
87
// getBackend()->mockPrinterLoaded(printerB);
89
// QCOMPARE(m_model->count(), 2);
91
// // Setup spy and move a printer
94
// qWarning() << "before move" << getBackend()->m_availablePrinterNames;
95
// getBackend()->m_availablePrinterNames.move(from, to);
96
// qWarning() << "after move" << getBackend()->m_availablePrinterNames;
98
// // Check signals were fired
99
// QSignalSpy moveSpy(m_model, SIGNAL(rowsMoved(const QModelIndex&, int, int, const QModelIndex&, int)));
101
// // If a printer is re-named, we would expect a move signal.
102
// getBackend()->mockPrinterModified("Test renamed printer", "", printerB->name(), 0, "", true);
104
// QCOMPARE(moveSpy.count(), 1);
105
// QCOMPARE(m_model->count(), 2);
107
// // Check item was moved from -> to
108
// QList<QVariant> args = moveSpy.at(0);
109
// QCOMPARE(args.at(1).toInt(), from);
110
// QCOMPARE(args.at(2).toInt(), from);
111
// QCOMPARE(args.at(4).toInt(), to);
83
115
QTEST_GUILESS_MAIN(TestPrinterFilter)