Sha256: 570a7014d3f588379b3cc859c93e8089ebf136217cbe0dfaf9fa1f02bce0960d

Contents?: true

Size: 1.57 KB

Versions: 2

Compression:

Stored size: 1.57 KB

Contents

require 'spec_helper'

describe 'Drops' do

  include 

  def render_page(current_page, page = nil)
    request = ActionController::TestRequest.new
    request.env["rack.url_scheme"] = "http"
    request.host = 'test.com'
    request.port = 80
    request.path = "/#{current_page.location}"
    current_page.render 'self' => PufferPages::Liquid::PageDrop.new(current_page, current_page, request),
      'page' => (PufferPages::Liquid::PageDrop.new(page, current_page, request) if page)
  end

  describe 'page drop' do

    before :each do
      @root = Fabricate :page, :layout_name => 'foo_layout'
      @foo = Fabricate :page, :slug => 'hello', :parent => @root
      @bar = Fabricate :page, :slug => 'world', :parent => @foo
      @root.reload
      @foo.reload
      @bar.reload
    end

    it 'should render proper url and path' do
      @layout = Fabricate :layout, :name => 'foo_layout', :body => "{{ self.path }} {{ self.url }}"

      render_page(@bar).should == '/hello/world http://test.com/hello/world'
    end

    it 'should render proper current?' do
      @layout = Fabricate :layout, :name => 'foo_layout', :body => "{{ page.current? }}"

      render_page(@foo, @foo).should == 'true'
      render_page(@foo, @root).should == 'false'
      render_page(@foo, @bar).should ==  'false'
    end

    it 'should render proper ancestor?' do
      @layout = Fabricate :layout, :name => 'foo_layout', :body => "{{ page.ancestor? }}"

      render_page(@foo, @foo).should == 'false'
      render_page(@foo, @root).should == 'true'
      render_page(@foo, @bar).should ==  'false'
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
puffer_pages-0.0.13 spec/lib/drops_spec.rb
puffer_pages-0.0.12 spec/lib/drops_spec.rb