File: test_kpeg_string_escape.rb

package info (click to toggle)
ruby-kpeg 1.3.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 608 kB
  • sloc: ruby: 11,839; makefile: 10
file content (42 lines) | stat: -rw-r--r-- 659 bytes parent folder | download | duplicates (3)
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
require 'minitest/autorun'
require 'kpeg'
require 'kpeg/string_escape'

class TestKPegStringEscape < Minitest::Test

  def test_bell
    assert_equal '\b', parse("\b")
  end

  def test_carriage_return
    assert_equal '\r', parse("\r")
  end

  def test_newline
    assert_equal '\n', parse("\n")
  end

  def test_quote
    assert_equal '\\\\\"', parse('\\"')
  end

  def test_slash
    assert_equal '\\\\', parse('\\')
  end

  def test_tab
    assert_equal '\t', parse("\t")
  end

  def parse(str, embed = false)
    se = KPeg::StringEscape.new(str)

    rule = (embed ? 'embed' : nil)

    se.raise_error unless se.parse(rule)

    se.text
  end

end