NewChecker takes CheckerOptions instead of positional arguments (closes #78)
check / check (push) Failing after 1s
check / check (push) Failing after 1s
NewChecker now takes *CheckerOptions (ManifestPath, BasePath, Fs), named like ScannerOptions. A nil Fs still means the OS filesystem, as before and as in ScannerOptions; nil options or an empty path return an error naming the missing path. Audit of the other exported constructors in mfer: NewManifestFromFile took a filesystem and a path positionally; it now takes *ManifestFromFileOptions (Path, Fs) with the same nil and empty rules. NewBuilder and NewScanner take no arguments, NewScannerWithOptions already takes options, and NewManifestFromReader takes one reader, which the style guide exempts; these are unchanged. Model: opus-5-5
This commit was merged in pull request #137.
This commit is contained in:
@@ -5,10 +5,12 @@ import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/spf13/afero"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
@@ -397,6 +399,29 @@ func TestNewManifestFromReaderTruncated(t *testing.T) {
|
||||
assert.Error(t, err)
|
||||
}
|
||||
|
||||
func TestNewManifestFromFileRequiresPath(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
_, err := NewManifestFromFile(nil)
|
||||
require.ErrorIs(t, err, errManifestPathEmpty)
|
||||
|
||||
_, err = NewManifestFromFile(&ManifestFromFileOptions{Fs: afero.NewMemMapFs()})
|
||||
require.ErrorIs(t, err, errManifestPathEmpty)
|
||||
}
|
||||
|
||||
func TestNewManifestFromFileNilFsUsesOsFs(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
path := filepath.Join(t.TempDir(), "index.mf")
|
||||
createTestManifest(t, afero.NewOsFs(), path, map[string][]byte{
|
||||
testFileName: []byte("hello"),
|
||||
})
|
||||
|
||||
m, err := NewManifestFromFile(&ManifestFromFileOptions{Path: path})
|
||||
require.NoError(t, err)
|
||||
assert.Len(t, m.Files(), 1)
|
||||
}
|
||||
|
||||
func TestManifestString(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user