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 }