github.com/TIBCOSoftware/flogo-lib@v0.5.9/core/mapper/exprmapper/function/string/concat/concat_test.go (about)

     1  package concat
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/TIBCOSoftware/flogo-lib/core/mapper/exprmapper/expression"
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  var s = &Concat{}
    12  
    13  func TestStaticFunc_Concat(t *testing.T) {
    14  	final, err := s.Eval("TIBCO", "FLOGO", "IOT")
    15  	assert.Nil(t, err)
    16  	fmt.Println(final)
    17  	assert.Equal(t, final, "TIBCOFLOGOIOT")
    18  }
    19  
    20  func TestExpressionDoubleQuotes(t *testing.T) {
    21  	fun, err := expression.ParseExpression(`string.concat('TIBCO',' Flo"go')`)
    22  	assert.Nil(t, err)
    23  	assert.NotNil(t, fun)
    24  	v, err := fun.Eval()
    25  	assert.Nil(t, err)
    26  	assert.Equal(t, `TIBCO Flo"go`, v)
    27  }
    28  
    29  func TestExpressionSingleQuote(t *testing.T) {
    30  	fun, err := expression.ParseExpression(`string.concat("TIBCO"," Flo'o\o{go")`)
    31  	assert.Nil(t, err)
    32  	assert.NotNil(t, fun)
    33  	v, err := fun.Eval()
    34  	assert.Nil(t, err)
    35  	assert.Equal(t, "TIBCO Flo'o\\o{go", v)
    36  }
    37  
    38  func TestExpressionCombine(t *testing.T) {
    39  	fun, err := expression.ParseExpression(`string.concat('Hello', " 'World'")`)
    40  	assert.Nil(t, err)
    41  	assert.NotNil(t, fun)
    42  	v, err := fun.Eval()
    43  	assert.Nil(t, err)
    44  	assert.Equal(t, `Hello 'World'`, v)
    45  }
    46  
    47  func TestExpressionCombine2(t *testing.T) {
    48  	fun, err := expression.ParseExpression(`string.concat('Hello', ' "World"')`)
    49  	assert.Nil(t, err)
    50  	assert.NotNil(t, fun)
    51  	v, err := fun.Eval()
    52  	assert.Nil(t, err)
    53  	assert.Equal(t, `Hello "World"`, v)
    54  }
    55  func TestExpressionNewLine(t *testing.T) {
    56  	fun, err := expression.ParseExpression(`string.concat(
    57  	"TIBCO",
    58  	" FLOGO"
    59  	)`)
    60  	assert.Nil(t, err)
    61  	assert.NotNil(t, fun)
    62  	v, err := fun.Eval()
    63  	assert.Nil(t, err)
    64  	assert.Equal(t, "TIBCO FLOGO", v)
    65  }
    66  
    67  func TestExpressionSpace(t *testing.T) {
    68  	fun, err := expression.ParseExpression(`string.concat(    "TIBCO"  ,  " FLOGO")   `)
    69  	assert.Nil(t, err)
    70  	assert.NotNil(t, fun)
    71  	v, err := fun.Eval()
    72  	assert.Nil(t, err)
    73  	assert.Equal(t, "TIBCO FLOGO", v)
    74  }
    75  
    76  func TestExpressionSpaceNewLineTab(t *testing.T) {
    77  	fun, err := expression.ParseExpression(`string.concat(    "TIBCO" 
    78  		 ,	" FLOGO"	
    79  		 )`)
    80  	assert.Nil(t, err)
    81  	assert.NotNil(t, fun)
    82  	v, err := fun.Eval()
    83  	assert.Nil(t, err)
    84  	assert.Equal(t, "TIBCO FLOGO", v)
    85  }
    86  
    87  func TestExpressionDoubleDoubleQuotes(t *testing.T) {
    88  	fun, err := expression.ParseExpression(`string.concat("\"abc\"", "dddd")`)
    89  	assert.Nil(t, err)
    90  	assert.NotNil(t, fun)
    91  	v, err := fun.Eval()
    92  	assert.Nil(t, err)
    93  	assert.Equal(t, `"abc"dddd`, v)
    94  }
    95  
    96  func TestExpressionSingleSingleQuote(t *testing.T) {
    97  	fun, err := expression.ParseExpression(`string.concat('\'b\'ac\'', "dddd")`)
    98  	assert.Nil(t, err)
    99  	assert.NotNil(t, fun)
   100  	v, err := fun.Eval()
   101  	assert.Nil(t, err)
   102  	assert.Equal(t, `'b'ac'dddd`, v)
   103  }