X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/0ee596c5c5e11fc79598407eaf22f83d279f7e9e..5a4872f466ebd76ddd532bdf2798554421c53df4:/.vim/bundle/ale/test/handler/test_steep_handler.vader diff --git a/.vim/bundle/ale/test/handler/test_steep_handler.vader b/.vim/bundle/ale/test/handler/test_steep_handler.vader new file mode 100644 index 00000000..98875229 --- /dev/null +++ b/.vim/bundle/ale/test/handler/test_steep_handler.vader @@ -0,0 +1,100 @@ +Before: + runtime ale_linters/ruby/steep.vim + +After: + call ale#linter#Reset() + +Execute(The steep handler should parse lines correctly): + AssertEqual + \ [ + \ { + \ 'lnum': 400, + \ 'col': 18, + \ 'end_col': 45, + \ 'text': 'Method parameters are incompatible with declaration `(untyped, untyped, *untyped, **untyped) { () -> untyped } -> untyped`', + \ 'code': 'Ruby::MethodArityMismatch', + \ 'type': 'E', + \ }, + \ { + \ 'lnum': 20, + \ 'col': 9, + \ 'end_col': 17, + \ 'text': 'Cannot find implementation of method `::Frobz::FooBarBaz#method_name`', + \ 'code': 'Ruby::MethodDefinitionMissing', + \ 'type': 'W', + \ }, + \ { + \ 'lnum': 30, + \ 'col': 9, + \ 'end_col': 17, + \ 'text': 'Cannot find implementation of method `::Frobz::FooBarBaz#method_name`', + \ 'code': 'Ruby::MethodDefinitionMissing', + \ 'type': 'I', + \ }, + \ { + \ 'lnum': 40, + \ 'col': 9, + \ 'end_col': 17, + \ 'text': 'Cannot find implementation of method `::Frobz::FooBarBaz#method_name`', + \ 'code': 'Ruby::MethodDefinitionMissing', + \ 'type': 'I', + \ }, + \ ], + \ ale_linters#ruby#steep#HandleOutput(347, [ + \ '# Type checking files:', + \ '', + \ '...............................................................................................................................F..........F.F...F.', + \ '', + \ 'lib/frobz/foobar_baz.rb:400:17: [error] Method parameters are incompatible with declaration `(untyped, untyped, *untyped, **untyped) { () -> untyped } -> untyped`', + \ '│ Diagnostic ID: Ruby::MethodArityMismatch', + \ '│', + \ '└ def frobz(obj, suffix, *args, &block)', + \ ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~', + \ '', + \ 'lib/frobz/foobar_baz.rb:20:8: [warning] Cannot find implementation of method `::Frobz::FooBarBaz#method_name`', + \ '│ Diagnostic ID: Ruby::MethodDefinitionMissing', + \ '│', + \ '└ class FooBarBaz', + \ ' ~~~~~~~~~', + \ '', + \ 'lib/frobz/foobar_baz.rb:30:8: [information] Cannot find implementation of method `::Frobz::FooBarBaz#method_name`', + \ '│ Diagnostic ID: Ruby::MethodDefinitionMissing', + \ '│', + \ '└ class FooBarBaz', + \ ' ~~~~~~~~~', + \ '', + \ 'lib/frobz/foobar_baz.rb:40:8: [hint] Cannot find implementation of method `::Frobz::FooBarBaz#method_name`', + \ '│ Diagnostic ID: Ruby::MethodDefinitionMissing', + \ '│', + \ '└ class FooBarBaz', + \ ' ~~~~~~~~~', + \ '', + \ 'Detected 4 problems from 1 file', + \ ]) + +Execute(The steep handler should handle when files are checked and no offenses are found): + AssertEqual + \ [], + \ ale_linters#ruby#steep#HandleOutput(347, [ + \ '# Type checking files:', + \ '', + \ '.............................................................................................................................................', + \ '', + \ 'No type error detected. 🧉', + \ ]) + +Execute(The steep handler should handle when no files are checked): + AssertEqual + \ [], + \ ale_linters#ruby#steep#HandleOutput(347, [ + \ '# Type checking files:', + \ '', + \ '', + \ '', + \ 'No type error detected. 🧉', + \ ]) + +Execute(The steep handler should handle empty output): + AssertEqual [], ale_linters#ruby#steep#HandleOutput(347, ['']) + AssertEqual [], ale_linters#ruby#steep#HandleOutput(347, []) +