LeechCraft  0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
corotasktest.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <QObject>
12 
13 namespace LC::Util
14 {
15  class CoroTaskTest : public QObject
16  {
17  Q_OBJECT
18  private slots:
19  void testReturn ();
20  void testWait ();
21  void testTaskDestr ();
22 
23  void testNetworkReplyGoodNoWait ();
24  void testNetworkReplyGoodWait ();
25  void testNetworkReplyBadNoWait ();
26  void testNetworkReplyBadWait ();
27 
28  void testFutureAwaiter ();
29 
30  void testWaitMany ();
31  void testWaitManyTuple ();
32  void testWaitManyInvoking ();
33 
34  void testEither ();
35  void testEitherIgnoreLeft ();
36 
37  void testThrottleSameCoro ();
38  void testThrottleSameCoroSlow ();
39  void testThrottleSameCoroVerySlow ();
40  void testThrottleManyCoros ();
41 
42  void testContextDestrBeforeFinish ();
43  void testContextDestrAfterFinish ();
44  void testContextDestrAwaitedSubtask ();
45  void testContextDestrDoesntWaitTimer ();
46  void testContextDestrDoesntWaitNetwork ();
47  void testContextDestrDoesntWaitProcess ();
48  void testContextDestrDoesntWaitFuture ();
49 
50 #ifdef QT_DBUS_LIB
51  void testDBus ();
52 #endif
53 
54  void cleanupTestCase ();
55  };
56 }