summaryrefslogtreecommitdiffstats
path: root/chromium/base/android/junit/src/org/chromium/base/PathUtilsTest.java
blob: ebe2ba8290b1b2f12b6da82929c37f954f4a5315 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package org.chromium.base;

import static org.junit.Assert.assertEquals;

import android.content.Context;

import androidx.test.core.app.ApplicationProvider;

import org.junit.Test;
import org.junit.runner.RunWith;

import org.chromium.base.test.BaseRobolectricTestRunner;

import java.io.File;

/**
 * junit tests for {@link PathUtils}.
 */
@RunWith(BaseRobolectricTestRunner.class)
public class PathUtilsTest {
    static final String THUMBNAIL_DIRECTORY_NAME = "textures";

    @Test
    public void testSetPrivateDataDirectorySuffix() {
        Context context = ApplicationProvider.getApplicationContext();
        String dataSuffix = "data_suffix";
        String cacheSubDir = "cache_subdir";
        String expectedDataDir = context.getDir(dataSuffix, Context.MODE_PRIVATE).getPath();
        String expectedThumbnailDir =
                context.getDir(THUMBNAIL_DIRECTORY_NAME, Context.MODE_PRIVATE).getPath();
        String expectedCacheDir = new File(context.getCacheDir(), cacheSubDir).getPath();

        PathUtils.setPrivateDataDirectorySuffix(dataSuffix, cacheSubDir);
        String dataDir = PathUtils.getDataDirectory();
        String cacheDir = PathUtils.getCacheDirectory();
        String thumbnailDir = PathUtils.getThumbnailCacheDirectory();

        assertEquals(dataDir, expectedDataDir);
        assertEquals(cacheDir, expectedCacheDir);
        assertEquals(thumbnailDir, expectedThumbnailDir);
    }

    @Test
    public void testSetPrivateDirectoryPath() {
        String dataPath = "/data_path/a/b/c";
        String cachePath = "/cache_path/a/b/c";
        String dataSuffix = "data_suffix";
        String cacheSubDir = "cache_subdir";
        String expectedDataDir = dataPath + "/" + dataSuffix;
        String expectedCacheDir = cachePath + "/" + cacheSubDir;
        String expectedThumbnailDir = dataPath + "/" + THUMBNAIL_DIRECTORY_NAME;

        PathUtils.setPrivateDirectoryPath(dataPath, cachePath, dataSuffix, cacheSubDir);
        String dataDir = PathUtils.getDataDirectory();
        String cacheDir = PathUtils.getCacheDirectory();
        String thumbnailDir = PathUtils.getThumbnailCacheDirectory();

        assertEquals(dataDir, expectedDataDir);
        assertEquals(cacheDir, expectedCacheDir);
        assertEquals(thumbnailDir, expectedThumbnailDir);
    }

    @Test
    public void testSetPrivateDirectoryPathWithoutBasePaths() {
        Context context = ApplicationProvider.getApplicationContext();
        String dataSuffix = "data_suffix";
        String cacheSubDir = "cache_subdir";
        String expectedDataDir = context.getDir(dataSuffix, Context.MODE_PRIVATE).getPath();
        String expectedThumbnailDir =
                context.getDir(THUMBNAIL_DIRECTORY_NAME, Context.MODE_PRIVATE).getPath();
        String expectedCacheDir = new File(context.getCacheDir(), cacheSubDir).getPath();

        PathUtils.setPrivateDirectoryPath(null, null, dataSuffix, cacheSubDir);
        String dataDir = PathUtils.getDataDirectory();
        String cacheDir = PathUtils.getCacheDirectory();
        String thumbnailDir = PathUtils.getThumbnailCacheDirectory();

        assertEquals(dataDir, expectedDataDir);
        assertEquals(cacheDir, expectedCacheDir);
        assertEquals(thumbnailDir, expectedThumbnailDir);
    }
}