deno.land / x / esm@v135_2 / server / pkg_test.go
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100package server
import ( "encoding/json" "testing")
func TestPackageJsonParse(t *testing.T) { var info NpmPackageInfo err := json.Unmarshal([]byte(`{ "name": "foo", "version": "1.0.0", "main": "index.js", "module": "index.mjs", "sideEffects": false, "esm.sh": { "bundle": false } }`), &info) if err != nil { t.Fatal(err) } if info.Name != "foo" { t.Fatal("invalid name") } if info.Version != "1.0.0" { t.Fatal("invalid version") } if info.Main != "index.js" { t.Fatal("invalid main") } if info.Module != "index.mjs" { t.Fatal("invalid module") } if info.SideEffectsFalse != true { t.Fatal("invalid sideEffects") } if info.ESMConfig["bundle"] != false { t.Fatal("invalid esm.sh config") }}
func TestPkgPath(t *testing.T) { pkgName, pkgVersion, subPath := splitPkgPath("react") if pkgName != "react" || pkgVersion != "" || subPath != "" { t.Fatal("invalid splitPkgPath('react')") } pkgName, pkgVersion, subPath = splitPkgPath("react@18.2.0") if pkgName != "react" || pkgVersion != "18.2.0" || subPath != "" { t.Fatal("invalid splitPkgPath('react@18.2.0')") } pkgName, pkgVersion, subPath = splitPkgPath("react-dom@18.2.0/server") if pkgName != "react-dom" || pkgVersion != "18.2.0" || subPath != "server" { t.Fatal("invalid splitPkgPath('react@18.2.0/server')") } pkg, q, err := validatePkgPath("react@18.2.0") if err != nil { t.Fatal(err) } if q != "" { t.Fatalf("invalid unquery('%s'), should be empty", q) } if pkg.String() != "react@18.2.0" { t.Fatalf("invalid pkg('%v'), should be 'react@18.2.0'", pkg) }
pkg, q, err = validatePkgPath("react-dom@18.2.0/client") if err != nil { t.Fatal(err) } if q != "" { t.Fatalf("invalid unquery('%s'), should be empty", q) } if pkg.String() != "react-dom@18.2.0/client" { t.Fatalf("invalid pkg('%v'), should be 'react-dom@18.2.0/client'", pkg) }
pkg, q, err = validatePkgPath("react-dom@18.2.0&dev/client.js") if err != nil { t.Fatal(err) } if q != "dev" { t.Fatalf("invalid unquery('%s'), should be 'dev'", q) } if pkg.String() != "react-dom@18.2.0/client" { t.Fatalf("invalid pkg('%v'), should be 'react-dom@18.2.0/client'", pkg) }
pkg, q, err = validatePkgPath("@types/react@18.2.0") if err != nil { t.Fatal(err) } if q != "" { t.Fatalf("invalid unquery('%s'), should be empty", q) } if pkg.String() != "@types/react@"+fixedPkgVersions["@types/react@18"] { t.Fatalf("invalid pkg('%v'), should be '@types/react@%s'", pkg, fixedPkgVersions["@types/react@18"]) }}
Version Info