summaryrefslogtreecommitdiff
path: root/opts/quotedstring_test.go
blob: fc7b7747b1fb5ed1e75b426b84b38308e06e1afb (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
29
30
31
32
33
34
package opts // import "github.com/docker/docker/opts"

import (
	"testing"

	"gotest.tools/v3/assert"
	is "gotest.tools/v3/assert/cmp"
)

func TestQuotedStringSetWithQuotes(t *testing.T) {
	value := ""
	qs := NewQuotedString(&value)
	assert.Check(t, qs.Set(`"something"`))
	assert.Check(t, is.Equal("something", qs.String()))
	assert.Check(t, is.Equal("something", value))
}

func TestQuotedStringSetWithMismatchedQuotes(t *testing.T) {
	qs := NewQuotedString(new(string))
	assert.Check(t, qs.Set(`"something'`))
	assert.Check(t, is.Equal(`"something'`, qs.String()))
}

func TestQuotedStringSetWithNoQuotes(t *testing.T) {
	qs := NewQuotedString(new(string))
	assert.Check(t, qs.Set("something"))
	assert.Check(t, is.Equal("something", qs.String()))
}

func TestQuotedStringEmptyOrSingleCharString(t *testing.T) {
	qs := NewQuotedString(new(string))
	assert.Check(t, qs.Set(""))
	assert.Check(t, qs.Set("'"))
}