Feat: Sort Discussions by File Name (#102)
This MR adds the ability to sort discussions by file name, rather than just by date. This is an optional configuration that can be passed in on startup. The MR also introduces a test suite for the Lua code that runs through Neovim, so that the plugin can be fully tested with required dependencies and APIs. Major props to @johnybx for the hard work on this change!
This commit is contained in:
59
lua-test.sh
Executable file
59
lua-test.sh
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Setup and run tests for lua part of gitlab.nvim.
|
||||
#
|
||||
# In order to run tests you need to have `luarocks` and `git` installed. This script will check if
|
||||
# environment is already setup, if not it will initialize current directory with `luarocks`,
|
||||
# install `busted` framework and download plugin dependencies.
|
||||
#
|
||||
#
|
||||
set -e
|
||||
|
||||
LUA_VERSION="5.1"
|
||||
PLUGINS_FOLDER="tests/plugins"
|
||||
PLUGINS=(
|
||||
"https://github.com/MunifTanjim/nui.nvim"
|
||||
"https://github.com/nvim-lua/plenary.nvim"
|
||||
"https://github.com/sindrets/diffview.nvim"
|
||||
)
|
||||
|
||||
if ! command -v luarocks > /dev/null 2>&1; then
|
||||
echo "You need to have luarocks installed in order to run tests."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v git > /dev/null 2>&1; then
|
||||
echo "You need to have git installed in order to run tests."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! luarocks --lua-version=$LUA_VERSION which busted > /dev/null 2>&1; then
|
||||
echo "Installing busted."
|
||||
luarocks init
|
||||
luarocks config --scope project lua_version "$LUA_VERSION"
|
||||
luarocks install --lua-version="$LUA_VERSION" busted
|
||||
fi
|
||||
|
||||
for arg in "$@"; do
|
||||
if [[ $arg =~ "--coverage" ]] && ! luarocks --lua-version=$LUA_VERSION which luacov > /dev/null 2>&1; then
|
||||
luarocks install --lua-version="$LUA_VERSION" luacov
|
||||
# lcov reporter for luacov - lcov format is supported by `nvim-coverage`
|
||||
luarocks install --lua-version="$LUA_VERSION" luacov-reporter-lcov
|
||||
fi
|
||||
done
|
||||
|
||||
for plugin in "${PLUGINS[@]}"; do
|
||||
plugin_name=${plugin##*/}
|
||||
plugin_folder="$PLUGINS_FOLDER/$plugin_name"
|
||||
|
||||
# Check if plugin was already downloaded
|
||||
if [[ -d "$plugin_folder/.git" ]]; then
|
||||
# We could also try to pull here but I am not sure if that wouldn't slow down tests too much.
|
||||
continue
|
||||
fi
|
||||
|
||||
git clone --depth 1 "$plugin" "$plugin_folder"
|
||||
|
||||
done
|
||||
|
||||
nvim -u NONE -U NONE -N -i NONE -l tests/init.lua "$@"
|
||||
Reference in New Issue
Block a user