diff options
author | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2023-01-26 18:29:15 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-01-26 18:29:15 +0000 |
commit | b925feafab4bd54a2d608e4621a5210bc67d67c6 (patch) | |
tree | 6ea4841a079772cb06df5ec2cf99637f8d53805b /tvsaver/saver2v1/save_snippet_test.go | |
parent | 5f73058e15df15ab2a35ca0c9d506b4fd0a83de7 (diff) | |
parent | 8dba382b59616b372f0ee6f95fe66c942bb790e0 (diff) | |
download | spdx-tools-b925feafab4bd54a2d608e4621a5210bc67d67c6.tar.gz |
Upgrade spdx-tools to v0.4.0 am: 75f88b4895 am: f12cf92582 am: 8dba382b59
Original change: https://android-review.googlesource.com/c/platform/external/spdx-tools/+/2401868
Change-Id: I14274d30850f3af3184815b3a3820b1f744d0a1f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'tvsaver/saver2v1/save_snippet_test.go')
-rw-r--r-- | tvsaver/saver2v1/save_snippet_test.go | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/tvsaver/saver2v1/save_snippet_test.go b/tvsaver/saver2v1/save_snippet_test.go new file mode 100644 index 0000000..3c9036a --- /dev/null +++ b/tvsaver/saver2v1/save_snippet_test.go @@ -0,0 +1,142 @@ +// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later + +package saver2v1 + +import ( + "bytes" + "testing" + + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_1" +) + +// ===== Snippet section Saver tests ===== +func TestSaver2_1SnippetSavesText(t *testing.T) { + sn := &v2_1.Snippet{ + SnippetSPDXIdentifier: common.ElementID("Snippet17"), + SnippetFromFileSPDXIdentifier: common.MakeDocElementID("", "File292").ElementRefID, + Ranges: []common.SnippetRange{ + { + StartPointer: common.SnippetRangePointer{LineNumber: 3}, + EndPointer: common.SnippetRangePointer{LineNumber: 8}, + }, + { + StartPointer: common.SnippetRangePointer{Offset: 17}, + EndPointer: common.SnippetRangePointer{Offset: 209}, + }, + }, + SnippetLicenseConcluded: "GPL-2.0-or-later", + LicenseInfoInSnippet: []string{ + "GPL-2.0-or-later", + "MIT", + }, + SnippetLicenseComments: "this is a comment(s) about the snippet license", + SnippetCopyrightText: "Copyright (c) John Doe 20x6", + SnippetComment: "this is a snippet comment", + SnippetName: "from John's program", + } + + // what we want to get, as a buffer of bytes + want := bytes.NewBufferString(`SnippetSPDXID: SPDXRef-Snippet17 +SnippetFromFileSPDXID: SPDXRef-File292 +SnippetLineRange: 3:8 +SnippetByteRange: 17:209 +SnippetLicenseConcluded: GPL-2.0-or-later +LicenseInfoInSnippet: GPL-2.0-or-later +LicenseInfoInSnippet: MIT +SnippetLicenseComments: this is a comment(s) about the snippet license +SnippetCopyrightText: Copyright (c) John Doe 20x6 +SnippetComment: this is a snippet comment +SnippetName: from John's program + +`) + + // render as buffer of bytes + var got bytes.Buffer + err := renderSnippet2_1(sn, &got) + if err != nil { + t.Errorf("Expected nil error, got %v", err) + } + + // check that they match + c := bytes.Compare(want.Bytes(), got.Bytes()) + if c != 0 { + t.Errorf("Expected %v, got %v", want.String(), got.String()) + } +} + +func TestSaver2_1SnippetOmitsOptionalFieldsIfEmpty(t *testing.T) { + sn := &v2_1.Snippet{ + SnippetSPDXIdentifier: common.ElementID("Snippet17"), + SnippetFromFileSPDXIdentifier: common.MakeDocElementID("", "File292").ElementRefID, + Ranges: []common.SnippetRange{ + { + StartPointer: common.SnippetRangePointer{Offset: 17}, + EndPointer: common.SnippetRangePointer{Offset: 209}, + }, + }, + SnippetLicenseConcluded: "GPL-2.0-or-later", + SnippetCopyrightText: "Copyright (c) John Doe 20x6", + } + + // what we want to get, as a buffer of bytes + want := bytes.NewBufferString(`SnippetSPDXID: SPDXRef-Snippet17 +SnippetFromFileSPDXID: SPDXRef-File292 +SnippetByteRange: 17:209 +SnippetLicenseConcluded: GPL-2.0-or-later +SnippetCopyrightText: Copyright (c) John Doe 20x6 + +`) + + // render as buffer of bytes + var got bytes.Buffer + err := renderSnippet2_1(sn, &got) + if err != nil { + t.Errorf("Expected nil error, got %v", err) + } + + // check that they match + c := bytes.Compare(want.Bytes(), got.Bytes()) + if c != 0 { + t.Errorf("Expected %v, got %v", want.String(), got.String()) + } +} + +func TestSaver2_1SnippetWrapsCopyrightMultiline(t *testing.T) { + sn := &v2_1.Snippet{ + SnippetSPDXIdentifier: common.ElementID("Snippet17"), + SnippetFromFileSPDXIdentifier: common.MakeDocElementID("", "File292").ElementRefID, + Ranges: []common.SnippetRange{ + { + StartPointer: common.SnippetRangePointer{Offset: 17}, + EndPointer: common.SnippetRangePointer{Offset: 209}, + }, + }, + SnippetLicenseConcluded: "GPL-2.0-or-later", + SnippetCopyrightText: `Copyright (c) John Doe 20x6 +Copyright (c) John Doe 20x6`, + } + + // what we want to get, as a buffer of bytes + want := bytes.NewBufferString(`SnippetSPDXID: SPDXRef-Snippet17 +SnippetFromFileSPDXID: SPDXRef-File292 +SnippetByteRange: 17:209 +SnippetLicenseConcluded: GPL-2.0-or-later +SnippetCopyrightText: <text>Copyright (c) John Doe 20x6 +Copyright (c) John Doe 20x6</text> + +`) + + // render as buffer of bytes + var got bytes.Buffer + err := renderSnippet2_1(sn, &got) + if err != nil { + t.Errorf("Expected nil error, got %v", err) + } + + // check that they match + c := bytes.Compare(want.Bytes(), got.Bytes()) + if c != 0 { + t.Errorf("Expected %v, got %v", want.String(), got.String()) + } +} |