mirror of
https://github.com/anchore/syft.git
synced 2025-11-17 08:23:15 +01:00
improve LanguageByName and add unit tests (#1034)
Signed-off-by: Weston Steimel <weston.steimel@anchore.com>
This commit is contained in:
parent
5e2ab0874d
commit
05be9e25ce
@ -62,11 +62,11 @@ func LanguageByName(name string) Language {
|
||||
return JavaScript
|
||||
case packageurl.TypePyPi, string(Python):
|
||||
return Python
|
||||
case packageurl.TypeGem:
|
||||
case packageurl.TypeGem, string(Ruby):
|
||||
return Ruby
|
||||
case purlCargoPkgType:
|
||||
case purlCargoPkgType, string(RustPkg), string(Rust):
|
||||
return Rust
|
||||
case packageurl.TypePub, string(Dart):
|
||||
case packageurl.TypePub, string(DartPubPkg), string(Dart):
|
||||
return Dart
|
||||
case packageurl.TypeDotnet:
|
||||
return Dotnet
|
||||
|
||||
@ -73,3 +73,111 @@ func TestLanguageFromPURL(t *testing.T) {
|
||||
assert.ElementsMatch(t, expectedLanguages.List(), languages, "missing one or more languages to test against (maybe a package type was added?)")
|
||||
|
||||
}
|
||||
|
||||
func TestLanguageByName(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
language Language
|
||||
}{
|
||||
{
|
||||
name: "maven",
|
||||
language: Java,
|
||||
},
|
||||
{
|
||||
name: "java",
|
||||
language: Java,
|
||||
},
|
||||
{
|
||||
name: "java-archive",
|
||||
language: Java,
|
||||
},
|
||||
{
|
||||
name: "java",
|
||||
language: Java,
|
||||
},
|
||||
{
|
||||
name: "composer",
|
||||
language: PHP,
|
||||
},
|
||||
{
|
||||
name: "php-composer",
|
||||
language: PHP,
|
||||
},
|
||||
{
|
||||
name: "php",
|
||||
language: PHP,
|
||||
},
|
||||
{
|
||||
name: "go",
|
||||
language: Go,
|
||||
},
|
||||
{
|
||||
name: "golang",
|
||||
language: Go,
|
||||
},
|
||||
{
|
||||
name: "go-module",
|
||||
language: Go,
|
||||
},
|
||||
{
|
||||
name: "npm",
|
||||
language: JavaScript,
|
||||
},
|
||||
{
|
||||
name: "javascript",
|
||||
language: JavaScript,
|
||||
},
|
||||
{
|
||||
name: "pypi",
|
||||
language: Python,
|
||||
},
|
||||
{
|
||||
name: "python",
|
||||
language: Python,
|
||||
},
|
||||
{
|
||||
name: "gem",
|
||||
language: Ruby,
|
||||
},
|
||||
{
|
||||
name: "ruby",
|
||||
language: Ruby,
|
||||
},
|
||||
{
|
||||
name: "rust",
|
||||
language: Rust,
|
||||
},
|
||||
{
|
||||
name: "rust-crate",
|
||||
language: Rust,
|
||||
},
|
||||
{
|
||||
name: "cargo",
|
||||
language: Rust,
|
||||
},
|
||||
{
|
||||
name: "dart",
|
||||
language: Dart,
|
||||
},
|
||||
{
|
||||
name: "dart-pub",
|
||||
language: Dart,
|
||||
},
|
||||
{
|
||||
name: "pub",
|
||||
language: Dart,
|
||||
},
|
||||
{
|
||||
name: "dotnet",
|
||||
language: Dotnet,
|
||||
},
|
||||
{
|
||||
name: "unknown",
|
||||
language: UnknownLanguage,
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
assert.Equal(t, LanguageByName(test.name), test.language)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user