Sha256: 6093d9b91ec7cba8245da64a2f3b6535a8dd7d294e1f4b6221d97c4814ca9b4f

Contents?: true

Size: 1.09 KB

Versions: 28

Compression:

Stored size: 1.09 KB

Contents

require File.expand_path("spec_helper", File.dirname(File.dirname(__FILE__)))

describe "module_include plugin" do 
  it "must_include given module in request or response class" do
    app(:bare) do
      plugin :module_include
      request_module(Module.new{def h; halt response.finish end})
      response_module(Module.new{def finish; [1, {}, []] end})

      route do |r|
        r.h
      end
    end

    req.must_equal [1, {}, []]
  end

  it "should accept blocks and turn them into modules" do
    app(:bare) do
      plugin :module_include
      request_module{def h; halt response.finish end}
      response_module{def finish; [1, {}, []] end}

      route do |r|
        r.h
      end
    end

    req.must_equal [1, {}, []]
  end

  it "should work if called multiple times with a block" do
    app(:bare) do
      plugin :module_include
      request_module{def h; halt response.f end}
      request_module{def i; h end}
      response_module{def f; finish end}
      response_module{def finish; [1, {}, []] end}

      route do |r|
        r.i
      end
    end

    req.must_equal [1, {}, []]
  end

end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
roda-2.29.0 spec/plugin/module_include_spec.rb
roda-2.28.0 spec/plugin/module_include_spec.rb
roda-2.27.0 spec/plugin/module_include_spec.rb
roda-2.26.0 spec/plugin/module_include_spec.rb
roda-2.25.0 spec/plugin/module_include_spec.rb
roda-2.24.0 spec/plugin/module_include_spec.rb
roda-2.23.0 spec/plugin/module_include_spec.rb
roda-2.22.0 spec/plugin/module_include_spec.rb
roda-2.21.0 spec/plugin/module_include_spec.rb
roda-2.20.0 spec/plugin/module_include_spec.rb
roda-2.19.0 spec/plugin/module_include_spec.rb
roda-2.18.0 spec/plugin/module_include_spec.rb
roda-2.17.0 spec/plugin/module_include_spec.rb
roda-2.16.0 spec/plugin/module_include_spec.rb
roda-2.15.0 spec/plugin/module_include_spec.rb
roda-2.14.0 spec/plugin/module_include_spec.rb
roda-2.13.0 spec/plugin/module_include_spec.rb
roda-2.12.0 spec/plugin/module_include_spec.rb
roda-2.11.0 spec/plugin/module_include_spec.rb
roda-2.10.0 spec/plugin/module_include_spec.rb