Sha256: ff1ec8e7b0508429da654f3ef5b3d9ccec6b45029904bb6a40b5a5950545f2d6

Contents?: true

Size: 989 Bytes

Versions: 17

Compression:

Stored size: 989 Bytes

Contents

require 'spec/helper'

spec_require 'builder', 'hpricot'

FRAMEWORKS = {
  'ramaze' => 'ruby',
  'symfony' => 'php',
  'django' => 'python' }

class TCTemplateBuilder < Ramaze::Controller
  view_root 'spec/ramaze/template/builder'
  map '/'
  engine :Builder

  def external
    @frameworks = FRAMEWORKS
  end

  def internal
    external
    %q[
      @frameworks.each do |name, lang|
        xml.framework {|f| f.name(name); f.language(lang) }
      end
    ]
  end
end

describe "Builder" do
  behaves_like 'http'
  ramaze

  def check(string)
    doc = Hpricot(string)
    got = (doc/:framework).map{|f|
      [ f.at(:name).inner_text,
        f.at(:language).inner_text ] }
    Hash[*got.flatten].should == FRAMEWORKS
  end

  it "should render xml from files" do
    r = get('/external')
    r.status.should == 200
    r.headers['Content-Type'].should == 'application/xml'
    check(r.body)
  end

  it 'should render internal templates' do
    check get('/internal').body
  end
end

Version data entries

17 entries across 17 versions & 4 rubygems

Version Path
Pistos-ramaze-2008.09 spec/ramaze/template/builder.rb
Pistos-ramaze-2008.12 spec/ramaze/template/builder.rb
Pistos-ramaze-2009.01 spec/ramaze/template/builder.rb
Pistos-ramaze-2009.02 spec/ramaze/template/builder.rb
manveru-ramaze-2008.07 spec/ramaze/template/builder.rb
manveru-ramaze-2008.08 spec/ramaze/template/builder.rb
manveru-ramaze-2008.09 spec/ramaze/template/builder.rb
manveru-ramaze-2008.10 spec/ramaze/template/builder.rb
manveru-ramaze-2008.12 spec/ramaze/template/builder.rb
manveru-ramaze-2009.01 spec/ramaze/template/builder.rb
ptomato-ramaze-2009.02.1 spec/ramaze/template/builder.rb
ptomato-ramaze-2009.02 spec/ramaze/template/builder.rb
ramaze-2009.01 spec/ramaze/template/builder.rb
ramaze-2008.11 spec/ramaze/template/builder.rb
ramaze-2008.06 spec/ramaze/template/builder.rb
ramaze-2009.02 spec/ramaze/template/builder.rb
ramaze-2009.03 spec/ramaze/template/builder.rb