require 'spec/helper' describe "Nagoro::Pipe::Element" do behaves_like 'xpath' def compile(obj) Nagoro::Template[Nagoro::Pipe::Element].compile(obj).compiled end Nagoro.element('Page') do |content, attrs| "(Page: #{content.dump})" end Nagoro.element('SideBar') do |content, attrs| "(SideBar: #{content.dump})" end Nagoro.file_element('Html', 'example/element/Html.nage') it 'should compile single element' do compile(''). should == '(Page: "")' end it 'should compile two elements' do compile(''). should == '(Page: "")(Page: "")' end it 'should compile nested elements' do compile(''). should == '(Page: "(Page: \\"\\")")' end it 'should compile different nested elements' do compile(''). should == '(Page: "(SideBar: \\"\\")")' end it 'should render file-elements' do doc = compile(File.read('example/hello.nag')) doc.should.not.be.empty xpath(doc, '//title').first.text.should == 'Hello, World!' xpath(doc, '//h1').first.text.should == 'Hello, World!' end end