Sha256: 5f4f0528b51e50994423613157b7f985c2f5e4f19e43503485c5add7c4163798
Contents?: true
Size: 966 Bytes
Versions: 5
Compression:
Stored size: 966 Bytes
Contents
describe Template do let(:content) { "hello {{ world }} test" } subject { Template.new(content) } it "generates ruby code" do expect(subject.parse).to eq %Q(# encoding: utf-8\n_out ||= ""\n_out << "hello "\n world\n_out << " test"\n_out\n) end context "when the tag is on its own line" do let :content do <<-TEST hello {{= something }} world {{ thing }} a TEST end it "removes surrounding whitespace" do expect(subject.parse).to eq <<-TEST # encoding: utf-8 _out ||= "" _out << "hello" _out << begin something end.to_s _out << "\\nworld\\n" thing _out << "\\na\\n\\n" _out TEST end it "runs in ruby" do object = Object.new result = nil def object.something; "-" end def object.thing; end expect { result = object.instance_eval(subject.parse) }.to_not raise_error expect(result).to eq "hello-\nworld\n\na\n\n" end end end
Version data entries
5 entries across 5 versions & 1 rubygems