swift
teststatusmessage.cpp
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2018 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
7 
8 #include <QObject>
9 #include <QStringView>
10 #include <QTest>
11 
12 #include "test.h"
13 
14 #include "misc/statusmessage.h"
15 
16 using namespace swift::misc;
17 
18 namespace MiscTest
19 {
21  class CTestStatusMessage : public QObject
22  {
23  Q_OBJECT
24 
25  private slots:
27  void statusMessage();
29  void statusArgs();
30  };
31 
32  void CTestStatusMessage::statusMessage()
33  {
35  s1.setMSecsSinceEpoch(4000);
37  s2.setMSecsSinceEpoch(3000);
38  // CStatusMessage s3(CStatusMessage::SeverityWarning, u"warning msg.");
39  // s3.setMSecsSinceEpoch(2000);
40  // CStatusMessage s4(CStatusMessage::SeverityError, u"error msg.");
41  // s4.setMSecsSinceEpoch(1000);
42 
43  CStatusMessage cCopy(s1);
44  QVERIFY(cCopy.getMSecsSinceEpoch() == s1.getMSecsSinceEpoch());
45 
46  CStatusMessage cAssign;
47  cAssign = s2;
48  QVERIFY(cAssign.getMSecsSinceEpoch() == s2.getMSecsSinceEpoch());
49  }
50 
51  void CTestStatusMessage::statusArgs()
52  {
53  auto s1 = CStatusMessage().info(u"literal percent: %1");
54  auto s2 = CStatusMessage().info(u"literal percent: %a");
55  auto s3 = CStatusMessage().info(u"literal percent: %");
56  auto s4 = CStatusMessage().info(u"literal percent: %%");
57  auto s5 = CStatusMessage().info(u"literal percents: %%%");
58  auto s6 = CStatusMessage().info(u"will be expanded: %1%2") << "foo"
59  << "bar";
60  auto s7 = CStatusMessage().info(u"will be expanded: %1+%2") << "foo"
61  << "bar";
62  auto s8 = CStatusMessage().info(u"will be expanded: %012") << "foo";
63 
64  QVERIFY(s1.getMessage() == u"literal percent: %1");
65  QVERIFY(s2.getMessage() == u"literal percent: %a");
66  QVERIFY(s3.getMessage() == u"literal percent: %");
67  QVERIFY(s4.getMessage() == u"literal percent: %");
68  QVERIFY(s5.getMessage() == u"literal percents: %%");
69  QVERIFY(s6.getMessage() == u"will be expanded: foobar");
70  QVERIFY(s7.getMessage() == u"will be expanded: foo+bar");
71  QVERIFY(s8.getMessage() == u"will be expanded: foo2");
72  }
73 } // namespace MiscTest
74 
77 
78 #include "teststatusmessage.moc"
79 
Testing property index access.
Derived & info(const char16_t(&format)[N])
Set the severity to info, providing a format string.
Streamable status message, e.g.
constexpr static auto SeverityDebug
Status severities.
constexpr static auto SeverityInfo
Status severities.
qint64 getMSecsSinceEpoch() const
Timestamp as ms value.
Free functions in swift::misc.
SWIFTTEST_APPLESS_MAIN(MiscTest::CTestStatusMessage)
main