go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/stringutil/compress_space_test.go (about)

     1  /*
     2  
     3  Copyright (c) 2023 - Present. Will Charczuk. All rights reserved.
     4  Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository.
     5  
     6  */
     7  
     8  package stringutil
     9  
    10  import (
    11  	"testing"
    12  
    13  	. "go.charczuk.com/sdk/assert"
    14  )
    15  
    16  func Test_CompressSpace(t *testing.T) {
    17  	ItsEqual(t, "", CompressSpace(""))
    18  	ItsEqual(t, "", CompressSpace(" "))
    19  	ItsEqual(t, "", CompressSpace("\n"))
    20  	ItsEqual(t, "", CompressSpace("\t"))
    21  
    22  	ItsEqual(t, "foo", CompressSpace(" foo"))
    23  	ItsEqual(t, "foo", CompressSpace("foo "))
    24  	ItsEqual(t, "foo", CompressSpace("foo\n"))
    25  
    26  	ItsEqual(t, "foo bar", CompressSpace("foo bar"))
    27  	ItsEqual(t, "foo bar", CompressSpace("foo\tbar"))
    28  	ItsEqual(t, "foo bar", CompressSpace("foo\nbar"))
    29  
    30  	ItsEqual(t, "foo bar", CompressSpace("foo  bar"))
    31  	ItsEqual(t, "foo bar", CompressSpace("foo\t\tbar"))
    32  	ItsEqual(t, "foo bar", CompressSpace("foo\n\nbar"))
    33  
    34  	ItsEqual(t, "foo bar baz", CompressSpace("foo  bar   baz"))
    35  	ItsEqual(t, "foo bar baz", CompressSpace("foo\t\t\tbar baz\n"))
    36  	ItsEqual(t, "foo bar baz", CompressSpace("foo\n\n\nbar\tbaz"))
    37  }