File: func_len_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 (58 lines) | stat: -rw-r--r-- 749 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
package dasel

import (
	"testing"
)

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

	data := map[string]interface{}{
		"string": "hello",
		"slice": []interface{}{
			1, 2, 3,
		},
		"falseBool": false,
		"trueBool":  true,
	}

	t.Run(
		"String",
		selectTest(
			"string.len()",
			data,
			[]interface{}{5},
		),
	)
	t.Run(
		"Slice",
		selectTest(
			"slice.len()",
			data,
			[]interface{}{3},
		),
	)
	t.Run(
		"False Bool",
		selectTest(
			"falseBool.len()",
			data,
			[]interface{}{0},
		),
	)
	t.Run(
		"True Bool",
		selectTest(
			"trueBool.len()",
			data,
			[]interface{}{1},
		),
	)
}