diff options
Diffstat (limited to 'tvloader/parser2v2/parse_relationship_test.go')
-rw-r--r-- | tvloader/parser2v2/parse_relationship_test.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tvloader/parser2v2/parse_relationship_test.go b/tvloader/parser2v2/parse_relationship_test.go index 1312cc5..0e6c013 100644 --- a/tvloader/parser2v2/parse_relationship_test.go +++ b/tvloader/parser2v2/parse_relationship_test.go @@ -152,6 +152,37 @@ func TestParser2_2InvalidRelationshipTagsInvalidRefIDs(t *testing.T) { } } +func TestParser2_2SpecialValuesValidForRightSideOfRelationship(t *testing.T) { + parser := tvParser2_2{ + doc: &spdx.Document2_2{}, + st: psCreationInfo2_2, + } + + // NONE in right side of relationship should pass + err := parser.parsePair2_2("Relationship", "SPDXRef-a CONTAINS NONE") + if err != nil { + t.Errorf("expected nil error for CONTAINS NONE, got %v", err) + } + + // NOASSERTION in right side of relationship should pass + err = parser.parsePair2_2("Relationship", "SPDXRef-a CONTAINS NOASSERTION") + if err != nil { + t.Errorf("expected nil error for CONTAINS NOASSERTION, got %v", err) + } + + // NONE in left side of relationship should fail + err = parser.parsePair2_2("Relationship", "NONE CONTAINS SPDXRef-a") + if err == nil { + t.Errorf("expected non-nil error for NONE CONTAINS, got nil") + } + + // NOASSERTION in left side of relationship should fail + err = parser.parsePair2_2("Relationship", "NOASSERTION CONTAINS SPDXRef-a") + if err == nil { + t.Errorf("expected non-nil error for NOASSERTION CONTAINS, got nil") + } +} + func TestParser2_2FailsToParseUnknownTagInRelationshipSection(t *testing.T) { parser := tvParser2_2{ doc: &spdx.Document2_2{}, |