diff options
author | Tobias Markmann <tm@ayena.de> | 2018-10-10 08:49:02 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2018-10-10 14:24:27 (GMT) |
commit | 66b60e9ac2ef9c12d22dcc31201e22e6eeb4804d (patch) | |
tree | a4201c9f537b3ad6cb66b9c4408c2ce22248dc19 /Swiften/JID/UnitTest | |
parent | 5c7ac2eeb74e7c29b72f2e78065ff814dc3a6939 (diff) | |
download | swift-66b60e9ac2ef9c12d22dcc31201e22e6eeb4804d.zip swift-66b60e9ac2ef9c12d22dcc31201e22e6eeb4804d.tar.bz2 |
Remove JID prep caching from JID class
Ran a flamegraph diff on Swift login to an account with a
moderate number of JIDs in roster and more than 10 rooms
in auto join. It showed a difference less that 0.1% on the
changed method. As it does not make much of a difference for
Swift at least, caching is removed.
Test-Information:
Unit tests passes, Swift still logins fine on macOS.
Change-Id: Id33d6d1a655580e06e1364df717fd6f34cce5327
Diffstat (limited to 'Swiften/JID/UnitTest')
-rw-r--r-- | Swiften/JID/UnitTest/JIDTest.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Swiften/JID/UnitTest/JIDTest.cpp b/Swiften/JID/UnitTest/JIDTest.cpp index 0101a4f..aefda33 100644 --- a/Swiften/JID/UnitTest/JIDTest.cpp +++ b/Swiften/JID/UnitTest/JIDTest.cpp @@ -64,6 +64,7 @@ class JIDTest : public CppUnit::TestFixture CPPUNIT_TEST(testGetEscapedNode_BackslashAtEnd); CPPUNIT_TEST(testGetUnescapedNode); CPPUNIT_TEST(testGetUnescapedNode_XEP106Examples); + CPPUNIT_TEST(testStringPrepFailures); CPPUNIT_TEST_SUITE_END(); public: @@ -159,6 +160,12 @@ class JIDTest : public CppUnit::TestFixture CPPUNIT_ASSERT(!testling.isValid()); } + void testStringPrepFailures() { + CPPUNIT_ASSERT_EQUAL(false, JID("foo@bar", "example.com").isValid()); + CPPUNIT_ASSERT_EQUAL(false, JID("foo^", "example*com").isValid()); + CPPUNIT_ASSERT_EQUAL(false, JID("foobar", "example^com").isValid()); + } + void testConstructorWithString_EmptyDomainWithResource() { JID testling("bar@/resource"); |