diff options
| author | 2020-08-04 09:55:13 -0700 | |
|---|---|---|
| committer | 2020-08-05 20:14:37 +0000 | |
| commit | 9ba460fd8f4f2de0e0960ec0e5ffcb2172cebed0 (patch) | |
| tree | 17f8a895d51ad936778575be3fb7d8318e4490a7 /java/java_test.go | |
| parent | dbc447ae5d251ad37d810a20720daa73722957b5 (diff) | |
Add property api_levels_jar_filename to droidstubs
The default is android.jar to maintain current behavior but allows users
to specify a different filepath to support generating api-versions for
docs other than the platform (e.g. auto).
Bug: 162552181
Test: m doc
Test: go test java_test
Merged-In: I9e51abaf7d5451d68ca782157d9b739f76c5da82
Change-Id: I9e51abaf7d5451d68ca782157d9b739f76c5da82
Diffstat (limited to 'java/java_test.go')
| -rw-r--r-- | java/java_test.go | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/java/java_test.go b/java/java_test.go index f0de52fb9..8797119b5 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -1006,6 +1006,62 @@ func TestDroiddoc(t *testing.T) { } } +func TestDroidstubs(t *testing.T) { + ctx, _ := testJavaWithFS(t, ` + droiddoc_exported_dir { + name: "droiddoc-templates-sdk", + path: ".", + } + + droidstubs { + name: "bar-stubs", + srcs: [ + "bar-doc/a.java", + ], + api_levels_annotations_dirs: [ + "droiddoc-templates-sdk", + ], + api_levels_annotations_enabled: true, + } + + droidstubs { + name: "bar-stubs-other", + srcs: [ + "bar-doc/a.java", + ], + api_levels_annotations_dirs: [ + "droiddoc-templates-sdk", + ], + api_levels_annotations_enabled: true, + api_levels_jar_filename: "android.other.jar", + } + `, + map[string][]byte{ + "bar-doc/a.java": nil, + }) + testcases := []struct { + moduleName string + expectedJarFilename string + }{ + { + moduleName: "bar-stubs", + expectedJarFilename: "android.jar", + }, + { + moduleName: "bar-stubs-other", + expectedJarFilename: "android.other.jar", + }, + } + for _, c := range testcases { + m := ctx.ModuleForTests(c.moduleName, "android_common") + metalava := m.Rule("metalava") + expected := "--android-jar-pattern ./%/public/" + c.expectedJarFilename + if actual := metalava.RuleParams.Command; !strings.Contains(actual, expected) { + t.Errorf("For %q, expected metalava argument %q, but was not found %q", c.moduleName, expected, actual) + } + } +} + func TestDroidstubsWithSystemModules(t *testing.T) { ctx, _ := testJava(t, ` droidstubs { |