1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "base/android/path_utils.h"
6#include "base/file_util.h"
7#include "base/files/file_path.h"
8
9#include "testing/gtest/include/gtest/gtest.h"
10
11namespace base {
12namespace android {
13
14typedef testing::Test PathUtilsTest;
15
16TEST_F(PathUtilsTest, TestGetDataDirectory) {
17  // The string comes from the Java side and depends on the APK
18  // we are running in. Assumes that we are packaged in
19  // org.chromium.native_test
20  FilePath path;
21  GetDataDirectory(&path);
22  EXPECT_STREQ("/data/data/org.chromium.native_test/app_chrome",
23               path.value().c_str());
24}
25
26TEST_F(PathUtilsTest, TestGetCacheDirectory) {
27  // The string comes from the Java side and depends on the APK
28  // we are running in. Assumes that we are packaged in
29  // org.chromium.native_test
30  FilePath path;
31  GetCacheDirectory(&path);
32  EXPECT_STREQ("/data/data/org.chromium.native_test/cache",
33               path.value().c_str());
34}
35
36TEST_F(PathUtilsTest, TestGetNativeLibraryDirectory) {
37  // The string comes from the Java side and depends on the APK
38  // we are running in. Assumes that the directory contains
39  // the base tests shared object.
40  FilePath path;
41  GetNativeLibraryDirectory(&path);
42  EXPECT_TRUE(base::PathExists(path.Append(("libbase_unittests.so"))));
43}
44
45}  // namespace android
46}  // namespace base
47