1 /////////////////////////////////////////////////////////////////////////////////////////////// 2 // checkstyle: Checks Java source code and other text files for adherence to a set of rules. 3 // Copyright (C) 2001-2025 the original author or authors. 4 // 5 // This library is free software; you can redistribute it and/or 6 // modify it under the terms of the GNU Lesser General Public 7 // License as published by the Free Software Foundation; either 8 // version 2.1 of the License, or (at your option) any later version. 9 // 10 // This library is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 // Lesser General Public License for more details. 14 // 15 // You should have received a copy of the GNU Lesser General Public 16 // License along with this library; if not, write to the Free Software 17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 /////////////////////////////////////////////////////////////////////////////////////////////// 19 20 package com.puppycrawl.tools.checkstyle.grammar.java20; 21 22 import org.junit.jupiter.api.Test; 23 24 import com.puppycrawl.tools.checkstyle.AbstractTreeTestSupport; 25 26 public class Java20AstRegressionTest extends AbstractTreeTestSupport { 27 28 @Override 29 protected String getPackageLocation() { 30 return "com/puppycrawl/tools/checkstyle/grammar/java20"; 31 } 32 33 @Test 34 public void testRecordDecompositionEnhancedForLoop() throws Exception { 35 verifyAst( 36 getNonCompilablePath( 37 "ExpectedJava20RecordDecompositionEnhancedForLoop.txt"), 38 getNonCompilablePath( 39 "InputJava20RecordDecompositionEnhancedForLoop.java")); 40 } 41 42 @Test 43 public void testRecordDecompositionEnhancedForLoopTricky() throws Exception { 44 verifyAst( 45 getNonCompilablePath( 46 "ExpectedJava20RecordDecompositionEnhancedForLoopTricky.txt"), 47 getNonCompilablePath( 48 "InputJava20RecordDecompositionEnhancedForLoopTricky.java")); 49 } 50 }