diff options
Diffstat (limited to 'spec/syntax_suggest/unit/api_spec.rb')
-rw-r--r-- | spec/syntax_suggest/unit/api_spec.rb | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/spec/syntax_suggest/unit/api_spec.rb b/spec/syntax_suggest/unit/api_spec.rb index a89d9f6a33..079a91e46d 100644 --- a/spec/syntax_suggest/unit/api_spec.rb +++ b/spec/syntax_suggest/unit/api_spec.rb @@ -65,11 +65,20 @@ module SyntaxSuggest it "respects highlight API" do skip if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("3.2") - error = SyntaxError.new("#{fixtures_dir.join("this_project_extra_def.rb.txt")}:1 ") + core_ext_file = lib_dir.join("syntax_suggest").join("core_ext.rb") + require_relative core_ext_file - skip if error.respond_to?(:path) + error_klass = Class.new do + def path + fixtures_dir.join("this_project_extra_def.rb.txt") + end - require "syntax_suggest/core_ext" + def detailed_message(**kwargs) + "error" + end + end + error_klass.prepend(SyntaxSuggest.module_for_detailed_message) + error = error_klass.new expect(error.detailed_message(highlight: true)).to include(SyntaxSuggest::DisplayCodeWithLineNumbers::TERMINAL_HIGHLIGHT) expect(error.detailed_message(highlight: false)).to_not include(SyntaxSuggest::DisplayCodeWithLineNumbers::TERMINAL_HIGHLIGHT) @@ -78,11 +87,20 @@ module SyntaxSuggest it "can be disabled via falsey kwarg" do skip if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("3.2") - error = SyntaxError.new("#{fixtures_dir.join("this_project_extra_def.rb.txt")}:1 ") + core_ext_file = lib_dir.join("syntax_suggest").join("core_ext.rb") + require_relative core_ext_file - skip if error.respond_to?(:path) + error_klass = Class.new do + def path + fixtures_dir.join("this_project_extra_def.rb.txt") + end - require "syntax_suggest/core_ext" + def detailed_message(**kwargs) + "error" + end + end + error_klass.prepend(SyntaxSuggest.module_for_detailed_message) + error = error_klass.new expect(error.detailed_message(syntax_suggest: true)).to_not eq(error.detailed_message(syntax_suggest: false)) end |