From ee7586713d68806b556a425cbebf007a56261ff3 Mon Sep 17 00:00:00 2001 From: Yigit Boyar Date: Thu, 16 Apr 2015 15:12:02 -0700 Subject: Add 3rd party licenses to fatJar This CL adds 3rd party licenses to compiler-fatJar so that we can use it in our build process w/o maven dependency. It also removes dependency on SDK folder for api level lookup by shipping versions.xml file with the bundle. It adds a new gradle task, preparePrebuilds, which bundsles all necessary builds to a prebuild folder which should be committed. These pre-builds will be used by the makefile to support make builds. Bug: 19945740 Change-Id: I0bba72bbb13770aba94317301217ddd842211e2d --- .../tool/reflection/SdkVersionTest.java | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 compiler/src/test/java/android/databinding/tool/reflection/SdkVersionTest.java (limited to 'compiler/src/test/java/android/databinding/tool/reflection') diff --git a/compiler/src/test/java/android/databinding/tool/reflection/SdkVersionTest.java b/compiler/src/test/java/android/databinding/tool/reflection/SdkVersionTest.java new file mode 100644 index 00000000..00456645 --- /dev/null +++ b/compiler/src/test/java/android/databinding/tool/reflection/SdkVersionTest.java @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * 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 android.databinding.tool.reflection; + +import org.junit.Before; +import org.junit.Test; + +import android.databinding.tool.reflection.java.JavaAnalyzer; + +import static org.junit.Assert.assertEquals; + +public class SdkVersionTest { + + @Before + public void setUp() throws Exception { + JavaAnalyzer.initForTests(); + } + + @Test + public void testApiVersionsFromResources() { + SdkUtil.ApiChecker apiChecker = SdkUtil.sApiChecker; + int minSdk = SdkUtil.sMinSdk; + try { + SdkUtil.sApiChecker = new SdkUtil.ApiChecker(null); + ModelClass view = ModelAnalyzer.getInstance().findClass("android.widget.TextView", null); + ModelMethod isSuggestionsEnabled = view.getMethods("isSuggestionsEnabled", 0)[0]; + assertEquals(14, SdkUtil.getMinApi(isSuggestionsEnabled)); + } finally { + SdkUtil.sMinSdk = minSdk; + SdkUtil.sApiChecker = apiChecker; + } + } + + @Test + public void testNewApiMethod() { + ModelClass view = ModelAnalyzer.getInstance().findClass("android.view.View", null); + ModelMethod setElevation = view.getMethods("setElevation", 1)[0]; + assertEquals(21, SdkUtil.getMinApi(setElevation)); + } + + @Test + public void testCustomCode() { + ModelClass view = ModelAnalyzer.getInstance() + .findClass("android.databinding.tool.reflection.SdkVersionTest", null); + ModelMethod setElevation = view.getMethods("testCustomCode", 0)[0]; + assertEquals(1, SdkUtil.getMinApi(setElevation)); + } +} -- cgit v1.2.3