...

Source file src/go.einride.tech/aip/resourcename/containswildcard_test.go

Documentation: go.einride.tech/aip/resourcename

     1  package resourcename
     2  
     3  import (
     4  	"testing"
     5  
     6  	"gotest.tools/v3/assert"
     7  )
     8  
     9  func TestContainsWildcard(t *testing.T) {
    10  	t.Parallel()
    11  	for _, tt := range []struct {
    12  		name     string
    13  		input    string
    14  		expected bool
    15  	}{
    16  		{
    17  			name:     "empty",
    18  			input:    "",
    19  			expected: false,
    20  		},
    21  
    22  		{
    23  			name:     "singleton",
    24  			input:    "foo",
    25  			expected: false,
    26  		},
    27  
    28  		{
    29  			name:     "singleton wildcard",
    30  			input:    "-",
    31  			expected: true,
    32  		},
    33  
    34  		{
    35  			name:     "multi",
    36  			input:    "foo/bar",
    37  			expected: false,
    38  		},
    39  
    40  		{
    41  			name:     "multi wildcard at start",
    42  			input:    "-/bar",
    43  			expected: true,
    44  		},
    45  
    46  		{
    47  			name:     "multi wildcard at end",
    48  			input:    "foo/-",
    49  			expected: true,
    50  		},
    51  
    52  		{
    53  			name:     "multi wildcard at middle",
    54  			input:    "foo/-/bar",
    55  			expected: true,
    56  		},
    57  	} {
    58  		tt := tt
    59  		t.Run(tt.name, func(t *testing.T) {
    60  			t.Parallel()
    61  			assert.Equal(t, tt.expected, ContainsWildcard(tt.input))
    62  		})
    63  	}
    64  }
    65  

View as plain text