Sha256: a6cdcc908d4a82cc999567ed62c58cd0bea5eec0a2074a744dd9cbb75dff0907

Contents?: true

Size: 692 Bytes

Versions: 30

Compression:

Stored size: 692 Bytes

Contents

require_relative "../spec_helper"

describe "hash_matcher plugin" do 
  it "should enable the handling of arbitrary hash keys" do
    app(:bare) do 
      plugin :hash_matcher
      hash_matcher(:foos){|v| consume(self.class.cached_matcher(:"foos-#{v}"){/((?:foo){#{v}})/})}
      route do |r|
        r.is :foos=>1 do |f|
          "1#{f}"
        end
        r.is :foos=>2 do |f|
          "2#{f}"
        end
        r.is :foos=>3 do |f|
          "3#{f}"
        end
      end
    end

    body("/foo").must_equal '1foo'
    body("/foofoo").must_equal '2foofoo'
    body("/foofoofoo").must_equal '3foofoofoo'
    status("/foofoofoofoo").must_equal 404
    status.must_equal 404
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
roda-3.28.0 spec/plugin/hash_matcher_spec.rb
roda-3.27.0 spec/plugin/hash_matcher_spec.rb
roda-3.26.0 spec/plugin/hash_matcher_spec.rb
roda-3.25.0 spec/plugin/hash_matcher_spec.rb
roda-3.24.0 spec/plugin/hash_matcher_spec.rb
roda-3.23.0 spec/plugin/hash_matcher_spec.rb
roda-3.22.0 spec/plugin/hash_matcher_spec.rb
roda-3.21.0 spec/plugin/hash_matcher_spec.rb
roda-3.20.0 spec/plugin/hash_matcher_spec.rb
roda-3.19.0 spec/plugin/hash_matcher_spec.rb
roda-3.18.0 spec/plugin/hash_matcher_spec.rb
roda-3.17.0 spec/plugin/hash_matcher_spec.rb
roda-3.16.0 spec/plugin/hash_matcher_spec.rb
roda-3.15.0 spec/plugin/hash_matcher_spec.rb
roda-3.14.1 spec/plugin/hash_matcher_spec.rb
roda-3.14.0 spec/plugin/hash_matcher_spec.rb
roda-3.13.0 spec/plugin/hash_matcher_spec.rb
roda-3.12.0 spec/plugin/hash_matcher_spec.rb
roda-3.11.0 spec/plugin/hash_matcher_spec.rb
roda-3.10.0 spec/plugin/hash_matcher_spec.rb