--- test case: 'empty input parameters' in: xml: '' xpath: '' out: result: '' return: 'FAIL' --- test case: 'single start tag' in: xml: '' xpath: '' out: result: '' return: 'FAIL' --- test case: 'single end tag' in: xml: '' xpath: '' out: result: '' return: 'FAIL' --- test case: 'wrong operation format' in: xml: '' xpath: '/a[\' out: result: '' return: 'FAIL' --- test case: 'wrong operation expression' in: xml: '' xpath: '1 div 0' out: result: '' return: 'FAIL' --- test case: 'wrong operation format 2' in: xml: '' xpath: '-a' out: result: '' return: 'FAIL' --- test case: 'empty output' in: xml: '' xpath: '/b' out: result: '' return: 'SUCCEED' --- test case: 'successful expression' in: xml: '' xpath: '3 div 2' out: result: '1.5' return: 'SUCCEED' --- test case: 'return end tag' in: xml: '' xpath: '/a' out: result: '' return: 'SUCCEED' --- test case: 'return text' in: xml: '1' xpath: '/a/text()' out: result: '1' return: 'SUCCEED' --- test case: 'return string' in: xml: '1' xpath: 'string(/a)' out: result: '1' return: 'SUCCEED' --- test case: 'return attribute' in: xml: '1' xpath: 'string(/a/@b)' out: result: '10' return: 'SUCCEED' --- test case: 'return pattern' in: xml: '' xpath: '//*[@x="1"]' out: result: '' return: 'SUCCEED' ...