go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/utils/stringx/contains_test.go (about)

     1  // Copyright (c) Mondoo, Inc.
     2  // SPDX-License-Identifier: BUSL-1.1
     3  
     4  package stringx_test
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  	"go.mondoo.com/cnquery/utils/stringx"
    11  )
    12  
    13  func TestContains(t *testing.T) {
    14  	assert.True(t, stringx.Contains([]string{"ab", "aa"}, "ab"))
    15  	assert.False(t, stringx.Contains([]string{"ab", "aa"}, "a"))
    16  	assert.False(t, stringx.Contains([]string{"ab", "aa"}, "bs"))
    17  	assert.True(t, stringx.Contains([]string{"hello", "world"}, "world"))
    18  	assert.True(t, stringx.Contains([]string{"hello", "world"}, "hello"))
    19  	assert.False(t, stringx.Contains([]string{"hello", "world"}, "john"))
    20  }
    21  
    22  func TestContainsAnyOf(t *testing.T) {
    23  	assert.True(t, stringx.ContainsAnyOf([]string{"ab", "aa"}, "ab"))
    24  	assert.False(t, stringx.ContainsAnyOf([]string{"ab", "aa"}, "a", "b"))
    25  	assert.False(t, stringx.ContainsAnyOf([]string{"ab", "aa"}, "bs"))
    26  	assert.True(t, stringx.ContainsAnyOf([]string{"hello", "world"}, "", "world"))
    27  	assert.True(t, stringx.ContainsAnyOf([]string{"hello", "world"}, "hello", "world"))
    28  	assert.False(t, stringx.ContainsAnyOf([]string{"hello", "world"}, "john"))
    29  }
    30  
    31  func TestRemoveEmpty(t *testing.T) {
    32  	assert.Equal(t, []string{"aa"}, stringx.RemoveEmpty([]string{"", "aa"}))
    33  	assert.Equal(t, []string{"aa"}, stringx.RemoveEmpty([]string{"aa", ""}))
    34  	assert.Equal(t, []string{"aa", "ab"}, stringx.RemoveEmpty([]string{"", "aa", "", "ab", ""}))
    35  }