--- test case: simple replacement short value with longer value in: data: 't t t ' params: '"t","long"' out: value: 'long long long ' return: SUCCEED --- test case: simple replacement long value with shorter value in: data: 'longvalue longvalue123 -longvalue' params: '"longvalue","short"' out: value: 'short short123 -short' return: SUCCEED --- test case: one parameter in: data: 'ABCabc123' params: '"1"' out: value: '' return: FAIL --- test case: two parameters in: data: 'ABC123 ABC' params: '"([A-Z]+)([0-9]+)","---"' out: value: '--- ABC' return: SUCCEED --- test case: three parameters in: data: 'ABCabc123' params: '"1","2","3"' out: value: '' return: FAIL --- test case: four parameters in: data: 'ABC123 ABC' params: '"([A-Z]+)([0-9]+)","---","([A-Z]+)","!!!"' out: value: '--- !!!' return: SUCCEED --- test case: five parameters in: data: 'ABCabc123' params: '"1","2","3","4","5"' out: value: '' return: FAIL --- test case: six parameters in: data: 'ABC123 ABC 123' params: '"([A-Z]+)([0-9]+)","321","([A-Z]+)","!!!","([0-9]+)","+++"' out: value: '+++ !!! +++' return: SUCCEED --- test case: seven parameters in: data: 'ABCabc123' params: '"1","2","3","4","5","6","7"' out: value: '' return: FAIL --- test case: eight parameters in: data: 'ABC123 ABC 123' params: '"([A-Z]+)([0-9]+)","321","([A-Z]+)","!!!","([0-9]+)","+++","!!!","stop"' out: value: '+++ stop +++' return: SUCCEED --- test case: nine parameters in: data: 'ABCabc123' params: '"1","2","3","4","5","6","7","8","9"' out: value: '' return: FAIL --- test case: ten parameters in: data: 'ABC123 ABC 123' params: '"([A-Z]+)([0-9]+)","321","([A-Z]+)","!!!","([0-9]+)","+++","!!!","stop","stop","end"' out: value: '+++ end +++' return: SUCCEED --- test case: replacement with 1st group in: data: 'ABC123 ABC 123' params: '"([A-Z]+)([0-9]+)","\1"' out: value: 'ABC ABC 123' return: SUCCEED --- test case: replacement with 2d group in: data: 'ABC123 ABC 123' params: '"([A-Z]+)([0-9]+)","\2"' out: value: '123 ABC 123' return: SUCCEED --- test case: replace first accurance in: data: '123Log line test657' params: '^[0-9]+,Problem' out: value: 'ProblemLog line test657' return: SUCCEED --- test case: replace first accurance as group in: data: '123 Log line test657' params: '"^([0-9]+)",Problem' out: value: 'Problem Log line test657' return: SUCCEED --- test case: replace first accurance with pattern including group in: data: '123 Log line' params: '"^([0-9]+)",Problem ID: \1' out: value: 'Problem ID: 123 Log line' return: SUCCEED --- test case: replace all string in: data: 'Log line' params: '".*","Problem ID: \1"' out: value: 'Problem ID: ' return: SUCCEED --- test case: replace 2 matches using 2 groups in: data: 'MySQL crashed errno 123 ORACLE not supported 0' params: '"(\w+).*?([0-9]+)","Problem ID: \1_\2"' out: value: 'Problem ID: MySQL_123 Problem ID: ORACLE_0' return: SUCCEED --- test case: invalid regular expression in: data: 'Log line' params: '"([1-9]+","Problem ID: \1"' out: value: '' return: FAIL --- test case: only first group in: data: 'customername_1' params: '"(.*)_([0-9]+)","\1"' out: value: 'customername' return: SUCCEED --- test case: replace with empty value in: data: 't t t t' params: 't,""' out: value: ' ' return: SUCCEED --- test case: empty regular expression "" in: data: 'customername_1' params: '"",""' out: value: 'customername_1' return: SUCCEED --- test case: empty data in: data: '' params: '"[0-9]+","1"' out: value: '' return: SUCCEED --- test case: replace with escaped backslash in: data: 'customername_1' params: '"(.*)_([0-9]+)",\\' out: value: '\' return: SUCCEED --- test case: empty regular expression in: data: 'customername_1' params: ',a' out: value: 'customername_1' return: SUCCEED --- test case: empty regular expression and empty data in: data: '' params: ',a' out: value: '' return: SUCCEED --- test case: replace empty data in: data: '' params: '.*,@' out: value: '@' return: SUCCEED --- test case: insertion test in: data: '0tttttt1234aaaaa5' params: '"(?=[0123456789])",A' out: value: 'A0ttttttA1A2A3A4aaaaaA5' return: SUCCEED --- test case: replace end of string in: data: '12345' params: '$,@' out: value: '12345@' return: SUCCEED --- test case: output overflow in: data: 't t t ' params: '.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0,.*,\0\0\0' out: value: '' return: FAIL ...