mirror of
https://github.com/Dushistov/sdcv.git
synced 2025-12-15 09:21:55 +00:00
33 lines
1.0 KiB
Bash
Executable File
33 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
SDCV="$1"
|
|
TEST_DIR="$2"
|
|
|
|
unset SDCV_PAGER
|
|
unset STARDICT_DATA_DIR
|
|
|
|
test_json() {
|
|
EXPECTED=$(echo "$1" | jq 'sort')
|
|
shift
|
|
RESULT=$($SDCV "$@" | jq 'sort')
|
|
if [ "$EXPECTED" != "$RESULT" ]; then
|
|
echo "expected $EXPECTED but got $RESULT"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
test_json '[{"name": "Russian-English Dictionary (ru-en)", "wordcount": "415144"},
|
|
{"name": "Test synonyms", "wordcount": "2"},
|
|
{"name": "Test multiple results", "wordcount": "246"},
|
|
{"name": "Sample 1 test dictionary", "wordcount": "1"},
|
|
{"name": "test_dict", "wordcount": "1"}]' -x -j -l -n --data-dir "$TEST_DIR"
|
|
test_json '[{"dict": "Test synonyms","word":"test","definition":"\u000aresult of test"}]' -x -j -n --data-dir "$TEST_DIR" foo
|
|
test_json '[]' -x -j -n --data-dir "$TEST_DIR" foobarbaaz
|
|
|
|
# Test multiple searches, with the first failing.
|
|
test_json '[][{"dict": "Test synonyms","word":"test","definition":"\u000aresult of test"}]' -x -j -n --data-dir "$TEST_DIR" foobarbaaz foo
|
|
|
|
exit 0
|