TestOverridenPrivateMethodsWithPackageFlag.java revision 2100:933ba3f81a87
1/* 2 * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 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 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24/* 25 * @test 26 * @bug 4634891 8025633 27 * @summary Determine if overriden methods are properly documented when 28 * -protected (default) visibility flag is used. 29 * @author jamieh 30 * @library ../lib/ 31 * @build JavadocTester 32 * @build TestOverridenPrivateMethodsWithPackageFlag 33 * @run main TestOverridenPrivateMethodsWithPackageFlag 34 */ 35 36public class TestOverridenPrivateMethodsWithPackageFlag extends JavadocTester { 37 38 private static final String BUG_ID = "4634891"; 39 40 private static final String[][] TEST = { 41 //The public method should be overriden 42 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 43 "<dt><span class=\"strong\">Overrides:</span></dt>" + NL + 44 "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod--\">" + 45 "publicMethod</a></code> in class <code>" + 46 "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>"}, 47 48 //The public method in different package should be overriden 49 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 50 "<dt><span class=\"strong\">Overrides:</span></dt>" + NL + 51 "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod--\">" + 52 "publicMethod</a></code> in class <code>" + 53 "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>"}, 54 55 //The package private method should be overriden since the base and sub class are in the same 56 //package. 57 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 58 "<dt><span class=\"strong\">Overrides:</span></dt>" + NL + 59 "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod--\">" + 60 "packagePrivateMethod</a></code> in class <code>" + 61 "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>"} 62 }; 63 64 private static final String[][] NEGATED_TEST = { 65 66 //The private method in should not be overriden 67 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 68 "<dt><span class=\"strong\">Overrides:</span></dt>" + NL + 69 "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod()\">"}, 70 71 //The private method in different package should not be overriden 72 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 73 "<dt><span class=\"strong\">Overrides:</span></dt>" + NL + 74 "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod()\">"}, 75 76 //The package private method should not be overriden since the base and sub class are in 77 //different packages. 78 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 79 "<dt><span class=\"strong\">Overrides:</span></dt>" + NL + 80 "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod()\">"}, 81 }; 82 83 private static final String[] ARGS = 84 new String[] { 85 "-d", BUG_ID, "-sourcepath", SRC_DIR, "-package", "pkg1", "pkg2"}; 86 87 /** 88 * The entry point of the test. 89 * @param args the array of command line arguments. 90 */ 91 public static void main(String[] args) { 92 TestOverridenPrivateMethodsWithPackageFlag tester = new TestOverridenPrivateMethodsWithPackageFlag(); 93 run(tester, ARGS, TEST, NEGATED_TEST); 94 tester.printSummary(); 95 } 96 97 /** 98 * {@inheritDoc} 99 */ 100 public String getBugId() { 101 return BUG_ID; 102 } 103 104 /** 105 * {@inheritDoc} 106 */ 107 public String getBugName() { 108 return getClass().getName(); 109 } 110} 111