mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
local helpers = require('test.functional.helpers')(after_each)
 | 
						|
local plugin_helpers = require('test.functional.plugin.helpers')
 | 
						|
 | 
						|
local command = helpers.command
 | 
						|
 | 
						|
describe('health.vim', function()
 | 
						|
  before_each(function()
 | 
						|
    plugin_helpers.reset()
 | 
						|
    -- Provides functions:
 | 
						|
    --    health#broken#check()
 | 
						|
    --    health#success1#check()
 | 
						|
    --    health#success2#check()
 | 
						|
    command("set runtimepath+=test/functional/fixtures")
 | 
						|
  end)
 | 
						|
 | 
						|
  it("reports", function()
 | 
						|
    helpers.source([[
 | 
						|
      let g:health_report = execute([
 | 
						|
        \ "call health#report_start('Check Bar')",
 | 
						|
        \ "call health#report_ok('Bar status')",
 | 
						|
        \ "call health#report_ok('Other Bar status')",
 | 
						|
        \ "call health#report_warn('Zub')",
 | 
						|
        \ "call health#report_start('Baz')",
 | 
						|
        \ "call health#report_warn('Zim', ['suggestion 1', 'suggestion 2'])"
 | 
						|
        \ ])
 | 
						|
    ]])
 | 
						|
    local result = helpers.eval("g:health_report")
 | 
						|
 | 
						|
    helpers.eq(helpers.dedent([[
 | 
						|
 | 
						|
 | 
						|
      ## Check Bar
 | 
						|
        - SUCCESS: Bar status
 | 
						|
        - SUCCESS: Other Bar status
 | 
						|
        - WARNING: Zub
 | 
						|
 | 
						|
      ## Baz
 | 
						|
        - WARNING: Zim
 | 
						|
          - SUGGESTIONS:
 | 
						|
            - suggestion 1
 | 
						|
            - suggestion 2]]),
 | 
						|
      result)
 | 
						|
  end)
 | 
						|
 | 
						|
 | 
						|
  describe(":CheckHealth", function()
 | 
						|
    it("concatenates multiple reports", function()
 | 
						|
      command("CheckHealth success1 success2")
 | 
						|
      helpers.expect([[
 | 
						|
 | 
						|
        health#success1#check
 | 
						|
        ========================================================================
 | 
						|
        ## report 1
 | 
						|
          - SUCCESS: everything is fine
 | 
						|
 | 
						|
        ## report 2
 | 
						|
          - SUCCESS: nothing to see here
 | 
						|
 | 
						|
        health#success2#check
 | 
						|
        ========================================================================
 | 
						|
        ## another 1
 | 
						|
          - SUCCESS: ok
 | 
						|
        ]])
 | 
						|
    end)
 | 
						|
 | 
						|
    it("gracefully handles broken healthcheck", function()
 | 
						|
      command("CheckHealth broken")
 | 
						|
      helpers.expect([[
 | 
						|
 | 
						|
        health#broken#check
 | 
						|
        ========================================================================
 | 
						|
          - ERROR: Failed to run healthcheck for "broken" plugin. Exception:
 | 
						|
            function health#check[21]..health#broken#check, line 1
 | 
						|
            caused an error
 | 
						|
        ]])
 | 
						|
    end)
 | 
						|
 | 
						|
    it("gracefully handles invalid healthcheck", function()
 | 
						|
      command("CheckHealth non_existent_healthcheck")
 | 
						|
      helpers.expect([[
 | 
						|
 | 
						|
        health#non_existent_healthcheck#check
 | 
						|
        ========================================================================
 | 
						|
          - ERROR: No healthcheck found for "non_existent_healthcheck" plugin.
 | 
						|
        ]])
 | 
						|
    end)
 | 
						|
  end)
 | 
						|
end)
 |