Sha256: 0c2cf50a685898d1f6d651b2ed4344cd27d830ac085aee392c54e6c7438a8610

Contents?: true

Size: 1.36 KB

Versions: 1

Compression:

Stored size: 1.36 KB

Contents

# encoding: utf-8
require 'spec_helper'

describe ActiveCleaner::StringCleaner do

  let(:cleaner) { ActiveCleaner::StringCleaner.new(:title) }

  describe "#clean_value" do

    it "doesn't touch non string value" do
      expect(cleaner.clean_value(nil)).to eq(nil)
      expect(cleaner.clean_value(true)).to eq(true)
      expect(cleaner.clean_value(false)).to eq(false)
      expect(cleaner.clean_value(10)).to eq(10)
    end

    it "doesn't touch legit value" do
      expect(cleaner.clean_value("A good title!")).to eq("A good title!")
    end

    it "empties string full of spaces" do
      [
        "",
        " ",
        "\t",
        "\n",
        " \t\n \t\n \t\n \t\n",
      ].each do |title|
        expect(cleaner.clean_value(title)).to eq("")
      end
    end

    it "cleans leading and trailing spaces" do
      expect(cleaner.clean_value("  A good title!  ")).to eq("A good title!")
    end
    it "cleans leading and trailing tabs" do
      expect(cleaner.clean_value("\tA good title!\t")).to eq("A good title!")
    end
    it "cleans leading and trailing lines" do
      expect(cleaner.clean_value("\nA good title!\n")).to eq("A good title!")
    end

    it "cleans repeted spaces" do
      expect(cleaner.clean_value("A    good    title!")).to eq("A good title!")
      expect(cleaner.clean_value("A  \n good  \t title!")).to eq("A good title!")
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activecleaner-0.3.1 spec/lib/active_cleaner/string_cleaner_spec.rb