1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
require 'haml'
require 'spec_helper'
require 'sinatra/haml_helpers'
RSpec.describe Sinatra::HamlHelpers do
let(:quote_char) { Haml::VERSION >= "7.0.0" ? "\"" : "'" }
describe "#surround" do
it "renders correctly" do
mock_app do
helpers Sinatra::HamlHelpers
get "/" do
haml_code = <<~HAML
%p
!= surround "(", ")" do
%a{ href: "https://example.org/" } surrounded
HAML
haml haml_code
end
end
get "/"
html_code = <<~HTML
<p>
(<a href=#{quote_char}https://example.org/#{quote_char}>surrounded</a>)
</p>
HTML
expect(body).to eq(html_code)
end
end
describe "#precede" do
it "renders correctly" do
mock_app do
helpers Sinatra::HamlHelpers
get "/" do
haml_code = <<~HAML
%p
!= precede "* " do
%a{ href: "https://example.org/" } preceded
HAML
haml haml_code
end
end
get "/"
html_code = <<~HTML
<p>
* <a href=#{quote_char}https://example.org/#{quote_char}>preceded</a>
</p>
HTML
expect(body).to eq(html_code)
end
end
describe "#succeed" do
it "renders correctly" do
mock_app do
helpers Sinatra::HamlHelpers
get "/" do
haml_code = <<~HAML
%p
!= succeed "." do
%a{ href: "https://example.org/" } succeeded
HAML
haml haml_code
end
end
get "/"
html_code = <<~HTML
<p>
<a href=#{quote_char}https://example.org/#{quote_char}>succeeded</a>.
</p>
HTML
expect(body).to eq(html_code)
end
end
end
|