#!/bin/bash # =============================== ENVIRONMENT ================================ # if [[ ${1} ]]; then cmd="${1}" else echo 1>&2 "execute tests.sh to run all tests"; exit 1 fi t="$(basename "${BASH_SOURCE[0]}" .sh)" cd "${BASH_SOURCE%/*}/" || exit 1 mkdir -p "tmp/${t}" # =================================== DATA =================================== # cat << "DATA" > "tmp/${t}/${t}.txt" ⛲ 1F347 FOUNTAIN ⛳ 1F349 FLAG IN HOLE ⛵ 1F352 SAILBOAT DATA cat << "DATA" > "tmp/${t}/${t}.transform" [ { "op": "core/text-transform", "engineConfig": { "facets": [], "mode": "row-based" }, "columnName": "Column 1", "expression": "grel:value.trim()", "onError": "keep-original", "repeat": false, "repeatCount": 10 }, { "op": "core/text-transform", "engineConfig": { "facets": [], "mode": "row-based" }, "columnName": "Column 2", "expression": "grel:value.trim()", "onError": "keep-original", "repeat": false, "repeatCount": 10 }, { "op": "core/text-transform", "engineConfig": { "facets": [], "mode": "row-based" }, "columnName": "Column 3", "expression": "grel:value.trim()", "onError": "keep-original", "repeat": false, "repeatCount": 10 } ] DATA # ================================= ASSERTION ================================ # cat << "DATA" > "tmp/${t}/${t}.assert" Column 1 Column 2 Column 3 ⛲ 1F347 FOUNTAIN ⛳ 1F349 FLAG IN HOLE ⛵ 1F352 SAILBOAT DATA # ================================== ACTION ================================== # ${cmd} --create "tmp/${t}/${t}.txt" --columnWidths "6" --columnWidths "6" --columnWidths "60" ${cmd} --apply "tmp/${t}/${t}.transform" "${t}" ${cmd} --export "${t}" --output "tmp/${t}/${t}.output" # =================================== TEST =================================== # diff -u "tmp/${t}/${t}.assert" "tmp/${t}/${t}.output"