trim::[ { name:"trim valid cases{spec:\"both\",to_remove:\"\\U0001f4a9\",target:\"\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f601\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f4a9\",result:\"\\U0001f601\"}", statement:"trim(both 'πŸ’©' from 'πŸ’©πŸ’©πŸ’©πŸ’©πŸ˜πŸ’©πŸ’©πŸ’©πŸ’©')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"😁" } }, { name:"trim valid cases{spec:\"leading\",to_remove:\"\\U0001f4a9\",target:\"\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f601\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f4a9\",result:\"\\U0001f601\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f4a9\"}", statement:"trim(leading 'πŸ’©' from 'πŸ’©πŸ’©πŸ’©πŸ’©πŸ˜πŸ’©πŸ’©πŸ’©πŸ’©')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"πŸ˜πŸ’©πŸ’©πŸ’©πŸ’©" } }, { name:"trim valid cases{spec:\"trailing\",to_remove:\"\\U0001f4a9\",target:\"\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f601\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f4a9\",result:\"\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f601\"}", statement:"trim(trailing 'πŸ’©' from 'πŸ’©πŸ’©πŸ’©πŸ’©πŸ˜πŸ’©πŸ’©πŸ’©πŸ’©')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"πŸ’©πŸ’©πŸ’©πŸ’©πŸ˜" } }, { name:"trim valid cases{spec:\"both\",to_remove:\"12\",target:\"111112a1212121211\",result:\"a\"}", statement:"trim(both '12' from '111112a1212121211')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"a" } }, { name:"trim valid cases{spec:\"leading\",to_remove:\"12\",target:\"111112a1212121211\",result:\"a1212121211\"}", statement:"trim(leading '12' from '111112a1212121211')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"a1212121211" } }, { name:"trim valid cases{spec:\"trailing\",to_remove:\"12\",target:\"111112a1212121211\",result:\"111112a\"}", statement:"trim(trailing '12' from '111112a1212121211')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"111112a" } }, { name:"trim valid cases{spec:\"both\",to_remove:\"\\U0001f4a9\\U0001f638\",target:\"\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638a\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638\",result:\"1\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638a\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\"}", statement:"trim(both 'πŸ’©πŸ˜Έ' from 'πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜ΈaπŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜ΈaπŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1" } }, { name:"trim valid cases{spec:\"leading\",to_remove:\"\\U0001f4a9\\U0001f638\",target:\"\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638a\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638\",result:\"1\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638a\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638\"}", statement:"trim(leading 'πŸ’©πŸ˜Έ' from 'πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜ΈaπŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜ΈaπŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ" } }, { name:"trim valid cases{spec:\"trailing\",to_remove:\"\\U0001f4a9\\U0001f638\",target:\"\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638a\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638\",result:\"\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f638a\\U0001f4a9\\U0001f4a9\\U0001f4a9\\U0001f638\\U0001f638\\U0001f6381\"}", statement:"trim(trailing 'πŸ’©πŸ˜Έ' from 'πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜ΈaπŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1πŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜ΈaπŸ’©πŸ’©πŸ’©πŸ˜ΈπŸ˜ΈπŸ˜Έ1" } }, { name:"trim valid cases{spec:\"both\",to_remove:\"\\u8a71 \",target:\"\\u8a71\\u8a71 \\u8a71\\u8a71\\u8a71\\u8a71\\u8a71\\u8a71\\u8cbb\\u8c37\\u6599\\u6751\\u80fd\\u8a71\\u8a71\\u8a71\\u8a71 \\u8a71\\u8a71\\u8a71\\u8a71 \",result:\"\\u8cbb\\u8c37\\u6599\\u6751\\u80fd\"}", statement:"trim(both 'θ©± ' from 'θ©±θ©± 話話話話話話費谷料村能話話話話 θ©±θ©±θ©±θ©± ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"費谷料村能" } }, { name:"trim valid cases{spec:\"leading\",to_remove:\"\\u8a71 \",target:\"\\u8a71\\u8a71 \\u8a71\\u8a71\\u8a71\\u8a71\\u8a71\\u8a71\\u8cbb\\u8c37\\u6599\\u6751\\u80fd\\u8a71\\u8a71\\u8a71\\u8a71 \\u8a71\\u8a71\\u8a71\\u8a71 \",result:\"\\u8cbb\\u8c37\\u6599\\u6751\\u80fd\\u8a71\\u8a71\\u8a71\\u8a71 \\u8a71\\u8a71\\u8a71\\u8a71 \"}", statement:"trim(leading 'θ©± ' from 'θ©±θ©± 話話話話話話費谷料村能話話話話 θ©±θ©±θ©±θ©± ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"費谷料村能話話話話 θ©±θ©±θ©±θ©± " } }, { name:"trim valid cases{spec:\"trailing\",to_remove:\"\\u8a71 \",target:\"\\u8a71\\u8a71 \\u8a71\\u8a71\\u8a71\\u8a71\\u8a71\\u8a71\\u8cbb\\u8c37\\u6599\\u6751\\u80fd\\u8a71\\u8a71\\u8a71\\u8a71 \\u8a71\\u8a71\\u8a71\\u8a71 \",result:\"\\u8a71\\u8a71 \\u8a71\\u8a71\\u8a71\\u8a71\\u8a71\\u8a71\\u8cbb\\u8c37\\u6599\\u6751\\u80fd\"}", statement:"trim(trailing 'θ©± ' from 'θ©±θ©± 話話話話話話費谷料村能話話話話 θ©±θ©±θ©±θ©± ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"θ©±θ©± 話話話話話話費谷料村能" } }, { name:"trim valid cases{spec:\"both\",to_remove:\"\\xb0\\xba\\u25a1(\\uff09)\\u256f\\u30ce\\ufe35_ \",target:\"(\\u256f\\xb0\\u25a1\\xb0\\uff09\\u256f\\ufe35 \\u253b\\u2501\\u253b \\u252c\\u2500\\u252c\\u30ce( \\xba _ \\xba\\u30ce)\",result:\"\\u253b\\u2501\\u253b \\u252c\\u2500\\u252c\"}", statement:"trim(both '°º░(οΌ‰)β•―γƒŽοΈ΅_ ' from '(β•―Β°β–‘Β°οΌ‰β•―οΈ΅ ┻━┻ β”¬β”€β”¬γƒŽ( ΒΊ _ ΒΊγƒŽ)')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"┻━┻ ┬─┬" } }, { name:"trim valid cases{spec:\"leading\",to_remove:\"\\xb0\\xba\\u25a1(\\uff09)\\u256f\\u30ce\\ufe35_ \",target:\"(\\u256f\\xb0\\u25a1\\xb0\\uff09\\u256f\\ufe35 \\u253b\\u2501\\u253b \\u252c\\u2500\\u252c\\u30ce( \\xba _ \\xba\\u30ce)\",result:\"\\u253b\\u2501\\u253b \\u252c\\u2500\\u252c\\u30ce( \\xba _ \\xba\\u30ce)\"}", statement:"trim(leading '°º░(οΌ‰)β•―γƒŽοΈ΅_ ' from '(β•―Β°β–‘Β°οΌ‰β•―οΈ΅ ┻━┻ β”¬β”€β”¬γƒŽ( ΒΊ _ ΒΊγƒŽ)')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"┻━┻ β”¬β”€β”¬γƒŽ( ΒΊ _ ΒΊγƒŽ)" } }, { name:"trim valid cases{spec:\"trailing\",to_remove:\"\\xb0\\xba\\u25a1(\\uff09)\\u256f\\u30ce\\ufe35_ \",target:\"(\\u256f\\xb0\\u25a1\\xb0\\uff09\\u256f\\ufe35 \\u253b\\u2501\\u253b \\u252c\\u2500\\u252c\\u30ce( \\xba _ \\xba\\u30ce)\",result:\"(\\u256f\\xb0\\u25a1\\xb0\\uff09\\u256f\\ufe35 \\u253b\\u2501\\u253b \\u252c\\u2500\\u252c\"}", statement:"trim(trailing '°º░(οΌ‰)β•―γƒŽοΈ΅_ ' from '(β•―Β°β–‘Β°οΌ‰β•―οΈ΅ ┻━┻ β”¬β”€β”¬γƒŽ( ΒΊ _ ΒΊγƒŽ)')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"(β•―Β°β–‘Β°οΌ‰β•―οΈ΅ ┻━┻ ┬─┬" } }, { name:"trim valid cases{spec:\"both\",to_remove:\"\\U0001f476\\U0001f3fb\",target:\"\\U0001f476\\U0001f3fb\\U0001f469\\U0001f476\\U0001f3fb\",result:\"\\U0001f469\"}", statement:"trim(both 'πŸ‘ΆπŸ»' from 'πŸ‘ΆπŸ»πŸ‘©πŸ‘ΆπŸ»')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"πŸ‘©" } }, { name:"trim valid cases{spec:\"leading\",to_remove:\"\\U0001f476\\U0001f3fb\",target:\"\\U0001f476\\U0001f3fb\\U0001f469\\U0001f476\\U0001f3fb\",result:\"\\U0001f469\\U0001f476\\U0001f3fb\"}", statement:"trim(leading 'πŸ‘ΆπŸ»' from 'πŸ‘ΆπŸ»πŸ‘©πŸ‘ΆπŸ»')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"πŸ‘©πŸ‘ΆπŸ»" } }, { name:"trim valid cases{spec:\"trailing\",to_remove:\"\\U0001f476\\U0001f3fb\",target:\"\\U0001f476\\U0001f3fb\\U0001f469\\U0001f476\\U0001f3fb\",result:\"\\U0001f476\\U0001f3fb\\U0001f469\"}", statement:"trim(trailing 'πŸ‘ΆπŸ»' from 'πŸ‘ΆπŸ»πŸ‘©πŸ‘ΆπŸ»')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"πŸ‘ΆπŸ»πŸ‘©" } }, { name:"trim valid cases{spec:\"both\",to_remove:\" \",target:\" \",result:\"\"}", statement:"trim(both ' ' from ' ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"" } }, { name:"trim valid cases{spec:\"leading\",to_remove:\" \",target:\" \",result:\"\"}", statement:"trim(leading ' ' from ' ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"" } }, { name:"trim valid cases{spec:\"trailing\",to_remove:\" \",target:\" \",result:\"\"}", statement:"trim(trailing ' ' from ' ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"" } }, { name:"trim variations on valid syntax{sql:\"trim(' foobar ')\"}", statement:"trim(' foobar ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"foobar" } }, { name:"trim variations on valid syntax{sql:\"trim(from ' foobar ')\"}", statement:"trim(from ' foobar ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"foobar" } }, { name:"trim variations on valid syntax{sql:\"trim(both from ' foobar ')\"}", statement:"trim(both from ' foobar ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"foobar" } }, { name:"trim variations on valid syntax{sql:\"trim(both ' ' from ' foobar ')\"}", statement:"trim(both ' ' from ' foobar ')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"foobar" } }, { name:"trim variations on valid syntax{sql:\"trim('12' from '1212foobar1212')\"}", statement:"trim('12' from '1212foobar1212')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"foobar" } }, { name:"trim variations on valid syntax{sql:\"trim('12' from 'foobar1212')\"}", statement:"trim('12' from 'foobar1212')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"foobar" } }, { name:"trim variations on valid syntax{sql:\"trim('12' from '1212foobar')\"}", statement:"trim('12' from '1212foobar')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:"foobar" } }, { name:"trim null and missing propagation{sql:\"trim(null)\"}", statement:"trim(null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(missing)\"}", statement:"trim(missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(leading from null)\"}", statement:"trim(leading from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(trailing from null)\"}", statement:"trim(trailing from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(both from null)\"}", statement:"trim(both from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(leading from missing)\"}", statement:"trim(leading from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(trailing from missing)\"}", statement:"trim(trailing from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(both from missing)\"}", statement:"trim(both from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(leading '' from null)\"}", statement:"trim(leading '' from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(trailing '' from null)\"}", statement:"trim(trailing '' from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(both '' from null)\"}", statement:"trim(both '' from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(leading '' from missing)\"}", statement:"trim(leading '' from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(trailing '' from missing)\"}", statement:"trim(trailing '' from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(both '' from missing)\"}", statement:"trim(both '' from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(leading null from '')\"}", statement:"trim(leading null from '')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(trailing null from '')\"}", statement:"trim(trailing null from '')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(both null from '')\"}", statement:"trim(both null from '')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(leading missing from '')\"}", statement:"trim(leading missing from '')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(trailing missing from '')\"}", statement:"trim(trailing missing from '')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(both missing from '')\"}", statement:"trim(both missing from '')", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(leading null from missing)\"}", statement:"trim(leading null from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(trailing null from missing)\"}", statement:"trim(trailing null from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(both null from missing)\"}", statement:"trim(both null from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(leading missing from null)\"}", statement:"trim(leading missing from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(trailing missing from null)\"}", statement:"trim(trailing missing from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(both missing from null)\"}", statement:"trim(both missing from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(leading null from null)\"}", statement:"trim(leading null from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(trailing null from null)\"}", statement:"trim(trailing null from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(both null from null)\"}", statement:"trim(both null from null)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:null } }, { name:"trim null and missing propagation{sql:\"trim(leading missing from missing)\"}", statement:"trim(leading missing from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(trailing missing from missing)\"}", statement:"trim(trailing missing from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } }, { name:"trim null and missing propagation{sql:\"trim(both missing from missing)\"}", statement:"trim(both missing from missing)", assert:{ result:EvaluationSuccess, evalMode:[ EvalModeCoerce, EvalModeError ], output:$missing::null } } ]