blob: 6b34a22c7e470393ed75b35131412602d019fc2b [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.codehaus.groovy.tools.stubgenerator
/**
* Checks that default values from annotation definitions appear within stubs.
*/
final class AnnotationDefaultValuesStubTest extends StringSourcesStubTestCase {
Map<String, String> provideSources() {
[
'Tx.groovy': '''
import java.lang.annotation.*
@Retention(RetentionPolicy.RUNTIME)
@Target([ElementType.TYPE, ElementType.METHOD])
@interface Tx {
String value() default 'def'
int i() default 3
boolean bool() default false
float f() default 3.0f
double d() default 3.0d
long l() default 3l
byte me() default 3
short s() default 3
char c1() default 65
char c2() default 'A' as char
char c3() default (char)'A'
Class clazz() default String
Color color() default Color.RED
String[] values() default ['def']
int[] is() default [3]
long[] ls() default []
boolean[] bs() default [true]
Class[] clazzes() default [String, Integer.class]
Color[] colors() default [Color.GREEN, Color.BLUE]
}
''',
'PersonServiceJava.java': '''
@Tx
public class PersonServiceJava { }
''',
'Color.java': '''
public enum Color {
RED, BLUE, GREEN;
}
'''
]
}
void verifyStubs() {
def stubSource = stubJavaSourceFor('Tx')
assert stubSource.contains('java.lang.String value() default "def";')
assert stubSource.contains('int i() default 3;')
assert stubSource.contains('boolean bool() default false;')
assert stubSource.contains('float f() default 3.0f;')
assert stubSource.contains('double d() default 3.0d;')
assert stubSource.contains('long l() default 3L;')
assert stubSource.contains('byte me() default (byte)3;')
assert stubSource.contains('short s() default (short)3;')
assert stubSource.contains("char c1() default 'A';")
assert stubSource.contains("char c2() default 'A';")
assert stubSource.contains("char c3() default 'A';")
assert stubSource.contains('java.lang.Class clazz() default String.class;')
assert stubSource.contains('Color color() default Color.RED;')
assert stubSource.contains('String[] values() default { "def" };')
assert stubSource.contains('int[] is() default { 3 };')
assert stubSource.contains('long[] ls() default { };')
assert stubSource.contains('boolean[] bs() default { true };')
assert stubSource.contains('Class[] clazzes() default { String.class, Integer.class };')
assert stubSource.contains('Color[] colors() default { Color.GREEN, Color.BLUE };')
}
}