Check behavior of overriden defender method. jdk8
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sat, 13 Sep 2014 18:21:25 +0200
branchjdk8
changeset 1687baa80d712c77
parent 1686 63ca617c8101
child 1688 e709c530c227
Check behavior of overriden defender method.
rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/Defaults.java
rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/DefaultsTest.java
     1.1 --- a/rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/Defaults.java	Sat Sep 13 18:14:55 2014 +0200
     1.2 +++ b/rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/Defaults.java	Sat Sep 13 18:21:25 2014 +0200
     1.3 @@ -26,7 +26,7 @@
     1.4          return 42;
     1.5      }
     1.6      
     1.7 -    public static Defaults create(boolean overriden) {
     1.8 +    public static Defaults create(int type) {
     1.9          class X implements Defaults {
    1.10          }
    1.11          class Y implements Defaults {
    1.12 @@ -35,14 +35,31 @@
    1.13                  return 7;
    1.14              }
    1.15          }
    1.16 -        return overriden ? new Y() : new X();
    1.17 +        class Z implements DoubleDefaults {
    1.18 +        }
    1.19 +        switch (type) {
    1.20 +            case 0: return new X();
    1.21 +            case 1: return new Y();
    1.22 +            default: return new Z();
    1.23 +        }
    1.24      }
    1.25      
    1.26      public static int defaultValue() {
    1.27 -        return create(false).value();
    1.28 +        return create(0).value();
    1.29      }
    1.30      
    1.31      public static int myValue() {
    1.32 -        return create(true).value();
    1.33 +        return create(1).value();
    1.34 +    }
    1.35 +
    1.36 +    public static int sndValue() {
    1.37 +        return create(2).value();
    1.38 +    }
    1.39 +    
    1.40 +    public interface DoubleDefaults extends Defaults {
    1.41 +        @Override
    1.42 +        public default int value() {
    1.43 +            return 84;
    1.44 +        }
    1.45      }
    1.46  }
     2.1 --- a/rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/DefaultsTest.java	Sat Sep 13 18:14:55 2014 +0200
     2.2 +++ b/rt/vm8/src/test/java/org/apidesign/bck2brwsr/vm8/DefaultsTest.java	Sat Sep 13 18:21:25 2014 +0200
     2.3 @@ -19,10 +19,7 @@
     2.4  
     2.5  import org.apidesign.bck2brwsr.vmtest.Compare;
     2.6  import org.apidesign.bck2brwsr.vmtest.VMTest;
     2.7 -import org.testng.annotations.AfterClass;
     2.8 -import org.testng.annotations.BeforeClass;
     2.9  import org.testng.annotations.Factory;
    2.10 -import org.testng.annotations.Test;
    2.11  
    2.12  public class DefaultsTest {
    2.13      @Compare public int callStatic() throws Exception {
    2.14 @@ -32,6 +29,10 @@
    2.15      @Compare public int overridenValue() throws Exception {
    2.16          return Defaults.myValue();
    2.17      }
    2.18 +    
    2.19 +    @Compare public int doubleDefault() throws Exception {
    2.20 +        return Defaults.sndValue();
    2.21 +    }
    2.22  
    2.23      @Factory public static Object[] create() {
    2.24          return VMTest.create(DefaultsTest.class);