diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2020-03-05 15:52:29 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2021-06-16 13:22:18 +0200 |
commit | 9648ffff7efbb3582506184191411197c9099c69 (patch) | |
tree | 2bf3389c6e5639269746847331d8f237bb4b96af | |
parent | 6ce44c53c7aa802b817b72d49de88e4da0181488 (diff) |
QLoggingSettingsParser: port setContent() to QStringView
Amends 16f927a4f1ffeff399351b625d73ac3cd7bccd51.
At the time the original change was written, QStringTokenizer
had not been integrated, yet.
Change-Id: I83c31d816199bc48c4baea855d13cbf9eda9aaa2
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
-rw-r--r-- | src/corelib/io/qloggingregistry.cpp | 6 | ||||
-rw-r--r-- | src/corelib/io/qloggingregistry_p.h | 2 | ||||
-rw-r--r-- | tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp | 30 |
3 files changed, 19 insertions, 19 deletions
diff --git a/src/corelib/io/qloggingregistry.cpp b/src/corelib/io/qloggingregistry.cpp index e1e35a07ed..c41e131f79 100644 --- a/src/corelib/io/qloggingregistry.cpp +++ b/src/corelib/io/qloggingregistry.cpp @@ -43,6 +43,7 @@ #include <QtCore/qlibraryinfo.h> #include <QtCore/private/qlocking_p.h> #include <QtCore/qstandardpaths.h> +#include <QtCore/qstringtokenizer.h> #include <QtCore/qtextstream.h> #include <QtCore/qdir.h> #include <QtCore/qcoreapplication.h> @@ -186,11 +187,10 @@ void QLoggingRule::parse(QStringView pattern) \internal Parses configuration from \a content. */ -void QLoggingSettingsParser::setContent(const QString &content) +void QLoggingSettingsParser::setContent(QStringView content) { _rules.clear(); - const auto lines = QStringView{content}.split(QLatin1Char('\n')); - for (const auto &line : lines) + for (auto line : qTokenize(content, u'\n')) parseNextLine(line); } diff --git a/src/corelib/io/qloggingregistry_p.h b/src/corelib/io/qloggingregistry_p.h index 9687a0e20d..e8a94a030a 100644 --- a/src/corelib/io/qloggingregistry_p.h +++ b/src/corelib/io/qloggingregistry_p.h @@ -95,7 +95,7 @@ class Q_AUTOTEST_EXPORT QLoggingSettingsParser public: void setImplicitRulesSection(bool inRulesSection) { m_inRulesSection = inRulesSection; } - void setContent(const QString &content); + void setContent(QStringView content); void setContent(QTextStream &stream); QList<QLoggingRule> rules() const { return _rules; } diff --git a/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp b/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp index d13be425bf..d46dc4b98c 100644 --- a/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp +++ b/tests/auto/corelib/io/qloggingregistry/tst_qloggingregistry.cpp @@ -182,24 +182,24 @@ private slots: // default category, and optional ... // QLoggingSettingsParser parser; - parser.setContent("[Rules]\n" - "default=false\n" - "default=true"); + parser.setContent(u"[Rules]\n" + "default=false\n" + "default=true"); QCOMPARE(parser.rules().size(), 2); - parser.setContent("[Rules]\n" - "default=false"); + parser.setContent(u"[Rules]\n" + "default=false"); QCOMPARE(parser.rules().size(), 1); // QSettings escapes * to %2A when writing. - parser.setContent("[Rules]\n" - "module.%2A=false"); + parser.setContent(u"[Rules]\n" + "module.%2A=false"); QCOMPARE(parser.rules().size(), 1); QCOMPARE(parser.rules().first().category, QString("module.")); QCOMPARE(parser.rules().first().flags, QLoggingRule::LeftFilter); - parser.setContent("[OtherSection]\n" - "default=false"); + parser.setContent(u"[OtherSection]\n" + "default=false"); QCOMPARE(parser.rules().size(), 0); } @@ -290,7 +290,7 @@ private slots: // set Config rule QLoggingSettingsParser parser; - parser.setContent("[Rules]\nDigia.*=false"); + parser.setContent(u"[Rules]\nDigia.*=false"); registry->ruleSets[QLoggingRegistry::ConfigRules] = parser.rules(); registry->updateRules(); @@ -302,7 +302,7 @@ private slots: QVERIFY(cat.isWarningEnabled()); // set Env rule, should overwrite Config one - parser.setContent("Digia.*=false"); + parser.setContent(u"Digia.*=false"); registry->ruleSets[QLoggingRegistry::EnvironmentRules] = parser.rules(); registry->updateRules(); @@ -316,10 +316,10 @@ private slots: QTest::ignoreMessage(QtWarningMsg, "Ignoring malformed logging rule: '***=false'"); QTest::ignoreMessage(QtWarningMsg, "Ignoring malformed logging rule: '*=0'"); QTest::ignoreMessage(QtWarningMsg, "Ignoring malformed logging rule: '*=TRUE'"); - parser.setContent("[Rules]\n" - "***=false\n" - "*=0\n" - "*=TRUE\n"); + parser.setContent(u"[Rules]\n" + "***=false\n" + "*=0\n" + "*=TRUE\n"); QVERIFY(parser.rules().isEmpty()); } }; |