diff options
Diffstat (limited to 'java/prebuilt_apis_test.go')
-rw-r--r-- | java/prebuilt_apis_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/java/prebuilt_apis_test.go b/java/prebuilt_apis_test.go index 79f42250b..75422ad45 100644 --- a/java/prebuilt_apis_test.go +++ b/java/prebuilt_apis_test.go @@ -20,9 +20,14 @@ import ( "testing" "android/soong/android" + "github.com/google/blueprint" ) +func intPtr(v int) *int { + return &v +} + func TestPrebuiltApis_SystemModulesCreation(t *testing.T) { result := android.GroupFixturePreparers( prepareForJavaTest, @@ -54,3 +59,34 @@ func TestPrebuiltApis_SystemModulesCreation(t *testing.T) { sort.Strings(expected) android.AssertArrayString(t, "sdk system modules", expected, sdkSystemModules) } + +func TestPrebuiltApis_WithExtensions(t *testing.T) { + runTestWithBaseExtensionLevel := func(v int) (foo_input string, bar_input string) { + result := android.GroupFixturePreparers( + prepareForJavaTest, + android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) { + variables.Platform_base_sdk_extension_version = intPtr(v) + }), + FixtureWithPrebuiltApisAndExtensions(map[string][]string{ + "31": {"foo"}, + "32": {"foo", "bar"}, + "current": {"foo", "bar"}, + }, map[string][]string{ + "1": {"foo"}, + "2": {"foo", "bar"}, + }), + ).RunTest(t) + foo_input = result.ModuleForTests("foo.api.public.latest", "").Rule("generator").Implicits[0].String() + bar_input = result.ModuleForTests("bar.api.public.latest", "").Rule("generator").Implicits[0].String() + return + } + // Here, the base extension level is 1, so extension level 2 is the latest + foo_input, bar_input := runTestWithBaseExtensionLevel(1) + android.AssertStringEquals(t, "Expected latest = extension level 2", "prebuilts/sdk/extensions/2/public/api/foo.txt", foo_input) + android.AssertStringEquals(t, "Expected latest = extension level 2", "prebuilts/sdk/extensions/2/public/api/bar.txt", bar_input) + + // Here, the base extension level is 2, so 2 is not later than 32. + foo_input, bar_input = runTestWithBaseExtensionLevel(2) + android.AssertStringEquals(t, "Expected latest = api level 32", "prebuilts/sdk/32/public/api/foo.txt", foo_input) + android.AssertStringEquals(t, "Expected latest = api level 32", "prebuilts/sdk/32/public/api/bar.txt", bar_input) +} |