// Copyright 2011 Google Inc. All Rights Reserved. #include "runtime.h" #include "gtest/gtest.h" namespace art { void ParseClassPath(const char* class_path, std::vector* vec); } namespace { TEST(RuntimeTest, ParseClassPath) { std::vector vec; art::ParseClassPath("", &vec); EXPECT_EQ(0U, vec.size()); vec.clear(); art::ParseClassPath(":", &vec); EXPECT_EQ(0U, vec.size()); vec.clear(); art::ParseClassPath(":foo", &vec); EXPECT_EQ(1U, vec.size()); vec.clear(); art::ParseClassPath("foo:", &vec); EXPECT_EQ(1U, vec.size()); vec.clear(); art::ParseClassPath(":foo:", &vec); EXPECT_EQ(1U, vec.size()); vec.clear(); art::ParseClassPath("foo:bar", &vec); EXPECT_EQ(2U, vec.size()); vec.clear(); art::ParseClassPath(":foo:bar", &vec); EXPECT_EQ(2U, vec.size()); vec.clear(); art::ParseClassPath("foo:bar:", &vec); EXPECT_EQ(2U, vec.size()); vec.clear(); art::ParseClassPath(":foo:bar:", &vec); EXPECT_EQ(2U, vec.size()); vec.clear(); art::ParseClassPath("foo:bar:baz", &vec); EXPECT_EQ(3U, vec.size()); vec.clear(); art::ParseClassPath(":foo:bar:baz", &vec); EXPECT_EQ(3U, vec.size()); vec.clear(); art::ParseClassPath("foo:bar:baz:", &vec); EXPECT_EQ(3U, vec.size()); vec.clear(); art::ParseClassPath(":foo:bar:baz:", &vec); EXPECT_EQ(3U, vec.size()); vec.clear(); } } // namespace