langtools/test/tools/javac/unit/T6198196.java
changeset 27319 030080f03e4f
parent 5520 86e4b9a9da40
child 30730 d3ce7619db2c
equal deleted inserted replaced
27318:4660a5da7d90 27319:030080f03e4f
     1 /*
     1 /*
     2  * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    26  * @bug     6198196 6278523
    26  * @bug     6198196 6278523
    27  * @summary package-info.java: Weird compiler error
    27  * @summary package-info.java: Weird compiler error
    28  * @author  Peter von der Ah\u00e9
    28  * @author  Peter von der Ah\u00e9
    29  */
    29  */
    30 
    30 
       
    31 import java.io.IOException;
    31 import java.util.Arrays;
    32 import java.util.Arrays;
    32 import javax.tools.*;
    33 import javax.tools.*;
    33 
    34 
    34 public class T6198196 {
    35 public class T6198196 {
    35     static String pkginf = "package-info";
    36     static String pkginf = "package-info";
    40         if (result != fo.isNameCompatible(filename, JavaFileObject.Kind.SOURCE))
    41         if (result != fo.isNameCompatible(filename, JavaFileObject.Kind.SOURCE))
    41             throw new AssertionError("endsWith(" + pathname + ", "
    42             throw new AssertionError("endsWith(" + pathname + ", "
    42                                      + filename + ") != " + result);
    43                                      + filename + ") != " + result);
    43         System.out.format("OK: endsWith(%s, %s) = %s%n", pathname, filename, result);
    44         System.out.format("OK: endsWith(%s, %s) = %s%n", pathname, filename, result);
    44     }
    45     }
    45     public static void main(String[] args) {
    46     public static void main(String[] args) throws IOException {
    46         fm = ToolProvider.getSystemJavaCompiler().getStandardFileManager(null, null, null);
    47         fm = ToolProvider.getSystemJavaCompiler().getStandardFileManager(null, null, null);
    47         boolean windows = System.getProperty("os.name").startsWith("Windows");
    48         try {
    48         test("/x/y/z/package-info.java", pkginf, true);
    49             boolean windows = System.getProperty("os.name").startsWith("Windows");
    49         if (windows) {
    50             test("/x/y/z/package-info.java", pkginf, true);
    50             test("\\x\\y\\z\\package-info.java", pkginf, true);
    51             if (windows) {
    51             test("..\\x\\y\\z\\package-info.java", pkginf, true);
    52                 test("\\x\\y\\z\\package-info.java", pkginf, true);
    52         } else {
    53                 test("..\\x\\y\\z\\package-info.java", pkginf, true);
    53             test("\\x\\y\\z\\package-info.java", pkginf, false);
    54             } else {
    54             test("..\\x\\y\\z\\package-info.java", pkginf, false);
    55                 test("\\x\\y\\z\\package-info.java", pkginf, false);
       
    56                 test("..\\x\\y\\z\\package-info.java", pkginf, false);
       
    57             }
       
    58             test("Package-info.java", pkginf, false);
       
    59             test("../x/y/z/package-info.java", pkginf, true);
       
    60             test("/x/y/z/package-info.java", pkginf, true);
       
    61             test("x/y/z/package-info.java", pkginf, true);
       
    62             test("package-info.java", pkginf, true);
       
    63         } finally {
       
    64             fm.close();
    55         }
    65         }
    56         test("Package-info.java", pkginf, false);
       
    57         test("../x/y/z/package-info.java", pkginf, true);
       
    58         test("/x/y/z/package-info.java", pkginf, true);
       
    59         test("x/y/z/package-info.java", pkginf, true);
       
    60         test("package-info.java", pkginf, true);
       
    61     }
    66     }
    62 }
    67 }