aboutsummaryrefslogtreecommitdiff
path: root/tvsaver/saver2v1/save_snippet_test.go
diff options
context:
space:
mode:
authorSadaf Ebrahimi <sadafebrahimi@google.com>2023-01-26 18:29:15 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-01-26 18:29:15 +0000
commitb925feafab4bd54a2d608e4621a5210bc67d67c6 (patch)
tree6ea4841a079772cb06df5ec2cf99637f8d53805b /tvsaver/saver2v1/save_snippet_test.go
parent5f73058e15df15ab2a35ca0c9d506b4fd0a83de7 (diff)
parent8dba382b59616b372f0ee6f95fe66c942bb790e0 (diff)
downloadspdx-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.go142
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())
+ }
+}