Sha256: 5c95cb09a4ed9aa5d74cd10167b5ccd3099c2ff6622b0484fcfe645a4d40c7da

Contents?: true

Size: 1.99 KB

Versions: 4

Compression:

Stored size: 1.99 KB

Contents

covers 'facets/string/indent'

tests String do

  unit :indent => "positive" do
    "xyz".indent(4).assert == '    xyz'
    "  xyz".indent(2).assert == '    xyz'
  end

  unit :indent => "multiline positive" do
    "abc\nxyz".indent(2).assert ==  "  abc\n  xyz"
  end

  unit :indent => "zero" do
    'xyz'.indent(0).assert == 'xyz'
  end

  unit :indent => "negative" do
    '    xyz'.indent(-2).assert == '  xyz'
    '  xyz'.  indent(-2).assert == 'xyz'
  end

  unit :indent => "multiline negative" do
    "    abc\n    xyz".indent(-2).assert == "  abc\n  xyz"
  end

  unit :indent => "negative more than is possible" do
    '  xyz'.indent(-3).assert == 'xyz'
  end

  unit :indent => "non-space positive" do
    "xyz".indent(4, '-').assert == '----xyz'
  end

  unit :indent => "non-space zero" do
    'xyz'.indent(0, '-').assert == 'xyz'
  end

  unit :indent => "non-space negative non-matching character" do
    '    xyz'.indent(-2, '-').assert == '    xyz'
    '  xyz'.  indent(-2, '-').assert == '  xyz'
  end

  unit :indent => "non-space negative" do
    '----xyz'.indent(-2, '-').assert == '--xyz'
    '--xyz'.indent(-2, '-').assert == 'xyz'
  end

  Concern "Special regular expresion characters are escaped."

  unit :indent => "ensure '.' is treated literally and not as wildcard" do
    '  xyz'.indent(-2, '.').assert == '  xyz'
    '..xyz'.indent(-2, '.').assert == 'xyz'
  end

  unit :indent => "ensure '*' is treated literally and not as wildcard" do
    '  xyz'.indent(-2, '*').assert == '  xyz'
    '**xyz'.indent(-2, '*').assert == 'xyz'
  end

  unit :indent => "ensure '^' is treated literally and not as line start" do
    '  xyz'.indent(-2, '^').assert == '  xyz'
    '^^xyz'.indent(-2, '^').assert == 'xyz'
  end

  unit :indent! => "in place rendition of #unindent" do
    s = "xyz"
    s.indent!(4)
    s.assert == '    xyz'

    s = "  xyz"
    s.indent!(2)
    s.assert == '    xyz'
  end

  #unit :unindent => "is an alias for negative indent" do
  #  '  xyz'.unindent(2).assert == 'xyz'
  #end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
facets-2.9.1 test/core/string/test_indent.rb
facets-2.9.0 test/core/string/test_indent.rb
facets-2.9.0.pre.2 test/core/string/test_indent.rb
facets-2.9.0.pre.1 test/core/string/test_indent.rb