Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8596021c authored by Yohann Roussel's avatar Yohann Roussel Committed by Android Git Automerger
Browse files

am 3e5223fd: am 6829daa4: Merge "Add tests about annotations and enum."

* commit '3e5223fd':
  Add tests about annotations and enum.
parents 245da877 3e5223fd
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ public class Test extends ActivityInstrumentationTestCase2<MainActivity> {
        assertEquals(3366, getActivity().getValue());
    }

    public void testAnnotation() {
    public void testAnnotation() throws Exception {
        assertEquals(ReferencedByAnnotation.B,
                ((AnnotationWithEnum) TestApplication.annotation).value());
        assertEquals(ReferencedByAnnotation.B,
@@ -43,10 +43,25 @@ public class Test extends ActivityInstrumentationTestCase2<MainActivity> {
                ((AnnotationWithClass) TestApplication.annotation3).value());
        // Just to verify that it doesn't crash
        ReferencedByClassInAnnotation.A.get();

        // Tests about bug https://code.google.com/p/android/issues/detail?id=78144
        // Dalvik may throw IllegalAccessError when a class is in a different dex than an enum
        // used in its annotations.
        String annotationPackage = "com.android.multidexlegacytestapp.annotation.";
        Class<?> clazz = Class.forName(annotationPackage + "Annotated");
        // Just to verify that it doesn't crash
        clazz.getAnnotations();
        clazz = Class.forName(annotationPackage + "Annotated2");
        // Just to verify that it doesn't crash
        clazz.getAnnotations();
        clazz = Class.forName(annotationPackage + "Annotated3");
        // Just to verify that it doesn't crash
        clazz.getAnnotations();
    }

    public void testInterface() {
        assertEquals(InterfaceWithEnum.class,
                TestApplication.interfaceClass);
    }

}
+26 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 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 com.android.multidexlegacytestapp.annotation;

@TestAnnotation(AnnotationValue.V1)
public class Annotated {

    public void m() {

    }

}
+25 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 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 com.android.multidexlegacytestapp.annotation;

@TestAnnotation2(AnnotationValue.V1)
public class Annotated2 {
    public void m() {

    }

}
+27 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 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 com.android.multidexlegacytestapp.annotation;

import com.android.multidexlegacytestapp.annotation.TestAnnotation3.Value;

@TestAnnotation3(Value.V1)
public class Annotated3 {
    public void m() {

    }

}
+23 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 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 com.android.multidexlegacytestapp.annotation;

public enum AnnotationValue {
  V1,
  V2;

}
Loading