summaryrefslogtreecommitdiff
path: root/workhorse/internal/lsif_transformer/parser/id_test.go
blob: c1c5392837830ade1bd31486e1af0bbf5c30ff9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package parser

import (
	"encoding/json"
	"testing"

	"github.com/stretchr/testify/require"
)

type jsonWithId struct {
	Value Id `json:"value"`
}

func TestId(t *testing.T) {
	var v jsonWithId
	require.NoError(t, json.Unmarshal([]byte(`{ "value": 1230 }`), &v))
	require.Equal(t, Id(1230), v.Value)

	require.NoError(t, json.Unmarshal([]byte(`{ "value": "1230" }`), &v))
	require.Equal(t, Id(1230), v.Value)

	require.Error(t, json.Unmarshal([]byte(`{ "value": "1.5" }`), &v))
	require.Error(t, json.Unmarshal([]byte(`{ "value": 1.5 }`), &v))
	require.Error(t, json.Unmarshal([]byte(`{ "value": "-1" }`), &v))
	require.Error(t, json.Unmarshal([]byte(`{ "value": -1 }`), &v))
	require.Error(t, json.Unmarshal([]byte(`{ "value": 21000000 }`), &v))
	require.Error(t, json.Unmarshal([]byte(`{ "value": "21000000" }`), &v))
}