/* * Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ /* * @test * @bug 6786682 4649116 8182765 * @summary This test verifies the use of lang attribute by . * @library ../../lib * @modules jdk.javadoc/jdk.javadoc.internal.tool * @build javadoc.tester.* * @run main TestHtmlTag */ import java.util.Locale; import javadoc.tester.JavadocTester; public class TestHtmlTag extends JavadocTester { private static final String defaultLanguage = Locale.getDefault().getLanguage(); public static void main(String... args) throws Exception { TestHtmlTag tester = new TestHtmlTag(); tester.runTests(); } @Test public void test_default() { javadoc("-locale", defaultLanguage, "-d", "out-default", "-sourcepath", testSrc, "pkg1"); checkExit(Exit.OK); checkOutput("pkg1/C1.html", true, ""); checkOutput("pkg1/package-summary.html", true, ""); checkOutput("pkg1/C1.html", false, ""); } @Test public void test_ja() { // TODO: why does this test need/use pkg2; why can't it use pkg1 // like the other two tests, so that we can share the check methods? javadoc("-locale", "ja", "-d", "out-ja", "-sourcepath", testSrc, "pkg2"); checkExit(Exit.OK); checkOutput("pkg2/C2.html", true, ""); checkOutput("pkg2/package-summary.html", true, ""); checkOutput("pkg2/C2.html", false, ""); } @Test public void test_en_US() { javadoc("-locale", "en_US", "-d", "out-en_US", "-sourcepath", testSrc, "pkg1"); checkExit(Exit.OK); checkOutput("pkg1/C1.html", true, ""); checkOutput("pkg1/package-summary.html", true, ""); checkOutput("pkg1/C1.html", false, ""); } @Test public void test_other() { javadoc("-locale", "en_US", "-d", "out-other", "-sourcepath", testSrc, "pkg3"); checkExit(Exit.OK); checkOutput("pkg3/package-summary.html", true, "
\n" + "
\n" + "

This is the first line. Note the newlines before the <p> is relevant.

\n" + "
"); checkOutput("pkg3/A.DatatypeFactory.html", true, "

\n" + " Factory that creates new javax.xml.datatype\n" + " Objects that map XML to/from Java Objects.

\n" + "\n" + "

\n" + " A new instance of the DatatypeFactory is created through the\n" + " newInstance() method that uses the following implementation\n" + " resolution mechanisms to determine an implementation:

\n" + "
    \n" + "
  1. \n" + " If the system property specified by DATATYPEFACTORY_PROPERTY,\n" + " \"javax.xml.datatype.DatatypeFactory\", exists, a class with\n" + " the name of the property value is instantiated. Any Exception thrown\n" + " during the instantiation process is wrapped as a\n" + " IllegalStateException.\n" + "
  2. \n" + "
  3. \n" + " If the file ${JAVA_HOME}/lib/jaxp.properties exists, it is loaded in a\n" + " Properties Object. The\n" + " Properties Object is then queried for the\n" + " property as documented in the prior step and processed as documented in\n" + " the prior step.\n" + "
  4. \n" + "
  5. \n" + " Uses the service-provider loading facilities, defined by the\n" + " ServiceLoader class, to attempt to locate and load an\n" + " implementation of the service using the default loading mechanism:\n" + " the service-provider loading facility will use the current thread's context class loader\n" + " to attempt to load the service. If the context class loader is null, the system class loader will be used.\n" + "
    \n" + " In case of service configuration error a\n" + " DatatypeConfigurationException will be thrown.\n" + "
  6. \n" + "
  7. \n" + " The final mechanism is to attempt to instantiate the Class\n" + " specified by DATATYPEFACTORY_IMPLEMENTATION_CLASS. Any Exception\n" + " thrown during the instantiation process is wrapped as a\n" + " IllegalStateException.\n" + "
  8. \n" + "
"); checkOutput("pkg3/A.ActivationDesc.html", true, "
public class A.ActivationDesc\n"
                + "extends java.lang.Object\n"
                + "implements java.io.Serializable
\n" + "
An activation descriptor contains the information necessary to activate\n" + " an object: \n" + "\n" + "

\n" + " A descriptor registered with the activation system can be used to\n" + " recreate/activate the object specified by the descriptor. The\n" + " MarshalledObject in the object's descriptor is passed as the\n" + " second argument to the remote object's constructor for object to use\n" + " during reinitialization/activation.

"); checkOutput("pkg3/A.ActivationGroupID.html", true, "
public class A.ActivationGroupID\n"
                + "extends java.lang.Object\n"
                + "implements java.io.Serializable
\n" + "
The identifier for a registered activation group serves several purposes:\n" + "

\n" + "\n" + " The ActivationGroupID is returned from the call to\n" + " ActivationSystem.registerGroup and is used to identify the\n" + " group within the activation system. This group id is passed as one of the\n" + " arguments to the activation group's special constructor when an\n" + " activation group is created/recreated.

\n" + "
"); } }