@@ -788,6 +788,7 @@ namespace cppstringstests
788788 s.lower ();
789789 for (int i=0 ; i < N; ++i)
790790 Assert::AreEqual (pcs::to_lower (ch), s[i]);
791+ Assert::AreEqual (char (std::tolower (ch)), pcs::CppString::lower (ch));
791792 }
792793
793794 for (int c = 0 ; c <= 0xffff ; ++c) {
@@ -797,9 +798,36 @@ namespace cppstringstests
797798 ws.lower ();
798799 for (int i = 0 ; i < N; ++i)
799800 Assert::AreEqual (pcs::to_lower (wch), ws[i]);
801+ Assert::AreEqual (wchar_t (std::tolower (wch)), pcs::CppWString::lower (wch));
800802 }
801803 }
802804
805+ TEST_METHOD (lstrip)
806+ {
807+ pcs::CppString s (" abcd" );
808+ Assert::AreEqual (" cd" , s.lstrip (" baCD" ).c_str ());
809+ Assert::AreEqual (" abcd" , s.lstrip (" xyz" ).c_str ());
810+ Assert::AreEqual (" abcd" , s.lstrip (" " ).c_str ());
811+ Assert::AreEqual (" cd" , " abbabaabcd" cs.lstrip (" baCD" ).c_str ());
812+ Assert::AreEqual (" cdab" , " abbabaabcdab" cs.lstrip (" baCD" ).c_str ());
813+ Assert::AreEqual (" abcd" , " abcd" cs.lstrip ().c_str ());
814+ Assert::AreEqual (" abcd" , " abcd" cs.lstrip ().c_str ());
815+ Assert::AreEqual (" abcd" , " abcd" cs.lstrip ().c_str ());
816+ Assert::AreEqual (" a bcd" , " a bcd" cs.lstrip ().c_str ());
817+ Assert::AreEqual (" a bcd " , " a bcd " cs.lstrip ().c_str ());
818+
819+ pcs::CppWString ws (L" abcd" );
820+ Assert::AreEqual (L" cd" , ws.lstrip (L" baCD" ).c_str ());
821+ Assert::AreEqual (L" abcd" , ws.lstrip (L" xyz" ).c_str ());
822+ Assert::AreEqual (L" abcd" , ws.lstrip (L" " ).c_str ());
823+ Assert::AreEqual (L" cd" , L" abbabaabcd" cs.lstrip (L" baCD" ).c_str ());
824+ Assert::AreEqual (L" cdab" , L" abbabaabcdab" cs.lstrip (L" baCD" ).c_str ());
825+ Assert::AreEqual (L" abcd" , L" abcd" cs.lstrip ().c_str ());
826+ Assert::AreEqual (L" abcd" , L" abcd" cs.lstrip ().c_str ());
827+ Assert::AreEqual (L" abcd" , L" abcd" cs.lstrip ().c_str ());
828+ Assert::AreEqual (L" a bcd" , L" a bcd" cs.lstrip ().c_str ());
829+ Assert::AreEqual (L" a bcd " , L" a bcd " cs.lstrip ().c_str ());
830+ }
803831
804832 };
805833}
0 commit comments