github.com/TIBCOSoftware/flogo-lib@v0.5.9/util/utils_test.go (about)

     1  package util
     2  
     3  import (
     4  	"github.com/stretchr/testify/assert"
     5  	"testing"
     6  )
     7  
     8  func TestParseKeyValuePairs(t *testing.T) {
     9  
    10  	//value with quotes and ,
    11  	m := ParseKeyValuePairs(`name="select id, name , ssss",val=ddd`)
    12  	assert.Equal(t, "select id, name , ssss", m["name"])
    13  	assert.Equal(t, "ddd", m["val"])
    14  
    15  	//value with =
    16  	m = ParseKeyValuePairs(`name="dddd",val="ddd"`)
    17  	assert.Equal(t, "dddd", m["name"])
    18  	assert.Equal(t, "ddd", m["val"])
    19  
    20  	m = ParseKeyValuePairs(`name="name=v",val="select=v"`)
    21  
    22  	assert.Equal(t, "name=v", m["name"])
    23  	assert.Equal(t, "select=v", m["val"])
    24  
    25  	m = ParseKeyValuePairs(`name=select name=name,val=select`)
    26  
    27  	assert.Equal(t, "select name=name", m["name"])
    28  	assert.Equal(t, "select", m["val"])
    29  
    30  	m = ParseKeyValuePairs(`name=select name,name,val=select=n`)
    31  
    32  	assert.NotEqual(t, "select name=name", m["name"])
    33  	assert.NotEqual(t, "select=n", m["val"])
    34  
    35  	//Space
    36  	m = ParseKeyValuePairs(`na me = select name=name,va l = select`)
    37  
    38  	assert.Equal(t, "select name=name", m["na me"])
    39  	assert.Equal(t, "select", m["va l"])
    40  
    41  	//Empty value
    42  	m = ParseKeyValuePairs(`MyPassword=SECRET:sjsjsjsjsjsarebbxmooensgajkakap/hsjsjsjks==,MyVal=test`)
    43  
    44  	assert.Equal(t, "SECRET:sjsjsjsjsjsarebbxmooensgajkakap/hsjsjsjks==", m["MyPassword"])
    45  	assert.Equal(t, "test", m["MyVal"])
    46  
    47  }