1 /* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 * use this file except in compliance with the License. You may obtain a copy of 6 * the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations under 14 * the License. 15 */ 16 17 #include <gtest/gtest.h> 18 #include <StringUtil.h> 19 20 21 class StringUtilTest : public testing::Test { 22 23 }; 24 25 TEST_F(StringUtilTest, compareTest) { 26 android::String8 str("hello"); 27 ASSERT_TRUE(StringUtil::compare(str, "hello") == 0); 28 ASSERT_TRUE(StringUtil::compare(str, "hi") != 0); 29 } 30 31 TEST_F(StringUtilTest, substrTest) { 32 android::String8 str("hello there"); 33 34 android::String8 sub1 = StringUtil::substr(str, 0, 5); 35 ASSERT_TRUE(StringUtil::compare(sub1, "hello") == 0); 36 37 android::String8 sub2 = StringUtil::substr(str, 10, 5); 38 ASSERT_TRUE(StringUtil::compare(sub2, "e") == 0); 39 40 android::String8 sub3 = StringUtil::substr(str, 6, 5); 41 ASSERT_TRUE(StringUtil::compare(sub3, "there") == 0); 42 43 android::String8 sub4 = StringUtil::substr(str, 100, 5); 44 ASSERT_TRUE(sub4.length() == 0); 45 } 46 47 TEST_F(StringUtilTest, endsWithTest) { 48 android::String8 str("hello there"); 49 ASSERT_TRUE(StringUtil::endsWith(str, "there")); 50 ASSERT_TRUE(StringUtil::endsWith(str, "hello there")); 51 ASSERT_TRUE(!StringUtil::endsWith(str, "not there")); 52 } 53 54 TEST_F(StringUtilTest, splitTest) { 55 android::String8 str("hello:there:break:this:"); 56 std::vector<android::String8>* tokens = StringUtil::split(str, ':'); 57 ASSERT_TRUE(tokens != NULL); 58 ASSERT_TRUE(tokens->size() == 4); 59 ASSERT_TRUE(StringUtil::compare(tokens->at(0), "hello") == 0); 60 ASSERT_TRUE(StringUtil::compare(tokens->at(1), "there") == 0); 61 ASSERT_TRUE(StringUtil::compare(tokens->at(2), "break") == 0); 62 ASSERT_TRUE(StringUtil::compare(tokens->at(3), "this") == 0); 63 delete tokens; 64 65 android::String8 str2("::::"); 66 std::vector<android::String8>* tokens2 = StringUtil::split(str2, ':'); 67 ASSERT_TRUE(tokens2 != NULL); 68 ASSERT_TRUE(tokens2->size() == 0); 69 delete tokens2; 70 } 71 72 73 74