summaryrefslogtreecommitdiff
path: root/tests/com/google/testing/littlemock/AppDataDirGuesserTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/com/google/testing/littlemock/AppDataDirGuesserTest.java')
-rw-r--r--tests/com/google/testing/littlemock/AppDataDirGuesserTest.java114
1 files changed, 0 insertions, 114 deletions
diff --git a/tests/com/google/testing/littlemock/AppDataDirGuesserTest.java b/tests/com/google/testing/littlemock/AppDataDirGuesserTest.java
deleted file mode 100644
index 191a608..0000000
--- a/tests/com/google/testing/littlemock/AppDataDirGuesserTest.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2011 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.google.testing.littlemock;
-
-import junit.framework.TestCase;
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-public class AppDataDirGuesserTest extends TestCase {
- public void testGuessCacheDir_SimpleExample() {
- guessCacheDirFor("/data/app/a.b.c.apk").shouldGive("/data/data/a.b.c/cache");
- guessCacheDirFor("/data/app/a.b.c.tests.apk").shouldGive("/data/data/a.b.c.tests/cache");
- }
-
- public void testGuessCacheDir_MultipleResultsSeparatedByColon() {
- guessCacheDirFor("/data/app/a.b.c.apk:/data/app/d.e.f.apk")
- .shouldGive("/data/data/a.b.c/cache", "/data/data/d.e.f/cache");
- }
-
- public void testGuessCacheDir_NotWriteableSkipped() {
- guessCacheDirFor("/data/app/a.b.c.apk:/data/app/d.e.f.apk")
- .withNonWriteable("/data/data/a.b.c/cache")
- .shouldGive("/data/data/d.e.f/cache");
- }
-
- public void testGuessCacheDir_StripHyphenatedSuffixes() {
- guessCacheDirFor("/data/app/a.b.c-2.apk").shouldGive("/data/data/a.b.c/cache");
- }
-
- public void testGuessCacheDir_LeadingAndTrailingColonsIgnored() {
- guessCacheDirFor("/data/app/a.b.c.apk:asdf:").shouldGive("/data/data/a.b.c/cache");
- guessCacheDirFor(":asdf:/data/app/a.b.c.apk").shouldGive("/data/data/a.b.c/cache");
- }
-
- public void testGuessCacheDir_InvalidInputsGiveEmptyArray() {
- guessCacheDirFor("").shouldGive();
- }
-
- public void testGuessCacheDir_JarsIgnored() {
- guessCacheDirFor("/data/app/a.b.c.jar").shouldGive();
- guessCacheDirFor("/system/framework/android.test.runner.jar").shouldGive();
- }
-
- public void testGuessCacheDir_RealWorldExample() {
- String realPath = "/system/framework/android.test.runner.jar:" +
- "/data/app/com.google.android.voicesearch.tests-2.apk:" +
- "/data/app/com.google.android.voicesearch-1.apk";
- guessCacheDirFor(realPath)
- .withNonWriteable("/data/data/com.google.android.voicesearch.tests/cache")
- .shouldGive("/data/data/com.google.android.voicesearch/cache");
- }
-
- public void testSplitPathList() {
- final String[] expected = { "foo", "bar" };
- assertTrue(Arrays.equals(expected, AppDataDirGuesser.splitPathList("foo:bar")));
- assertTrue(Arrays.equals(expected,
- AppDataDirGuesser.splitPathList("dexPath=foo:bar")));
- assertTrue(Arrays.equals(expected,
- AppDataDirGuesser.splitPathList("dexPath=foo:bar,bazPath=bar:bar2")));
- }
-
- private interface TestCondition {
- TestCondition withNonWriteable(String... files);
- void shouldGive(String... files);
- }
-
- private TestCondition guessCacheDirFor(final String path) {
- final Set<String> notWriteable = new HashSet<String>();
- return new TestCondition() {
- @Override
- public void shouldGive(String... files) {
- AppDataDirGuesser guesser = new AppDataDirGuesser() {
- @Override
- public boolean isWriteableDirectory(File file) {
- return !notWriteable.contains(file.getAbsolutePath());
- }
- @Override
- boolean fileOrDirExists(File file) {
- return true;
- }
- };
- File[] results = guesser.guessPath(path);
- assertNotNull("Null results for " + path, results);
- assertEquals("Bad lengths for " + path, files.length, results.length);
- for (int i = 0; i < files.length; ++i) {
- assertEquals("Element " + i, new File(files[i]), results[i]);
- }
- }
-
- @Override
- public TestCondition withNonWriteable(String... files) {
- notWriteable.addAll(Arrays.asList(files));
- return this;
- }
- };
- }
-}