Remove space characters in license for cargo. (#154)

diff --git a/pkg/deps/cargo.go b/pkg/deps/cargo.go
index 5d900cd..70a2f03 100644
--- a/pkg/deps/cargo.go
+++ b/pkg/deps/cargo.go
@@ -167,6 +167,7 @@
 	segs := make(map[string]struct{})
 	for _, ss := range strings.Split(licenseStr, "/") {
 		for _, s := range strings.Split(ss, " OR ") {
+			s = strings.TrimSpace(s)
 			segs[s] = struct{}{}
 		}
 	}
diff --git a/pkg/deps/cargo_test.go b/pkg/deps/cargo_test.go
index 469d32d..a36a55a 100644
--- a/pkg/deps/cargo_test.go
+++ b/pkg/deps/cargo_test.go
@@ -61,7 +61,7 @@
 			Excludes:  []deps.Exclude{},
 		}
 
-		report := resolveTmpCargo(t, cargoToml, &config)
+		report := resolveTmpCargo(t, cargoToml, "", &config)
 		if len(report.Resolved) != 1 {
 			t.Error("len(report.Resolved) != 1")
 		}
@@ -87,7 +87,7 @@
 			Excludes:  []deps.Exclude{{Name: "foo", Version: "0.0.0"}},
 		}
 
-		report := resolveTmpCargo(t, cargoToml, &config)
+		report := resolveTmpCargo(t, cargoToml, "", &config)
 		if len(report.Resolved) != 0 {
 			t.Error("len(report.Resolved) != 0")
 		}
@@ -116,7 +116,7 @@
 			Excludes: []deps.Exclude{},
 		}
 
-		report := resolveTmpCargo(t, cargoToml, &config)
+		report := resolveTmpCargo(t, cargoToml, "", &config)
 		if len(report.Resolved) != 1 {
 			t.Error("len(report.Resolved) != 1")
 		}
@@ -137,6 +137,40 @@
 [dependencies]
 libc = "0.2.126"    # actual license: MIT OR Apache-2.0
 bitflags = "1.3.2"  # actual license: MIT/Apache-2.0
+fnv = "1.0.7"       # actual license: Apache-2.0 / MIT
+`
+
+		cargoLock := `
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foo"
+version = "0.0.0"
+dependencies = [
+ "bitflags",
+ "fnv",
+ "libc",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.126"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
 `
 
 		config := deps.ConfigDeps{
@@ -146,26 +180,21 @@
 			Excludes:  []deps.Exclude{},
 		}
 
-		report := resolveTmpCargo(t, cargoToml, &config)
-		if len(report.Resolved) != 3 {
-			t.Error("len(report.Resolved) != 3")
+		report := resolveTmpCargo(t, cargoToml, cargoLock, &config)
+		if len(report.Resolved) != 4 {
+			t.Error("len(report.Resolved) != 4")
 		}
 		for _, result := range report.Resolved {
-			if result.Dependency == "libc" {
+			if result.Dependency == "libc" || result.Dependency == "bitflags" || result.Dependency == "fnv" {
 				if result.LicenseSpdxID != "Apache-2.0 OR MIT" || result.LicenseContent == "" {
-					t.Error("Resolve dependency libc failed")
-				}
-			}
-			if result.Dependency == "bitflags" {
-				if result.LicenseSpdxID != "Apache-2.0 OR MIT" || result.LicenseContent == "" {
-					t.Error("Resolve dependency libc failed")
+					t.Errorf("Resolve dependency %s failed", result.Dependency)
 				}
 			}
 		}
 	}
 }
 
-func resolveTmpCargo(t *testing.T, cargoTomlContent string, config *deps.ConfigDeps) *deps.Report {
+func resolveTmpCargo(t *testing.T, cargoTomlContent string, cargoLockContent string, config *deps.ConfigDeps) *deps.Report {
 	dir, err := os.MkdirTemp("", "skywalking-eyes-test-cargo-")
 	if err != nil {
 		t.Error("Make temp dir failed", err)
@@ -194,6 +223,14 @@
 		return nil
 	}
 
+	if cargoLockContent != "" {
+		cargoLockFile := filepath.Join(dir, "Cargo.lock")
+		if err := os.WriteFile(cargoLockFile, []byte(cargoLockContent), 0644); err != nil {
+			t.Error("Write Cargo.lock failed", err)
+			return nil
+		}
+	}
+
 	resolver := new(deps.CargoTomlResolver)
 
 	var report deps.Report