#!/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}.csv" ๐Ÿ”ฃ,code,meaning ๐Ÿ‡,1F347,GRAPES ๐Ÿ‰,1F349,WATERMELON ๐Ÿ’,1F352,CHERRIES ๐Ÿ“,1F353,STRAWBERRY ๐Ÿ,1F34D,PINEAPPLE DATA # ================================= ASSERTION ================================ # cat << "DATA" > "tmp/${t}/${t}.assert" { "emojis" : [ { "symbol" : "๐Ÿ", "meaning" : "PINEAPPLE" } ] } DATA # ================================== ACTION ================================== # ${cmd} --create "tmp/${t}/${t}.csv" ${cmd} --export "${t}" \ --prefix '{ "emojis" : [ ' \ --template ' { "symbol" : {{jsonize(with(row.columnNames[0],cn,cells[cn].value))}}, "meaning" : {{jsonize(cells["meaning"].value)}} }' \ --rowSeparator ', ' \ --suffix ' ] } ' \ --splitToFiles true \ --suffixById true \ --output "tmp/${t}/trรกi cรขy.json" # =================================== TEST =================================== # diff -u "tmp/${t}/${t}.assert" "tmp/${t}/trรกi cรขy_๐Ÿ.json"