diff options
| author | 2023-04-28 01:36:44 +0800 | |
|---|---|---|
| committer | 2023-04-28 01:36:44 +0800 | |
| commit | dd84b9d64fb98746a230cd24233ff50a562c39c9 (patch) | |
| tree | b583261ef00b3afe72ec4d6dacb31e57779a6faf /cli/internal/lockfile/yarn_lockfile_test.go | |
| parent | 0b46fcd72ac34382387b2bcf9095233efbcc52f4 (diff) | |
| download | HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.tar.gz HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.zip | |
Diffstat (limited to 'cli/internal/lockfile/yarn_lockfile_test.go')
| -rw-r--r-- | cli/internal/lockfile/yarn_lockfile_test.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/cli/internal/lockfile/yarn_lockfile_test.go b/cli/internal/lockfile/yarn_lockfile_test.go new file mode 100644 index 0000000..ef4fcb0 --- /dev/null +++ b/cli/internal/lockfile/yarn_lockfile_test.go @@ -0,0 +1,51 @@ +package lockfile + +import ( + "bytes" + "testing" + + "gotest.tools/v3/assert" +) + +func TestRoundtrip(t *testing.T) { + content, err := getFixture(t, "yarn.lock") + if err != nil { + t.Error(err) + } + + lockfile, err := DecodeYarnLockfile(content) + if err != nil { + t.Error(err) + } + + var b bytes.Buffer + if err := lockfile.Encode(&b); err != nil { + t.Error(err) + } + + assert.DeepEqual(t, string(content), b.String()) +} + +func TestKeySplitting(t *testing.T) { + content, err := getFixture(t, "yarn.lock") + if err != nil { + t.Error(err) + } + + lockfile, err := DecodeYarnLockfile(content) + if err != nil { + t.Error(err) + } + + // @babel/types has multiple entries, these should all appear in the lockfile struct + keys := []string{ + "@babel/types@^7.18.10", + "@babel/types@^7.18.6", + "@babel/types@^7.19.0", + } + + for _, key := range keys { + _, ok := lockfile.inner[key] + assert.Assert(t, ok, "Unable to find entry for %s in parsed lockfile", key) + } +} |
