github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/util/string_test.go (about)

     1  package util
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestStringsContain(t *testing.T) {
    10  	t.Parallel()
    11  
    12  	tests := map[string]struct {
    13  		inputSlice []string
    14  		inputValue string
    15  		expected   bool
    16  	}{
    17  		"should return false on missing value in the slice": {
    18  			inputSlice: []string{"one", "two"},
    19  			inputValue: "three",
    20  			expected:   false,
    21  		},
    22  		"should return true on existing value in the slice": {
    23  			inputSlice: []string{"one", "two"},
    24  			inputValue: "two",
    25  			expected:   true,
    26  		},
    27  	}
    28  
    29  	for testName, testData := range tests {
    30  		testData := testData
    31  
    32  		t.Run(testName, func(t *testing.T) {
    33  			t.Parallel()
    34  
    35  			actual := StringsContain(testData.inputSlice, testData.inputValue)
    36  			assert.Equal(t, testData.expected, actual)
    37  		})
    38  	}
    39  }
    40  
    41  func TestStringSnakeCase(t *testing.T) {
    42  	t.Parallel()
    43  
    44  	cases := []struct {
    45  		name            string
    46  		input, expected string
    47  	}{
    48  		{
    49  			name:     "simple",
    50  			input:    "snakeCase",
    51  			expected: "snake_case",
    52  		},
    53  		{
    54  			name:     "mix",
    55  			input:    "Snake_Case",
    56  			expected: "snake_case", // should be snake__case??
    57  		},
    58  		{
    59  			name:     "begin-with-underscore",
    60  			input:    "_Snake_Case",
    61  			expected: "_snake_case",
    62  		},
    63  		{
    64  			name:     "end-with-underscore",
    65  			input:    "Snake_Case_",
    66  			expected: "snake_case_",
    67  		},
    68  	}
    69  
    70  	for _, c := range cases {
    71  		t.Run(c.name, func(t *testing.T) {
    72  			got := SnakeCase(c.input)
    73  			assert.Equal(t, c.expected, got)
    74  		})
    75  	}
    76  }