mirror of
https://github.com/mikefarah/yq.git
synced 2026-07-02 10:31:40 +00:00
fix: reset INI decoder state on init
This commit is contained in:
parent
8f3291d316
commit
deb665c65e
@ -23,6 +23,7 @@ func NewINIDecoder() Decoder {
|
||||
func (dec *iniDecoder) Init(reader io.Reader) error {
|
||||
// Store the reader for use in Decode
|
||||
dec.reader = reader
|
||||
dec.finished = false
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ package yqlib
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/mikefarah/yq/v4/test"
|
||||
@ -175,6 +176,21 @@ func documentDecodeErrorINIScenario(w *bufio.Writer, s formatScenario) {
|
||||
writeOrPanic(w, fmt.Sprintf("```\n%v\n```\n\n", s.expectedError))
|
||||
}
|
||||
|
||||
func TestINIDecoderInitResetsFinished(t *testing.T) {
|
||||
decoder := NewINIDecoder()
|
||||
firstDocuments, err := readDocuments(strings.NewReader("[first]\nkey = value\n"), "first.ini", 0, decoder)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
test.AssertResult(t, 1, firstDocuments.Len())
|
||||
|
||||
secondDocuments, err := readDocuments(strings.NewReader("[second]\nkey = value\n"), "second.ini", 1, decoder)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
test.AssertResult(t, 1, secondDocuments.Len())
|
||||
}
|
||||
|
||||
func TestINIScenarios(t *testing.T) {
|
||||
for _, tt := range iniScenarios {
|
||||
testINIScenario(t, tt)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user