Sha256: 7997351111b53a67dce773ac5586456adaf990ef551d8a86e0e1feaf2a23685b

Contents?: true

Size: 800 Bytes

Versions: 16

Compression:

Stored size: 800 Bytes

Contents

describe "'Squiggly' heredoc" do
  context "when heredoc is blank" do
    it "returns a blank string" do
      heredoc = <<~HERE
      HERE

      heredoc.should == ""
    end
  end

  context "when heredoc contains multiple lines" do
    it "selects a least-indented line and removes its indentation from all the lines" do
      heredoc = <<~HERE
        a
          b
           c
      HERE

      heredoc.should == "a\n  b\n   c\n"
    end
  end

  it "supports escaped heredoc identifier" do
    <<~"HERE".should == ""
    HERE

    <<~'HERE'.should == ""
    HERE
  end

  it "doesn't allow <<-~ syntax" do
    lambda {
      eval("<<-~HERE\nHERE")
    }.should raise_error
  end

  it "doesn't allow <<~- syntax" do
    lambda {
      eval("<<~-HERE\nHERE")
    }.should raise_error
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
opal-0.10.6 spec/opal/core/language/heredoc_spec.rb
opal-0.10.6.beta spec/opal/core/language/heredoc_spec.rb
opal-0.10.5 spec/opal/core/language/heredoc_spec.rb
opal-0.10.4 spec/opal/core/language/heredoc_spec.rb
opal-0.11.0.rc1 spec/opal/core/language/heredoc_spec.rb
opal-0.10.3 spec/opal/core/language/heredoc_spec.rb
opal-0.10.2 spec/opal/core/language/heredoc_spec.rb
opal-0.10.1 spec/opal/core/language/heredoc_spec.rb
opal-0.10.0 spec/opal/core/language/heredoc_spec.rb
opal-0.10.0.rc2 spec/opal/core/language/heredoc_spec.rb
opal-0.10.0.rc1 spec/opal/core/language/heredoc_spec.rb
opal-0.10.0.beta5 spec/opal/core/language/heredoc_spec.rb
opal-0.10.0.beta4 spec/opal/core/language/heredoc_spec.rb
opal-0.10.0.beta3 spec/opal/core/language/heredoc_spec.rb
opal-0.10.0.beta2 spec/opal/core/language/heredoc_spec.rb
opal-0.10.0.beta1 spec/opal/core/language/heredoc_spec.rb