diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 871b8c6..2b1982d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,17 +5,27 @@ on: jobs: tests: - runs-on: ubuntu-latest + strategy: + matrix: + # os: [ubuntu-latest, windows-latest] + os: [ubuntu-latest] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Install Neovim + shell: bash run: | - wget -q https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.deb -O /tmp/nvim.deb - sudo dpkg -i /tmp/nvim.deb + if [ "$RUNNER_OS" == "Linux" ]; then + wget -q https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.deb -O /tmp/nvim.deb + sudo dpkg -i /tmp/nvim.deb + else + choco install neovim --pre + echo "C:/tools/neovim/nvim-win64/bin" >> $GITHUB_PATH + fi - name: Run Tests run: | nvim --version - ./tests/run + nvim --headless -u tests/init.lua -c "PlenaryBustedDirectory tests// {minimal_init = 'tests//init.lua', sequential = true}" docs: runs-on: ubuntu-latest needs: tests diff --git a/tests/core/e2e_spec.lua b/tests/core/e2e_spec.lua new file mode 100644 index 0000000..db59155 --- /dev/null +++ b/tests/core/e2e_spec.lua @@ -0,0 +1,35 @@ +describe("lazy", function() + before_each(function() + vim.g.lazy_did_setup = false + vim.go.loadplugins = true + for modname in pairs(package.loaded) do + if modname:find("lazy") == 1 then + package.loaded[modname] = nil + end + end + end) + + local root = ".tests/data/nvim/lazy" + + it("installs plugins", function() + local Lazy = require("lazy") + local Config = require("lazy.core.config") + + local neodev = false + Lazy.setup({ + { + "folke/neodev.nvim", + config = function() + neodev = true + end, + }, + "folke/paint.nvim", + }, { install_missing = true, defaults = { lazy = true } }) + assert(3 == vim.tbl_count(Config.plugins)) + assert(vim.loop.fs_stat(root .. "/paint.nvim/README.md")) + assert(vim.loop.fs_stat(root .. "/neodev.nvim/README.md")) + assert(not neodev) + assert(Config.plugins["neodev.nvim"]._.installed) + assert(not Config.plugins["neodev.nvim"]._.is_local) + end) +end) diff --git a/tests/run b/tests/run index f37e539..412d7b5 100755 --- a/tests/run +++ b/tests/run @@ -1,3 +1,3 @@ #!/bin/sh -nvim --headless -u tests/init.lua -c "PlenaryBustedDirectory tests/ {minimal_init = 'tests/init.lua', sequential = true}" +nvim --headless -u tests/init.lua -c "PlenaryBustedDirectory tests {minimal_init = 'tests//init.lua', sequential = true}"