spec/neovim/plugin_spec.rb in neovim-0.0.3 vs spec/neovim/plugin_spec.rb in neovim-0.0.4

- old
+ new

@@ -4,63 +4,63 @@ RSpec.describe Plugin do describe ".from_config_block" do it "registers a command" do cmd_block = Proc.new {} - plugin = Plugin.from_config_block do |plug| + plugin = Plugin.from_config_block("source") do |plug| plug.command("Foo", :range => true, :nargs => 1, &cmd_block) end - expect(plugin.specs).to eq( - [ - { - :type => :command, - :name => :Foo, - :sync => false, - :opts => {:range => "", :nargs => 1}, - :proc => cmd_block - } - ] + expect(plugin.handlers.size).to be(1) + handler = plugin.handlers.first + + expect(handler.block).to eq(cmd_block) + expect(handler.qualified_name).to eq("source:command:Foo") + expect(handler.to_spec).to eq( + :type => :command, + :name => "Foo", + :sync => false, + :opts => {:range => "", :nargs => 1}, ) end it "registers an autocmd" do au_block = Proc.new {} - plugin = Plugin.from_config_block do |plug| + plugin = Plugin.from_config_block("source") do |plug| plug.autocmd("BufEnter", :pattern => "*.rb", &au_block) end - expect(plugin.specs).to eq( - [ - { - :type => :autocmd, - :name => :BufEnter, - :sync => false, - :opts => {:pattern => "*.rb"}, - :proc => au_block - } - ] + expect(plugin.handlers.size).to be(1) + handler = plugin.handlers.first + + expect(handler.block).to eq(au_block) + expect(handler.qualified_name).to eq("source:autocmd:BufEnter:*.rb") + expect(handler.to_spec).to eq( + :type => :autocmd, + :name => "BufEnter", + :sync => false, + :opts => {:pattern => "*.rb"}, ) end it "registers a function" do fun_block = Proc.new {} - plugin = Plugin.from_config_block do |plug| + plugin = Plugin.from_config_block("source") do |plug| plug.function("Foo", :range => true, :nargs => 1, &fun_block) end - expect(plugin.specs).to eq( - [ - { - :type => :function, - :name => :Foo, - :sync => false, - :opts => {:range => "", :nargs => 1}, - :proc => fun_block - } - ] + expect(plugin.handlers.size).to be(1) + handler = plugin.handlers.first + + expect(handler.block).to eq(fun_block) + expect(handler.qualified_name).to eq("source:function:Foo") + expect(handler.to_spec).to eq( + :type => :function, + :name => "Foo", + :sync => false, + :opts => {:range => "", :nargs => 1}, ) end end end end