@@ -3482,6 +3482,10 @@ public class X {}
34823482 TagElement tagElement = (TagElement ) docComment .tags ().get (0 );
34833483 List <TagElement > listFrag = tagElement .fragments ();
34843484 assumeEquals ("wrong number of tags" , 1 , listFrag .size ());
3485+ assumeEquals ("Invalid content" , "{@code public class Example { final int a = 1; } }" , listFrag .get (0 ).toString ());
3486+ List <TextElement > textElementFrag = listFrag .get (0 ).fragments ();
3487+ assumeEquals ("wrong number of frags" , 1 , listFrag .size ());
3488+ assumeEquals ("Invalid content" , " public class Example { final int a = 1; } " , textElementFrag .get (0 ).getText ());
34853489 }
34863490
34873491 public void testContentOfCodeParsedOutside4615_02 () throws JavaModelException {
@@ -3507,6 +3511,9 @@ public class X {}
35073511 assumeEquals ("wrong number of frags" , 1 , frags .size ());
35083512 TagElement problematicTag = (TagElement ) frags .get (0 );
35093513 assumeEquals ("invalid content" , "{@code com/{filename:\\ w+}.jsp}" , problematicTag .toString ());
3514+ List <TextElement > textElementFrag = problematicTag .fragments ();
3515+ assumeEquals ("wrong number of frags" , 1 , textElementFrag .size ());
3516+ assumeEquals ("Invalid content" , " com/{filename:\\ w+}.jsp" , textElementFrag .get (0 ).getText ());
35103517 }
35113518
35123519 public void testContentOfCodeParsedOutside4615_03 () throws JavaModelException {
@@ -3531,6 +3538,9 @@ public class X {}
35313538 List <TagElement > listFrag = tagElement .fragments ();
35323539 assumeEquals ("wrong number of tags" , 1 , listFrag .size ());
35333540 assumeEquals ("Invalid content" , "{@code public class X { void foo() { int x; } } }" , listFrag .get (0 ).toString ());
3541+ List <TextElement > textElementFrag = listFrag .get (0 ).fragments ();
3542+ assumeEquals ("wrong number of frags" , 1 , textElementFrag .size ());
3543+ assumeEquals ("Invalid content" , " public class X { void foo() { int x; } } " , textElementFrag .get (0 ).getText ());
35343544 }
35353545
35363546 public void testContentOfCodeParsedOutside4615_04 () throws JavaModelException {
@@ -3555,6 +3565,9 @@ public class X {}
35553565 List <TagElement > listFrag = tagElement .fragments ();
35563566 assumeEquals ("wrong number of tags" , 1 , listFrag .size ());
35573567 assumeEquals ("Invalid content" , "{@code public class Example { final int sasi; } class B{}}" , listFrag .get (0 ).toString ());
3568+ List <TextElement > textElementFrag = listFrag .get (0 ).fragments ();
3569+ assumeEquals ("wrong number of frags" , 1 , textElementFrag .size ());
3570+ assumeEquals ("Invalid content" , " public class Example { final int sasi; } class B{}" , textElementFrag .get (0 ).getText ());
35583571 }
35593572
35603573 //code tag in multiple lines
@@ -3582,5 +3595,99 @@ public class X {}
35823595 assumeEquals ("wrong number of frags" , 1 , frags .size ());
35833596 TagElement problematicTag = (TagElement ) frags .get (0 );
35843597 assumeEquals ("invalid content" , "{@code com/{filename:\\ w+}.jsp}" , problematicTag .toString ());
3598+ List <TextElement > textElementFrag = problematicTag .fragments ();
3599+ assumeEquals ("wrong number of frags" , 2 , textElementFrag .size ());
3600+ assumeEquals ("Invalid first textElement content" , " com/{filename:\\ w+}" , textElementFrag .get (0 ).getText ());
3601+ assumeEquals ("Invalid second textElement content" , ".jsp" , textElementFrag .get (1 ).getText ());
3602+ }
3603+
3604+ public void testMultulineCodeDropCurlyBrackets4683_01 () throws JavaModelException {
3605+ this .workingCopies = new ICompilationUnit [1 ];
3606+ this .astLevel = AST .JLS25 ;
3607+ this .workingCopies [0 ] = getWorkingCopy ("/Converter25/src/javadoc/Markdown.java" ,
3608+ """
3609+ /**
3610+ * Performs:
3611+ * <pre>{@code
3612+ * for (String s : strings) {
3613+ * if (s.equals(value)) {
3614+ * return 0;
3615+ * }
3616+ * if (s.startsWith(value)) {
3617+ * return 1;
3618+ * }
3619+ * }
3620+ * return -1;
3621+ * }</pre>
3622+ */
3623+ public class Markdown {}
3624+ """
3625+ );
3626+ CompilationUnit compilUnit = (CompilationUnit ) runConversion (this .workingCopies [0 ], true );
3627+ List unitComments = compilUnit .getCommentList ();
3628+ assertEquals ("Wrong number of comments" , 1 , unitComments .size ());
3629+ Comment comment = (Comment ) unitComments .get (0 );
3630+ assertEquals ("Comment should be javadoc" , comment .getNodeType (), ASTNode .JAVADOC );
3631+ Javadoc docComment = (Javadoc ) compilUnit .getCommentList ().get (0 );
3632+ assumeEquals ("wrong number of tags" , 1 , docComment .tags ().size ());
3633+ TagElement parentTag = (TagElement ) docComment .tags ().get (0 );
3634+ List <?> frags = parentTag .fragments ();
3635+ TagElement thirdTag = (TagElement ) frags .get (2 );
3636+ List <TextElement > textFrags = thirdTag .fragments ();
3637+ assumeEquals ("wrong number of TextElements" , 9 , textFrags .size ());
3638+ assumeEquals ("Invalid first TextElement content" ,"for (String s : strings) {" , textFrags .get (0 ).getText ());
3639+ assumeEquals ("Invalid second TextElement content" ,"if (s.equals(value)) {" , textFrags .get (1 ).getText ());
3640+ assumeEquals ("Invalid third TextElement content" ,"return 0;" , textFrags .get (2 ).getText ());
3641+ assumeEquals ("Invalid fourth TextElement content" ,"}" , textFrags .get (3 ).getText ());
3642+ assumeEquals ("Invalid fifth TextElement content" ,"if (s.startsWith(value)) {" , textFrags .get (4 ).getText ());
3643+ assumeEquals ("Invalid sixth TextElement content" ,"return 1;" , textFrags .get (5 ).getText ());
3644+ assumeEquals ("Invalid seventh TextElement content" ,"}" , textFrags .get (6 ).getText ());
3645+ assumeEquals ("Invalid eighth TextElement content" ,"}" , textFrags .get (7 ).getText ());
3646+ assumeEquals ("Invalid nineth TextElement content" ,"return -1;" , textFrags .get (8 ).getText ());
3647+ }
3648+
3649+ public void testMultulineCodeDropCurlyBrackets4683_02 () throws JavaModelException {
3650+ this .workingCopies = new ICompilationUnit [1 ];
3651+ this .astLevel = AST .JLS25 ;
3652+ this .workingCopies [0 ] = getWorkingCopy ("/Converter25/src/javadoc/Markdown.java" ,
3653+ """
3654+ /**
3655+ * Performs:
3656+ * <pre>{@literal
3657+ * for (String s : strings) {
3658+ * if (s.equals(value)) {
3659+ * return 0;
3660+ * }
3661+ * if (s.startsWith(value)) {
3662+ * return 1;
3663+ * }
3664+ * }
3665+ * return -1;
3666+ * }</pre>
3667+ */
3668+ public class Markdown {}
3669+ """
3670+ );
3671+ CompilationUnit compilUnit = (CompilationUnit ) runConversion (this .workingCopies [0 ], true );
3672+ List unitComments = compilUnit .getCommentList ();
3673+ assertEquals ("Wrong number of comments" , 1 , unitComments .size ());
3674+ Comment comment = (Comment ) unitComments .get (0 );
3675+ assertEquals ("Comment should be javadoc" , comment .getNodeType (), ASTNode .JAVADOC );
3676+ Javadoc docComment = (Javadoc ) compilUnit .getCommentList ().get (0 );
3677+ assumeEquals ("wrong number of tags" , 1 , docComment .tags ().size ());
3678+ TagElement parentTag = (TagElement ) docComment .tags ().get (0 );
3679+ List <?> frags = parentTag .fragments ();
3680+ TagElement thirdTag = (TagElement ) frags .get (2 );
3681+ List <TextElement > textFrags = thirdTag .fragments ();
3682+ assumeEquals ("wrong number of TextElements" , 9 , textFrags .size ());
3683+ assumeEquals ("Invalid first TextElement content" ,"for (String s : strings) {" , textFrags .get (0 ).getText ());
3684+ assumeEquals ("Invalid second TextElement content" ,"if (s.equals(value)) {" , textFrags .get (1 ).getText ());
3685+ assumeEquals ("Invalid third TextElement content" ,"return 0;" , textFrags .get (2 ).getText ());
3686+ assumeEquals ("Invalid fourth TextElement content" ,"}" , textFrags .get (3 ).getText ());
3687+ assumeEquals ("Invalid fifth TextElement content" ,"if (s.startsWith(value)) {" , textFrags .get (4 ).getText ());
3688+ assumeEquals ("Invalid sixth TextElement content" ,"return 1;" , textFrags .get (5 ).getText ());
3689+ assumeEquals ("Invalid seventh TextElement content" ,"}" , textFrags .get (6 ).getText ());
3690+ assumeEquals ("Invalid eighth TextElement content" ,"}" , textFrags .get (7 ).getText ());
3691+ assumeEquals ("Invalid nineth TextElement content" ,"return -1;" , textFrags .get (8 ).getText ());
35853692 }
35863693}
0 commit comments