File: asn1_test.go

package info (click to toggle)
golang-github-smallstep-crypto 0.63.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 3,800 kB
  • sloc: sh: 66; makefile: 50
file content (34 lines) | stat: -rw-r--r-- 883 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
package utils

import (
	"testing"

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

func TestIsPrintableString(t *testing.T) {
	type args struct {
		s         string
		asterisk  bool
		ampersand bool
	}
	tests := []struct {
		name string
		args args
		want bool
	}{
		{"empty", args{"", false, false}, true},
		{"a", args{"a", false, false}, true},
		{"spaces and caps", args{"My Leaf", false, false}, true},
		{"default allowed punctuation", args{`(Hi+,-./):=?`, false, false}, true},
		{"asterisk not allowed", args{"*", false, false}, false},
		{"ampersand not allowed", args{"&", false, false}, false},
		{"asterisk allowed", args{"*", true, false}, true},
		{"ampersand allowed", args{"&", false, true}, true},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			assert.Equal(t, tt.want, IsPrintableString(tt.args.s, tt.args.asterisk, tt.args.ampersand))
		})
	}
}