TestSerializedForm.java revision 3300:d52219fa3026
139220Sgibbs/* 265942Sgibbs * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. 339220Sgibbs * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 455581Sgibbs * 539220Sgibbs * This code is free software; you can redistribute it and/or modify it 639220Sgibbs * under the terms of the GNU General Public License version 2 only, as 739220Sgibbs * published by the Free Software Foundation. 839220Sgibbs * 939220Sgibbs * This code is distributed in the hope that it will be useful, but WITHOUT 1039220Sgibbs * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1139220Sgibbs * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1254211Sgibbs * version 2 for more details (a copy is included in the LICENSE file that 1339220Sgibbs * accompanied this code). 1439220Sgibbs * 1539220Sgibbs * You should have received a copy of the GNU General Public License version 1654211Sgibbs * 2 along with this work; if not, write to the Free Software Foundation, 1763457Sgibbs * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1839220Sgibbs * 1939220Sgibbs * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2039220Sgibbs * or visit www.oracle.com if you need additional information or have any 2139220Sgibbs * questions. 2239220Sgibbs */ 2339220Sgibbs 2439220Sgibbs/* 2539220Sgibbs * @test 2639220Sgibbs * @bug 4341304 4485668 4966728 8032066 8071982 2739220Sgibbs * @summary Test that methods readResolve and writeReplace show 2839220Sgibbs * up in serialized-form.html the same way that readObject and writeObject do. 2939220Sgibbs * If the doclet includes readResolve and writeReplace in the serialized-form 3039220Sgibbs * documentation that same way the it includes readObject and writeObject, the 3170204Sgibbs * test passes. This also tests that throws tag information is correctly shown 3265942Sgibbs * in the serialized form page. 3350477Speter * Make sure see tags work in serialized form. 3439220Sgibbs * @author jamieh 3539220Sgibbs * @library ../lib/ 3639220Sgibbs * @modules jdk.javadoc/jdk.javadoc.internal.tool 3739220Sgibbs * @build JavadocTester 3839220Sgibbs * @build TestSerializedForm 3965942Sgibbs * @run main TestSerializedForm 4063457Sgibbs */ 4139220Sgibbs 4265942Sgibbsimport java.io.*; 4365942Sgibbs 4465942Sgibbspublic class TestSerializedForm extends JavadocTester { 4539220Sgibbs public static void main(String... args) throws Exception { 4665942Sgibbs TestSerializedForm tester = new TestSerializedForm(); 4745965Sgibbs tester.runTests(); 4845965Sgibbs// tester.run(ARGS, TEST, NEGATED_TEST); 4945965Sgibbs// tester.run(ARGS_PRIVATE, TEST_PRIVATE, NEGATED_TEST_PRIVATE); 5045965Sgibbs// tester.printSummary(); 5145965Sgibbs } 5245965Sgibbs 5345965Sgibbs // @ignore 8146022 5445965Sgibbs // @Test 5565942Sgibbs void testDefault() { 5665942Sgibbs javadoc("-d", "out-default", "-serialwarn", "-Xdoclint:none", 5765942Sgibbs "-sourcepath", testSrc, 5865942Sgibbs testSrc("SerializedForm.java"), testSrc("ExternalizedForm.java"), "pkg1"); 5965942Sgibbs checkExit(Exit.OK); 6065942Sgibbs 6165942Sgibbs checkOutput("serialized-form.html", true, 6265942Sgibbs "protected java.lang.Object readResolve()", 6365942Sgibbs "protected java.lang.Object writeReplace()", 6465942Sgibbs "protected java.lang.Object readObjectNoData()", 6565942Sgibbs "<h3>Serialization Overview</h3>\n<ul class=\"blockList\">\n" 6665942Sgibbs + "<li class=\"blockListLast\">\n<div class=\"block\">" 6765942Sgibbs + "<span class=\"deprecatedLabel\">Deprecated.</span> </div>\n" 6865942Sgibbs + "<dl>\n<dt><span class=\"seeLabel\">See Also:</span></dt>\n" 6965942Sgibbs + "<dd><code>TestSerializedForm</code></dd>\n</dl>", 7065942Sgibbs "<h3>Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass " 7165942Sgibbs + "extends java.lang.Object implements Serializable</h3>", 7265942Sgibbs "<h3>Class pkg1.PrivateIncludeInnerClass.PriInnerClass extends " 7365942Sgibbs + "java.lang.Object implements Serializable</h3>", 7465942Sgibbs "<h3>Class pkg1.ProtectedInnerClass.ProInnerClass extends " 7565942Sgibbs + "java.lang.Object implements Serializable</h3>"); 7665942Sgibbs 7765942Sgibbs checkOutput("serialized-form.html", false, 7865942Sgibbs "<h3>Class <a href=\"pkg1/NestedInnerClass.InnerClass.ProNestedInnerClass.html\" " 7965942Sgibbs + "title=\"class in pkg1\">pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass</a> " 8065942Sgibbs + "extends java.lang.Object implements Serializable</h3>", 8165942Sgibbs "<h3>Class <a href=\"pkg1/PrivateInnerClass.PriInnerClass.html\" title=\"class in pkg1\">" 8265942Sgibbs + "pkg1.PrivateInnerClass.PriInnerClass</a> extends java.lang.Object implements Serializable</h3>", 8365942Sgibbs "<h3>Class <a href=\"pkg1/ProtectedInnerClass.ProInnerClass.html\" title=\"class in pkg1\">" 8465942Sgibbs + "pkg1.ProtectedInnerClass.ProInnerClass</a> extends java.lang.Object implements Serializable</h3>", 8565942Sgibbs "<h3>Class pkg1.PublicExcludeInnerClass.PubInnerClass extends java.lang.Object implements " 8665942Sgibbs + "Serializable</h3>"); 8765942Sgibbs } 8865942Sgibbs 8965942Sgibbs @Test 9065942Sgibbs void testPrivate() { 9165942Sgibbs javadoc("-private", 9265942Sgibbs "-d", "out-private", 9365942Sgibbs "-sourcepath", testSrc, 9465942Sgibbs testSrc("SerializedForm.java"), testSrc("ExternalizedForm.java"), "pkg1"); 9565942Sgibbs checkExit(Exit.OK); 9665942Sgibbs 9765942Sgibbs checkOutput("serialized-form.html", true, 9868579Sgibbs "<h3>Class <a href=\"pkg1/NestedInnerClass.InnerClass.ProNestedInnerClass.html\" " 9968579Sgibbs + "title=\"class in pkg1\">pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass</a> " 10068579Sgibbs + "extends java.lang.Object implements Serializable</h3>", 10168579Sgibbs "<h3>Class <a href=\"pkg1/PrivateIncludeInnerClass.PriInnerClass.html\" title=\"class in pkg1\">" 10268579Sgibbs + "pkg1.PrivateIncludeInnerClass.PriInnerClass</a> extends java.lang.Object implements Serializable</h3>", 10365942Sgibbs "<h3>Class <a href=\"pkg1/ProtectedInnerClass.ProInnerClass.html\" title=\"class in pkg1\">" 10445965Sgibbs + "pkg1.ProtectedInnerClass.ProInnerClass</a> extends java.lang.Object implements Serializable</h3>"); 10563457Sgibbs 10663457Sgibbs checkOutput("serialized-form.html", false, 10763457Sgibbs "<h3>Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass " 10863457Sgibbs + "extends java.lang.Object implements Serializable</h3>", 10963457Sgibbs "<h3>Class pkg1.PrivateInnerClass.PriInnerClass extends " 11063457Sgibbs + "java.lang.Object implements Serializable</h3>", 11170204Sgibbs "<h3>Class pkg1.ProtectedInnerClass.ProInnerClass extends " 11270204Sgibbs + "java.lang.Object implements Serializable</h3>", 11370204Sgibbs "<h3>Class <a href=\"pkg1/PublicExcludeInnerClass.PubInnerClass.html\" " 11463457Sgibbs + "title=\"class in pkg1\">pkg1.PublicExcludeInnerClass.PubInnerClass</a> " 11570204Sgibbs + "extends java.lang.Object implements Serializable</h3>"); 11663457Sgibbs } 11763457Sgibbs} 11845965Sgibbs