Sha256: fc78d27504aa6baa5f1d784b71c6cea537158d466e3b1cd1f3e496119db33924

Contents?: true

Size: 798 Bytes

Versions: 1

Compression:

Stored size: 798 Bytes

Contents

require 'jellyfish/test'
require 'jellyfish/urlmap'

describe Jellyfish::Rewrite do
  paste :jellyfish

  lam = lambda{ |env| [200, {}, [env['PATH_INFO']]] }

  def call app, path
    get(path, app).dig(-1, 0)
  end

  would 'map to' do
    app = Jellyfish::Builder.app do
      map '/from', to: '/to' do
        run lam
      end
    end

    expect(call(app, '/from/here')).eq '/to/here'
  end

  would 'rewrite and fallback' do
    app = Jellyfish::Builder.app do
      rewrite '/from/inner' => '/to/inner',
              '/from/outer' => '/to/outer' do
        run lam
      end

      map '/from' do
        run lam
      end
    end

    expect(call(app, '/from'      )).eq ''
    expect(call(app, '/from/inner')).eq '/to/inner'
    expect(call(app, '/from/outer')).eq '/to/outer'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jellyfish-1.2.2 test/test_rewrite.rb