summaryrefslogtreecommitdiff
path: root/comphelper
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-02-10 11:08:21 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-02-10 11:09:08 +0000
commit9c19e79f19f0dbd55def4a0cf473248ea91e188e (patch)
treea75fc652a3d79b4a18d69a7f3af3bb5b8f369262 /comphelper
parent40cddfce8b2e53a4203760b40833bbd9092cac68 (diff)
extend unit test to islower
Diffstat (limited to 'comphelper')
-rw-r--r--comphelper/inc/comphelper/string.hxx30
-rw-r--r--comphelper/qa/string/test_string.cxx44
-rw-r--r--comphelper/source/misc/string.cxx15
3 files changed, 89 insertions, 0 deletions
diff --git a/comphelper/inc/comphelper/string.hxx b/comphelper/inc/comphelper/string.hxx
index 3fba475b976b..e3d11d9d48e5 100644
--- a/comphelper/inc/comphelper/string.hxx
+++ b/comphelper/inc/comphelper/string.hxx
@@ -593,6 +593,16 @@ COMPHELPER_DLLPUBLIC bool isdigitAsciiString(const rtl::OUString &rString);
*/
COMPHELPER_DLLPUBLIC bool isalnumAsciiString(const rtl::OString &rString);
+/** Determine if an OUString contains solely ASCII alphanumeric chars/digits
+
+ @param rString An OUString
+
+ @return false if string contains any characters outside
+ the ASCII 'a'-'z', 'A'-'Z' and '0'-'9' ranges
+ true otherwise, including for empty string
+ */
+COMPHELPER_DLLPUBLIC bool isalnumAsciiString(const rtl::OUString &rString);
+
/** Determine if an OString contains solely ASCII lower-case chars
@param rString An OString
@@ -603,6 +613,16 @@ COMPHELPER_DLLPUBLIC bool isalnumAsciiString(const rtl::OString &rString);
*/
COMPHELPER_DLLPUBLIC bool islowerAsciiString(const rtl::OString &rString);
+/** Determine if an OUString contains solely ASCII lower-case chars
+
+ @param rString An OUString
+
+ @return false if string contains any characters outside
+ the ASCII 'a'-'z' ranges
+ true otherwise, including for empty string
+ */
+COMPHELPER_DLLPUBLIC bool islowerAsciiString(const rtl::OUString &rString);
+
/** Determine if an OString contains solely ASCII upper-case chars
@param rString An OString
@@ -613,6 +633,16 @@ COMPHELPER_DLLPUBLIC bool islowerAsciiString(const rtl::OString &rString);
*/
COMPHELPER_DLLPUBLIC bool isupperAsciiString(const rtl::OString &rString);
+/** Determine if an OUString contains solely ASCII upper-case chars
+
+ @param rString An OUString
+
+ @return false if string contains any characters outside
+ the ASCII 'A'-'Z' ranges
+ true otherwise, including for empty string
+ */
+COMPHELPER_DLLPUBLIC bool isupperAsciiString(const rtl::OUString &rString);
+
COMPHELPER_DLLPUBLIC inline bool isdigitAscii(sal_Unicode c)
{
return ((c >= '0') && (c <= '9'));
diff --git a/comphelper/qa/string/test_string.cxx b/comphelper/qa/string/test_string.cxx
index 1fb892217740..82eaee04bd90 100644
--- a/comphelper/qa/string/test_string.cxx
+++ b/comphelper/qa/string/test_string.cxx
@@ -57,6 +57,7 @@ public:
void testIsdigitAsciiString();
void testIsalnumAsciiString();
void testIsupperAsciiString();
+ void testIslowerAsciiString();
void testIndexOfL();
void testMatchIgnoreAsciiCaseL();
@@ -74,6 +75,7 @@ public:
CPPUNIT_TEST(testIsdigitAsciiString);
CPPUNIT_TEST(testIsalnumAsciiString);
CPPUNIT_TEST(testIsupperAsciiString);
+ CPPUNIT_TEST(testIslowerAsciiString);
CPPUNIT_TEST(testIndexOfL);
CPPUNIT_TEST(testMatchIgnoreAsciiCaseL);
CPPUNIT_TEST_SUITE_END();
@@ -146,6 +148,18 @@ void TestString::testIsalnumAsciiString()
rtl::OString s4(RTL_CONSTASCII_STRINGPARAM("1A[4"));
CPPUNIT_ASSERT_EQUAL(comphelper::string::isalnumAsciiString(s4), false);
+
+ rtl::OUString s5(RTL_CONSTASCII_USTRINGPARAM("1234"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::isalnumAsciiString(s5), true);
+
+ rtl::OUString s6(RTL_CONSTASCII_USTRINGPARAM("1A34"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::isalnumAsciiString(s6), true);
+
+ rtl::OUString s7;
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::isalnumAsciiString(s7), true);
+
+ rtl::OUString s8(RTL_CONSTASCII_USTRINGPARAM("1A[4"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::isalnumAsciiString(s8), false);
}
void TestString::testIsupperAsciiString()
@@ -158,6 +172,36 @@ void TestString::testIsupperAsciiString()
rtl::OString s3(RTL_CONSTASCII_STRINGPARAM("AABB"));
CPPUNIT_ASSERT_EQUAL(comphelper::string::isupperAsciiString(s3), true);
+
+ rtl::OUString s4(RTL_CONSTASCII_USTRINGPARAM("1234"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::isupperAsciiString(s4), false);
+
+ rtl::OUString s5(RTL_CONSTASCII_USTRINGPARAM("aAbB"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::isupperAsciiString(s5), false);
+
+ rtl::OUString s6(RTL_CONSTASCII_USTRINGPARAM("AABB"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::isupperAsciiString(s6), true);
+}
+
+void TestString::testIslowerAsciiString()
+{
+ rtl::OString s1(RTL_CONSTASCII_STRINGPARAM("1234"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::islowerAsciiString(s1), false);
+
+ rtl::OString s2(RTL_CONSTASCII_STRINGPARAM("aAbB"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::islowerAsciiString(s2), false);
+
+ rtl::OString s3(RTL_CONSTASCII_STRINGPARAM("aabb"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::islowerAsciiString(s3), true);
+
+ rtl::OUString s4(RTL_CONSTASCII_USTRINGPARAM("1234"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::islowerAsciiString(s4), false);
+
+ rtl::OUString s5(RTL_CONSTASCII_USTRINGPARAM("aAbB"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::islowerAsciiString(s5), false);
+
+ rtl::OUString s6(RTL_CONSTASCII_USTRINGPARAM("aabb"));
+ CPPUNIT_ASSERT_EQUAL(comphelper::string::islowerAsciiString(s6), true);
}
void TestString::testIndexOfL()
diff --git a/comphelper/source/misc/string.cxx b/comphelper/source/misc/string.cxx
index 712d9030ddf1..13a1236ea55e 100644
--- a/comphelper/source/misc/string.cxx
+++ b/comphelper/source/misc/string.cxx
@@ -516,6 +516,11 @@ bool isalnumAsciiString(const rtl::OString &rString)
return tmpl_is_OPER_AsciiString<isalnumAscii>(rString);
}
+bool isalnumAsciiString(const rtl::OUString &rString)
+{
+ return tmpl_is_OPER_AsciiString<isalnumAscii>(rString);
+}
+
bool isdigitAsciiString(const rtl::OString &rString)
{
return tmpl_is_OPER_AsciiString<isdigitAscii>(rString);
@@ -531,11 +536,21 @@ bool islowerAsciiString(const rtl::OString &rString)
return tmpl_is_OPER_AsciiString<islowerAscii>(rString);
}
+bool islowerAsciiString(const rtl::OUString &rString)
+{
+ return tmpl_is_OPER_AsciiString<islowerAscii>(rString);
+}
+
bool isupperAsciiString(const rtl::OString &rString)
{
return tmpl_is_OPER_AsciiString<isupperAscii>(rString);
}
+bool isupperAsciiString(const rtl::OUString &rString)
+{
+ return tmpl_is_OPER_AsciiString<isupperAscii>(rString);
+}
+
} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */