vendor tsgo
This commit is contained in:
44
tools/tsgo/internal/packagejson/expected_test.go
Normal file
44
tools/tsgo/internal/packagejson/expected_test.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package packagejson_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/microsoft/typescript-go/internal/json"
|
||||
"github.com/microsoft/typescript-go/internal/packagejson"
|
||||
"gotest.tools/v3/assert"
|
||||
)
|
||||
|
||||
func TestExpected(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
type packageJson struct {
|
||||
Name packagejson.Expected[string] `json:"name"`
|
||||
Version packagejson.Expected[string] `json:"version"`
|
||||
Exports packagejson.Expected[any] `json:"exports"`
|
||||
Main packagejson.Expected[string] `json:"main"`
|
||||
}
|
||||
|
||||
var p packageJson
|
||||
|
||||
jsonString := `{
|
||||
"name": "test",
|
||||
"version": 2,
|
||||
"exports": null
|
||||
}`
|
||||
|
||||
err := json.Unmarshal([]byte(jsonString), &p)
|
||||
assert.NilError(t, err)
|
||||
|
||||
assert.Equal(t, p.Name.Valid, true)
|
||||
assert.Equal(t, p.Name.Value, "test")
|
||||
|
||||
assert.Equal(t, p.Version.Valid, false)
|
||||
assert.Equal(t, p.Version.Value, "")
|
||||
|
||||
assert.Assert(t, p.Exports.Null)
|
||||
assert.Equal(t, p.Exports.Valid, false)
|
||||
|
||||
assert.Equal(t, p.Main.Valid, false)
|
||||
assert.Equal(t, p.Main.Null, false)
|
||||
assert.Equal(t, p.Main.Value, "")
|
||||
}
|
||||
Reference in New Issue
Block a user