summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Sigal <luissigal@google.com>2011-03-10 12:25:13 +0000
committerLuis Sigal <luissigal@google.com>2011-03-10 12:32:43 +0000
commit40bb73886c61d4b2e96bab98b50c1cbfcb54d9a3 (patch)
treea86033a5b9ed8cecff0964b7ec378fac0b38c4c0
parentf94b49ef86229503a9af53381a9543ed2c8799dc (diff)
downloadandroid-mock-40bb73886c61d4b2e96bab98b50c1cbfcb54d9a3.tar.gz
This is a simple export from the upstream repo. Change-Id: I3b9d49116adb0089352357189c08a7b8f359814d
-rw-r--r--src/build-framework-gen.xml2
-rw-r--r--src/com/google/android/testing/mocking/FileUtils.java4
-rw-r--r--src/com/google/android/testing/mocking/SdkVersion.java2
-rw-r--r--tests/com/google/android/testing/mocking/AndroidFrameworkMockGeneratorTest.java8
-rw-r--r--tests/com/google/android/testing/mocking/FileUtilsTest.java17
-rw-r--r--tests/com/google/android/testing/mocking/SdkVersionTest.java12
6 files changed, 33 insertions, 12 deletions
diff --git a/src/build-framework-gen.xml b/src/build-framework-gen.xml
index c23ba7e..674ab30 100644
--- a/src/build-framework-gen.xml
+++ b/src/build-framework-gen.xml
@@ -14,6 +14,7 @@
<property name="android-201-jar" value="android_v201.jar"/>
<property name="android-21-jar" value="android_v21.jar"/>
<property name="android-22-jar" value="android_v22.jar"/>
+ <property name="android-23-jar" value="android_v23.jar"/>
<!-- property name="framework.mock-bin" value=see build.properties -->
<!-- property name="framework.mock-jar" value=see build.properties -->
@@ -43,6 +44,7 @@
<generate-framework-mocks api-jar-file="${android-201-jar}" api-level="6"/>
<generate-framework-mocks api-jar-file="${android-21-jar}" api-level="7"/>
<generate-framework-mocks api-jar-file="${android-22-jar}" api-level="8"/>
+ <generate-framework-mocks api-jar-file="${android-23-jar}" api-level="9"/>
<jar destfile="${framework.mock-bin}/${framework.mock-jar}"
basedir="${framework.mock-staging}" includes="**/*.class" index="true"/>
</target>
diff --git a/src/com/google/android/testing/mocking/FileUtils.java b/src/com/google/android/testing/mocking/FileUtils.java
index f759c57..b03a2c5 100644
--- a/src/com/google/android/testing/mocking/FileUtils.java
+++ b/src/com/google/android/testing/mocking/FileUtils.java
@@ -62,7 +62,9 @@ public class FileUtils {
if (!filename.endsWith(".class")) {
throw new IllegalArgumentException("Argument provided is not a class filename: " + filename);
}
- return filename.replace(File.separatorChar, '.').substring(0, filename.length() - 6);
+ // On non-Linux, files use the native separator, but jar entries use /... sigh
+ return filename.replace(File.separatorChar, '.').replace('/', '.')
+ .substring(0, filename.length() - 6);
}
static void saveClassToFolder(GeneratedClassFile clazz, String outputFolderName)
diff --git a/src/com/google/android/testing/mocking/SdkVersion.java b/src/com/google/android/testing/mocking/SdkVersion.java
index ee61707..ed1424b 100644
--- a/src/com/google/android/testing/mocking/SdkVersion.java
+++ b/src/com/google/android/testing/mocking/SdkVersion.java
@@ -27,7 +27,7 @@ import java.util.List;
*/
public enum SdkVersion {
UNKNOWN("", -1), CUPCAKE("v15", 3), DONUT("v16", 4), ECLAIR_0_1("v201", 6),
- ECLAIR_MR1("v21", 7), FROYO("v22", 8);
+ ECLAIR_MR1("v21", 7), FROYO("v22", 8), GINGERBREAD("v23", 9);
private static final int SDK_VERSION;
diff --git a/tests/com/google/android/testing/mocking/AndroidFrameworkMockGeneratorTest.java b/tests/com/google/android/testing/mocking/AndroidFrameworkMockGeneratorTest.java
index 813063f..b43fa5d 100644
--- a/tests/com/google/android/testing/mocking/AndroidFrameworkMockGeneratorTest.java
+++ b/tests/com/google/android/testing/mocking/AndroidFrameworkMockGeneratorTest.java
@@ -22,6 +22,7 @@ import javassist.NotFoundException;
import junit.framework.TestCase;
+import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -123,7 +124,8 @@ public class AndroidFrameworkMockGeneratorTest extends TestCase {
for (SdkVersion version : SdkVersion.getAllVersions()) {
getMockGenerator();
assertEquals("lib/android/android_" + version.getVersionName() + ".jar",
- AndroidFrameworkMockGenerator.getJarFileNameForVersion(version));
+ AndroidFrameworkMockGenerator.getJarFileNameForVersion(version)
+ .replace('\\', '/'));
}
}
@@ -151,7 +153,9 @@ public class AndroidFrameworkMockGeneratorTest extends TestCase {
"v21.genmocks.java.util.VectorDelegateSubclass",
"v21.genmocks.java.util.VectorDelegateInterface",
"v22.genmocks.java.util.VectorDelegateSubclass",
- "v22.genmocks.java.util.VectorDelegateInterface"
+ "v22.genmocks.java.util.VectorDelegateInterface",
+ "v23.genmocks.java.util.VectorDelegateSubclass",
+ "v23.genmocks.java.util.VectorDelegateInterface"
};
assertEquals(expectedClassNames.length, mocks.size());
for (int i = 0; i < mocks.size(); ++i) {
diff --git a/tests/com/google/android/testing/mocking/FileUtilsTest.java b/tests/com/google/android/testing/mocking/FileUtilsTest.java
index b1058e3..17c8888 100644
--- a/tests/com/google/android/testing/mocking/FileUtilsTest.java
+++ b/tests/com/google/android/testing/mocking/FileUtilsTest.java
@@ -17,6 +17,7 @@ package com.google.android.testing.mocking;
import junit.framework.TestCase;
+import java.io.File;
import java.util.Vector;
/**
@@ -24,14 +25,18 @@ import java.util.Vector;
*/
public class FileUtilsTest extends TestCase {
public void testGetFilenameForClass() {
- assertEquals("java/lang/Object.class", FileUtils.getFilenameFor(Object.class.getName()));
- assertEquals("com/google/android/testing/mocking/FileUtilsTest$InnerClass.class",
+ assertEquals(convertPathToNative("java/lang/Object.class"),
+ FileUtils.getFilenameFor(Object.class.getName()));
+ assertEquals(convertPathToNative(
+ "com/google/android/testing/mocking/FileUtilsTest$InnerClass.class"),
FileUtils.getFilenameFor(InnerClass.class.getName()));
}
public void testGetClassNameFor() {
- assertEquals("java/lang/Object.class", FileUtils.getFilenameFor(Object.class.getName()));
- assertEquals("com/google/android/testing/mocking/FileUtilsTest$InnerClass.class",
+ assertEquals(convertPathToNative("java/lang/Object.class"),
+ FileUtils.getFilenameFor(Object.class.getName()));
+ assertEquals(convertPathToNative(
+ "com/google/android/testing/mocking/FileUtilsTest$InnerClass.class"),
FileUtils.getFilenameFor(InnerClass.class.getName()));
}
@@ -65,6 +70,10 @@ public class FileUtilsTest extends TestCase {
FileUtils.getSubclassNameFor(Vector.class, SdkVersion.UNKNOWN));
}
+ private String convertPathToNative(String path) {
+ return path.replace('/', File.separatorChar).replace('\\', File.separatorChar);
+ }
+
class InnerClass {
}
}
diff --git a/tests/com/google/android/testing/mocking/SdkVersionTest.java b/tests/com/google/android/testing/mocking/SdkVersionTest.java
index eb7c764..93fd17c 100644
--- a/tests/com/google/android/testing/mocking/SdkVersionTest.java
+++ b/tests/com/google/android/testing/mocking/SdkVersionTest.java
@@ -28,7 +28,7 @@ public class SdkVersionTest extends TestCase {
public void testGetAllVersions() {
List<SdkVersion> versions = Arrays.asList(SdkVersion.getAllVersions());
List<SdkVersion> values = Arrays.asList(SdkVersion.values());
- assertEquals(5, versions.size());
+ assertEquals(6, versions.size());
assertTrue(values.containsAll(versions));
assertFalse(versions.contains(SdkVersion.UNKNOWN));
}
@@ -39,9 +39,10 @@ public class SdkVersionTest extends TestCase {
assertEquals("v201", SdkVersion.ECLAIR_0_1.getVersionName());
assertEquals("v21", SdkVersion.ECLAIR_MR1.getVersionName());
assertEquals("v22", SdkVersion.FROYO.getVersionName());
+ assertEquals("v23", SdkVersion.GINGERBREAD.getVersionName());
assertEquals("", SdkVersion.UNKNOWN.getVersionName());
assertEquals("Unknown new SDK has been added, update this test",
- 6, SdkVersion.values().length);
+ 7, SdkVersion.values().length);
}
public void testGetPackagePrefix() {
@@ -50,9 +51,10 @@ public class SdkVersionTest extends TestCase {
assertEquals("v201.", SdkVersion.ECLAIR_0_1.getPackagePrefix());
assertEquals("v21.", SdkVersion.ECLAIR_MR1.getPackagePrefix());
assertEquals("v22.", SdkVersion.FROYO.getPackagePrefix());
+ assertEquals("v23.", SdkVersion.GINGERBREAD.getPackagePrefix());
assertEquals("", SdkVersion.UNKNOWN.getPackagePrefix());
assertEquals("Unknown new SDK has been added, update this test",
- 6, SdkVersion.values().length);
+ 7, SdkVersion.values().length);
}
public void testGetCurrentVersion() {
@@ -66,8 +68,10 @@ public class SdkVersionTest extends TestCase {
assertEquals(SdkVersion.ECLAIR_0_1, SdkVersion.getVersionFor(6));
assertEquals(SdkVersion.ECLAIR_MR1, SdkVersion.getVersionFor(7));
assertEquals(SdkVersion.FROYO, SdkVersion.getVersionFor(8));
+ assertEquals(SdkVersion.GINGERBREAD, SdkVersion.getVersionFor(9));
assertEquals(SdkVersion.UNKNOWN, SdkVersion.getVersionFor(-1));
- for (int i = 9; i < 50; ++i) {
+ // All likely future version numbers... Modify this when a new version is added
+ for (int i = 10; i < 50; ++i) {
assertEquals("Unknown new SDK has been added, update this test",
SdkVersion.UNKNOWN, SdkVersion.getVersionFor(i));
}