File: func_type_test.go

package info (click to toggle)
dasel 2.8.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,844 kB
  • sloc: sh: 53; python: 21; makefile: 21; xml: 20
file content (101 lines) | stat: -rw-r--r-- 1,193 bytes parent folder | download
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package dasel

import (
	"testing"
)

func TestTypeFunc(t *testing.T) {
	t.Run("Args", selectTestErr(
		"type(x)",
		map[string]interface{}{},
		&ErrUnexpectedFunctionArgs{
			Function: "type",
			Args:     []string{"x"},
		}),
	)

	data := map[string]interface{}{
		"string": "hello",
		"slice": []interface{}{
			1, 2, 3,
		},
		"map": map[string]interface{}{
			"x": 1,
		},
		"int":   int(1),
		"float": float32(1),
		"bool":  true,
		"null":  nil,
	}

	t.Run(
		"String",
		selectTest(
			"string.type()",
			data,
			[]interface{}{
				"string",
			},
		),
	)
	t.Run(
		"Slice",
		selectTest(
			"slice.type()",
			data,
			[]interface{}{
				"array",
			},
		),
	)
	t.Run(
		"map",
		selectTest(
			"map.type()",
			data,
			[]interface{}{
				"object",
			},
		),
	)
	t.Run(
		"int",
		selectTest(
			"int.type()",
			data,
			[]interface{}{
				"number",
			},
		),
	)
	t.Run(
		"float",
		selectTest(
			"float.type()",
			data,
			[]interface{}{
				"number",
			},
		),
	)
	t.Run(
		"bool",
		selectTest(
			"bool.type()",
			data,
			[]interface{}{
				"bool",
			},
		),
	)
	t.Run(
		"null",
		selectTest(
			"null.type()",
			data,
			[]interface{}{
				"null",
			},
		),
	)
}