summaryrefslogtreecommitdiff
path: root/workhorse/internal/lsif_transformer/parser/id_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'workhorse/internal/lsif_transformer/parser/id_test.go')
-rw-r--r--workhorse/internal/lsif_transformer/parser/id_test.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/workhorse/internal/lsif_transformer/parser/id_test.go b/workhorse/internal/lsif_transformer/parser/id_test.go
new file mode 100644
index 00000000000..c1c53928378
--- /dev/null
+++ b/workhorse/internal/lsif_transformer/parser/id_test.go
@@ -0,0 +1,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))
+}