aboutsummaryrefslogtreecommitdiffstats
path: root/test/erb/test_erb_command.rb
blob: a440045e5bc1b0ce8b53361554ac58278fd30fab (plain)
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
# -*- coding: us-ascii -*-
# frozen_string_literal: false
require 'test/unit'

class TestErbCommand < Test::Unit::TestCase
  def test_var
    pend 'this test has not supported Ruby 2.5' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
    assert_in_out_err(["-w",
                       File.expand_path("../../../libexec/erb", __FILE__),
                       "var=hoge"],
                      "<%=var%>", ["hoge"])
  end

  def test_template_file_encoding
    pend 'this test has not supported Ruby 2.5' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
    assert_in_out_err(["-w",
                       File.expand_path("../../../libexec/erb", __FILE__)],
                      "<%=''.encoding.to_s%>", ["UTF-8"])
  end

  # These interfaces will be removed at Ruby 2.7.
  def test_deprecated_option
    pend 'this test has not supported Ruby 2.5' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
    warnings = [
      "warning: -S option of erb command is deprecated. Please do not use this.",
      /\n.+\/libexec\/erb:\d+: warning: Passing safe_level with the 2nd argument of ERB\.new is deprecated\. Do not use it, and specify other arguments as keyword arguments\.\n/,
    ]
    assert_in_out_err(["-w",
                       File.expand_path("../../../libexec/erb", __FILE__),
                       "-S", "0"],
                      "hoge", ["hoge"], warnings)
  end
end