Skip to content

Commit

Permalink
Merge pull request #1518 from Klasens/fix-file-id-modifier
Browse files Browse the repository at this point in the history
fix: preserve FileIDModifier when flattening files
  • Loading branch information
adamdecaf authored Dec 4, 2024
2 parents 8993f51 + eb0426a commit 9a19f05
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
1 change: 1 addition & 0 deletions file.go
Original file line number Diff line number Diff line change
Expand Up @@ -1271,6 +1271,7 @@ func (f *File) addFileHeaderData(file *File) *File {
file.Header.ImmediateDestination = f.Header.ImmediateDestination
file.Header.FileCreationDate = time.Now().Format("060102")
file.Header.FileCreationTime = time.Now().AddDate(0, 0, 1).Format("1504") // HHmm
file.Header.FileIDModifier = f.Header.FileIDModifier
file.Header.ImmediateDestinationName = f.Header.ImmediateDestinationName
file.Header.ImmediateOriginName = f.Header.ImmediateOriginName
return file
Expand Down
22 changes: 22 additions & 0 deletions file_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2219,3 +2219,25 @@ func TestFileFromJSON_ValidateOpts(t *testing.T) {
require.NotNil(t, validateOpts)
require.True(t, validateOpts.PreserveSpaces)
}

func TestFile_FlattenBatches_PreservesFileIDModifier(t *testing.T) {
f := NewFile()
f.SetHeader(mockFileHeader())
f.Header.FileIDModifier = "B"
batch1 := mockBatchPPD(t)
f.AddBatch(batch1)

err := f.Create()
if err != nil {
t.Fatal(err)
}

flattened, err := f.FlattenBatches()
if err != nil {
t.Fatal(err)
}

if flattened.Header.FileIDModifier != "B" {
t.Errorf("FileIDModifier not preserved: want 'B' got %s", flattened.Header.FileIDModifier)
}
}

0 comments on commit 9a19f05

Please sign in to comment.