15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/android/path_utils.h" 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/files/file_path.h" 76e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "base/files/file_util.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace base { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace android { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef testing::Test PathUtilsTest; 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST_F(PathUtilsTest, TestGetDataDirectory) { 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The string comes from the Java side and depends on the APK 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // we are running in. Assumes that we are packaged in 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // org.chromium.native_test 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FilePath path; 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetDataDirectory(&path); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_STREQ("/data/data/org.chromium.native_test/app_chrome", 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) path.value().c_str()); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST_F(PathUtilsTest, TestGetCacheDirectory) { 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The string comes from the Java side and depends on the APK 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // we are running in. Assumes that we are packaged in 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // org.chromium.native_test 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FilePath path; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetCacheDirectory(&path); 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EXPECT_STREQ("/data/data/org.chromium.native_test/cache", 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) path.value().c_str()); 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TEST_F(PathUtilsTest, TestGetNativeLibraryDirectory) { 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // The string comes from the Java side and depends on the APK 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // we are running in. Assumes that the directory contains 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // the base tests shared object. 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) FilePath path; 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) GetNativeLibraryDirectory(&path); 42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) EXPECT_TRUE(base::PathExists(path.Append(("libbase_unittests.so"))) || 43a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) base::PathExists(path.Append(("libbase_unittests.cr.so")))); 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace android 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace base 48