Commit Graph

1069 Commits

Author SHA1 Message Date
Sergio Martins
c63e4a3d38 fuzzer: Also write the MainWindow name to json
Same reason as previous commit
2019-10-14 21:55:08 +01:00
Sergio Martins
9738fbddc6 fuzzer: Write the DockWidgets name to the json too
This way it's easier to read the json and remove unneeded dock widgets
while trimming the test-case
2019-10-14 21:49:36 +01:00
Sergio Martins
6957f40cdf fuzzer: trim 1.json to the minimum to reproduce 2019-10-14 21:22:21 +01:00
Sergio Martins
6a3084abb6 fuzzer: Add failing testcase
Gives:
MultiSplitterLayout::checkSanity: Widget KDDockWidgets::Item(0x55e8038d8f90)
with rect QRect(0,0 1953x407) Intersects anchor KDDockWidgets::Anchor(0x55e803a17ba0)
with rect QRect(1209,406 5x562)
2019-10-13 23:52:27 +01:00
Sergio Martins
09101e9252 fuzzer: Don't allow Pause action to pause during regular runs
We only want to pause when we add it ourselves in the json
2019-10-13 23:49:39 +01:00
Sergio Martins
a0e3f32a63 fuzzer: Don't add as tab a widget that's already in the same mainwindow
Remove the testcase json, since this case shouldn't be tested
2019-10-13 23:49:10 +01:00
Sergio Martins
fb52c4053e fuzzer: Add a Pause action, for debugging purposes 2019-10-13 22:51:01 +01:00
Sergio Martins
f2e76c704e fuzzer: Don't store the index in the json, it's not needed 2019-10-13 22:44:05 +01:00
Sergio Martins
3895af14ea fuzzer: add a slowdown option 2019-10-13 22:05:20 +01:00
Sergio Martins
6b0d493b48 fuzzer: Add json test case of a failing test
Generates:
void KDDockWidgets::Item::onLayoutRequest() const Constraints not honoured
2019-10-13 21:49:35 +01:00
Sergio Martins
dd580a0f2f fuzzer: Don't generate random params when replaying
When replaying we want to replay with the params we read from json
2019-10-13 21:32:43 +01:00
Sergio Martins
3c6625164c fuzzer: add a method to check if the operation has params 2019-10-13 21:14:34 +01:00
Sergio Martins
8ea7aee657 Don't qFatal on warnings comming from the tests 2019-10-13 18:52:05 +01:00
Sergio Martins
d23eb035b9 fuzzer: Don't add dock widget to tabwidget already containing it 2019-10-13 18:51:41 +01:00
Sergio Martins
e278d0108a Add OperationBase::newOperation() to avoid duplicated code 2019-10-13 18:41:27 +01:00
Sergio Martins
ae439e0dad fuzzer: Add new operation: AddDockWidgetAsTab 2019-10-13 18:34:51 +01:00
Sergio Martins
a49ffe54c7 docs++ 2019-10-13 18:13:52 +01:00
Sergio Martins
e5b5885892 fuzzer: Add a 50ms delay, make the window manager happier 2019-10-13 18:09:13 +01:00
Sergio Martins
0ca0ad492b fuzzer: don't require dock widgets to exist when loading json
They'll be created later. So use their name instead of a pointer
to them.
2019-10-13 17:50:50 +01:00
Sergio Martins
c709f7743d fuzzer: Fix reading height and width from json 2019-10-13 17:12:18 +01:00
Sergio Martins
b82977d9ee fuzzer: minor refactor to share code 2019-10-13 17:06:41 +01:00
Sergio Martins
28d0aa25ae fuzzer: Loading from json now works 2019-10-13 17:01:08 +01:00
Sergio Martins
069a9654aa fuzzer: Don't dump json when we're loading from json 2019-10-13 17:00:53 +01:00
Sergio Martins
78efe4097f fuzzer: Add fromVariantMap(), so we can read the json 2019-10-13 14:03:23 +01:00
Sergio Martins
acf6cfb327 Add QCommandLineParser support 2019-10-12 10:13:32 +01:00
Sergio Martins
09b2d749fa fuzzer: Don't hide hidden dock widgets and don't show visible ones 2019-10-12 10:13:12 +01:00
Sergio Martins
954fb271d3 fuzzer: Also serialize the AddDockWidget operation 2019-10-11 17:04:26 +01:00
Sergio Martins
2769c8a789 fuzzer: Fix serializing QRect and QSize 2019-10-11 15:09:24 +01:00
Sergio Martins
38619e734f fuzzer: dump to json when it fails 2019-10-11 14:18:20 +01:00
Sergio Martins
005e811eaa fuzzer: Fix hidding/showing operations
They werent receiving a dock widget name.
Normalized them, they now receive Fuzzer* via ctor
2019-10-11 13:33:13 +01:00
Sergio Martins
4d7da1e6f3 tests: Fix build
Fuzzer.cpp was filtered out by .gitignore
2019-10-11 13:27:13 +01:00
Sergio Martins
233d3f14cc fuzzer: AddDockWidget operation now works 2019-10-11 13:20:16 +01:00
Sergio Martins
e432c0d409 fuzzer: Move fuzzer into a fuzzer/ directory 2019-10-11 12:45:34 +01:00
Sergio Martins
16876695e3 fuzzer: Add an OperationType_AddDockWidget operation
fuzzer will have to be refactored before finishing it
2019-10-11 12:12:13 +01:00
Sergio Martins
1493ee6bb2 tests: Wait for FloatingWindow to be deleted when closing dockwidget 2019-10-11 11:41:35 +01:00
Sergio Martins
b20d0f0412 tests: Add missing include guards 2019-10-11 11:41:31 +01:00
Sergio Martins
a2e610ee4b tests: share waitForEvent() and waitForDeleted() 2019-10-11 11:38:21 +01:00
Sergio Martins
5fdf551907 fuzzer: Refactor operations a bit 2019-10-11 11:24:43 +01:00
Sergio Martins
0322dcf553 fuzzer: Chose the dock widget to run the operation on 2019-10-11 09:01:29 +01:00
Sergio Martins
e530170753 fuzzer: Randomize operations too 2019-10-11 08:53:51 +01:00
Sergio Martins
0b24cf70c2 fuzzer: Fail if there's a warning 2019-10-11 08:48:20 +01:00
Sergio Martins
83625bdda3 tests: Move the qDebug filter to Testing.h
So it can be shared with the fuzzer
2019-10-11 08:46:51 +01:00
Sergio Martins
d01c8ac646 tests: Initial implementation of the fuzzer
Also the Testing now has some sort of framework for so anyone can
write tests easier in the future. Still wip.
2019-10-09 18:35:04 +01:00
Sergio Martins
c0d8b8e083 Remove the old fuzzer, we're doing an overhaul 2019-10-09 15:36:43 +01:00
Sergio Martins
5a5e6f3762 Add Q_DECLARE_OPERATORS_FOR_FLAGS for FrameOptions 2019-10-08 18:01:11 +01:00
Sergio Martins
ac313c5a24 Don't save floating geometry on clear()
clear() shouldn't save anything.
Fixes floating dockwidgets not having proper geometry when shown
after clear() was called.
2019-10-08 14:59:31 +01:00
Sergio Martins
58e90bd7c4 Make MainWindow_None the default, instead of MainWindow_HasCentralFrame
Central Frame is the old Qt way. With KDDockWidgets everwhere
is fair game to dock and undock.
2019-10-07 14:02:30 +01:00
Sergio Martins
511a035df1 Install more missing _p.h headers to private/
The custom separator example is disabled for now, as we're not
installing the multisplitters headers yet
2019-10-07 13:55:09 +01:00
Sergio Martins
a0d05b4e2b Move Frame::Options enum to KDDockWidgets.h
So we can forward declare Frame and not include private headers
in FrameworkWidgetFactory.h
2019-10-07 13:43:48 +01:00
Sergio Martins
00b6eab2d3 Don't build examples for now
Only a standalone build work, as the examples use <kddockwidget/
qualified includes, so require kddockwidgets to be built and
installed first
2019-10-07 00:22:38 +01:00