2021-01-02 17:02:39 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# =============================== ENVIRONMENT ================================ #
|
|
|
|
|
|
|
|
if [[ ${1} ]]; then
|
|
|
|
cmd="${1}"
|
|
|
|
else
|
|
|
|
echo 1>&2 "execute tests-cli.sh to run all tests"; exit 1
|
|
|
|
fi
|
|
|
|
if [[ ${2} ]]; then
|
|
|
|
version="${2}"
|
|
|
|
fi
|
|
|
|
|
|
|
|
t="$(basename "${BASH_SOURCE[0]}" .sh)"
|
|
|
|
cd "${BASH_SOURCE%/*}/" || exit 1
|
|
|
|
mkdir -p "tmp/${t}"
|
|
|
|
|
|
|
|
# =================================== DATA =================================== #
|
|
|
|
|
|
|
|
cat << "DATA" > "tmp/${t}/${t}.json"
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"a": 1,
|
|
|
|
"b": 2,
|
|
|
|
"c": 3
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"a": "0",
|
|
|
|
"b": " 0",
|
|
|
|
"c": "0 "
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"a": "$",
|
|
|
|
"b": "\\",
|
|
|
|
"c": "\""
|
|
|
|
}
|
|
|
|
]
|
|
|
|
DATA
|
|
|
|
|
|
|
|
# ================================= ASSERTION ================================ #
|
|
|
|
|
|
|
|
if [[ "${version:0:1}" = "2" || "${version}" = "3.0" || "${version}" = "3.1" || "${version}" = "3.2" || "${version}" = "3.3" ]]; then
|
|
|
|
echo "trimStrings option does not work in OpenRefine <=3.3"
|
|
|
|
echo "https://github.com/OpenRefine/OpenRefine/issues/2409"
|
|
|
|
exit 200
|
|
|
|
else
|
|
|
|
cat << "DATA" > "tmp/${t}/${t}.assert"
|
|
|
|
_ - a _ - b _ - c
|
|
|
|
1 2 3
|
|
|
|
0 0 0
|
|
|
|
$ \ """"
|
|
|
|
DATA
|
|
|
|
fi
|
|
|
|
|
|
|
|
# ================================== ACTION ================================== #
|
|
|
|
|
2021-01-04 14:19:51 +01:00
|
|
|
${cmd} --create "tmp/${t}/${t}.json" --trimStrings "true"
|
2021-01-02 17:02:39 +01:00
|
|
|
${cmd} --export "${t}" --output "tmp/${t}/${t}.output"
|
|
|
|
|
|
|
|
# =================================== TEST =================================== #
|
|
|
|
|
|
|
|
diff -u "tmp/${t}/${t}.assert" "tmp/${t}/${t}.output"
|