JCommentTest.java
/*
* Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0, which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package com.sun.codemodel.tests;
import com.sun.codemodel.ClassType;
import com.sun.codemodel.JCodeModel;
import com.sun.codemodel.JDefinedClass;
import com.sun.codemodel.JDocComment;
import com.sun.codemodel.writer.OutputStreamCodeWriter;
import java.io.ByteArrayOutputStream;
import java.nio.charset.StandardCharsets;
import junit.framework.TestCase;
/**
*
* @author lukas
*/
public class JCommentTest extends TestCase {
public void testJavadoc() throws Throwable {
JCodeModel model = new JCodeModel();
String className = "gh1471.JavadocTest";
JDefinedClass cls = model._class(className, ClassType.CLASS);
JDocComment comment = cls.javadoc();
comment.add("<b>a bold text</b><br>\n");
comment.add("<p>a text within paraphrases</p>");
ByteArrayOutputStream os = new ByteArrayOutputStream();
OutputStreamCodeWriter fileCodeWriter = new OutputStreamCodeWriter(os, "UTF-8");
model.build(fileCodeWriter);
String generatedClass = os.toString(StandardCharsets.UTF_8);
System.out.println(generatedClass);
assertTrue(generatedClass.contains("<b>"));
assertTrue(generatedClass.contains("</p>"));
assertFalse(generatedClass.contains("&"));
}
}