mirror of
https://github.com/Dushistov/sdcv.git
synced 2025-12-15 17:31:56 +00:00
Make sure we return all of the relevant results, even in cases with lots of results (larger than ENTR_PER_PAGE in the offset index) and where you have a synyonym and headword present for the same word. Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
32 lines
965 B
Bash
Executable File
32 lines
965 B
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": "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
|