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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
# frozen_string_literal: true
require 'helper'
module Cri
class CoreExtTestCase < Cri::TestCase
def formatter
Cri::StringFormatter.new
end
def test_string_to_paragraphs
original = "Lorem ipsum dolor sit amet,\nconsectetur adipisicing.\n\n" \
"Sed do eiusmod\ntempor incididunt ut labore."
expected = ['Lorem ipsum dolor sit amet, consectetur adipisicing.',
'Sed do eiusmod tempor incididunt ut labore.']
actual = formatter.to_paragraphs(original)
assert_equal expected, actual
end
def test_string_wrap_and_indent_without_indent
original = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, ' \
'sed do eiusmod tempor incididunt ut labore et dolore ' \
'magna aliqua.'
expected = "Lorem ipsum dolor sit amet, consectetur\n" \
"adipisicing elit, sed do eiusmod tempor\n" \
"incididunt ut labore et dolore magna\n" \
'aliqua.'
actual = formatter.wrap_and_indent(original, 40, 0)
assert_equal expected, actual
end
def test_string_wrap_and_indent_with_indent
original = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, ' \
'sed do eiusmod tempor incididunt ut labore et dolore ' \
'magna aliqua.'
expected = " Lorem ipsum dolor sit amet,\n" \
" consectetur adipisicing elit,\n" \
" sed do eiusmod tempor\n" \
" incididunt ut labore et dolore\n" \
' magna aliqua.'
actual = formatter.wrap_and_indent(original, 36, 4)
assert_equal expected, actual
end
def test_string_wrap_and_indent_excluding_first_line
original = 'Lorem ipsum dolor sit amet, consectetur adipisicing ' \
'elit, sed do eiusmod tempor incididunt ut labore et dolore ' \
'magna aliqua.'
expected = "Lorem ipsum dolor sit amet,\n" \
" consectetur adipisicing elit,\n" \
" sed do eiusmod tempor\n" \
" incididunt ut labore et dolore\n" \
' magna aliqua.'
actual = formatter.wrap_and_indent(original, 36, 4, true)
assert_equal expected, actual
end
def test_string_wrap_and_indent_with_large_indent
original = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, ' \
'sed do eiusmod tempor incididunt ut labore et dolore ' \
'magna aliqua.'
expected = " Lorem ipsum\n" \
" dolor sit\n" \
" amet,\n" \
" consectetur\n" \
" adipisicing\n" \
" elit, sed do\n" \
" eiusmod\n" \
" tempor\n" \
" incididunt ut\n" \
" labore et\n" \
" dolore magna\n" \
' aliqua.'
actual = formatter.wrap_and_indent(original, 44, 30)
assert_equal expected, actual
end
def test_string_wrap_and_indent_with_multiple_lines
original = "Lorem ipsum dolor sit\namet, consectetur adipisicing elit, " \
"sed do\neiusmod tempor incididunt ut\nlabore et dolore " \
"magna\naliqua."
expected = " Lorem ipsum dolor sit amet,\n" \
" consectetur adipisicing elit,\n" \
" sed do eiusmod tempor\n" \
" incididunt ut labore et dolore\n" \
' magna aliqua.'
actual = formatter.wrap_and_indent(original, 36, 4)
assert_equal expected, actual
end
end
end
|