agamal026 opened a new pull request, #640:
URL: https://github.com/apache/commons-csv/pull/640

   Related to [CSV-312](https://issues.apache.org/jira/browse/CSV-312).
   
   Add `JiraCsv312Test` to cover LF and CRLF inside quoted header names, with 
CRLF between records. [RFC 4180, section 
2](https://www.rfc-editor.org/rfc/rfc4180#section-2) gives header names the 
same field grammar as data fields, including quoted fields containing line 
breaks. The fixture reduces the report's sample to two columns and two data 
rows.
   
   The test checks both header configurations: `CSVFormat.RFC4180` retains the 
header as the first record, while 
`CSVFormat.RFC4180.builder().setHeader().get()` consumes it and maps the 
complete names, including their line breaks. Assertions check the header 
contents and both data rows. Existing tests cover multiline values and simple 
automatic headers separately; this adds coverage for their combination.
   
   This one-file change records supported behavior. A separate check using the 
report's full sample structure also passed against Commons CSV 1.10.0; the 
reported exception was not reproduced.
   
   ### Validation
   
   - Separate report-shaped compatibility check against Commons CSV 1.10.0: all 
four combinations of header configuration and embedded line break passed.
   - Focused `JiraCsv312Test`: 4 tests, no failures, errors, or skips.
   - Project default Maven goals on baseline 
`b217f58fac4bdf26507cde121ffb9cd50fd335e7` plus this test: BUILD SUCCESS; 989 
tests, no failures or errors, 11 pre-existing skips. RAT, japicmp, SpotBugs, 
PMD/CPD, Javadoc, and Checkstyle completed; Checkstyle reported zero violations.
   - Linux, OpenJDK 17.0.20, Maven 3.9.11. The runtime lacks a native `javadoc` 
executable, so `-DjavadocExecutable` selected a launcher for its installed JDK 
Javadoc module. Maven used the environment’s existing network proxy. The build 
emitted nonfatal dependency-tool warnings. No build checks were skipped.
   
   ### Public proof and reproduction
   
   The [submitted test 
source](https://github.com/agamal026/commons-csv/blob/f609cb0eab7614c7eac7214aa608381dd4e8c120/src/test/java/org/apache/commons/csv/issues/JiraCsv312Test.java)
 matches the file used for the recorded build exactly (SHA-256 
`3886666340f8965035535ff7fe2067d7d1e82c747b7474951baf7087213e7e05`). The 
[execution 
evidence](https://github.com/agamal026/commons-csv/blob/5b7686ca63bcbeb1177d7e4d2bcb6726063fb83d/contribution-review/csv-312/README.md)
 includes the full final build log with disclosed local-path redactions, 
focused test receipt, machine-readable suite totals, and labeled excerpts from 
earlier setup/style failures.
   
   The build finished at 05:14:16 UTC on 22 October 2026 on the stated upstream 
baseline plus the test. Commit `f609cb0eab7614c7eac7214aa608381dd4e8c120` was 
created afterward with the same parent and exact test bytes. These are retained 
local execution results; they do not claim a new run or upstream CI execution.
   
   On a normal full JDK installation, reviewers can run the focused cases and 
then the project's default build from that source revision:
   
   ```sh
   mvn -Dtest=JiraCsv312Test test
   mvn
   ```
   
   ### AI disclosure
   
   This test and PR description were generated with ChatGPT (OpenAI, GPT-6 
Astra Pro). AI agents performed issue and specification research, ran 
validation commands, and reviewed the test.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to