Sha256: 133612f9528b07c3dfbc7ae0a8bc4c6de220335bdc1ce9da0a6148bdcf00ee7f
Contents?: true
Size: 1.02 KB
Versions: 5
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true require 'spec_helper' require 'roqua/type/stripped_string' RSpec.describe Roqua::Type::StrippedString do let(:cls) do Class.new(ActiveRecord::Base) do self.table_name = 'delayed_jobs' attribute :locked_by, Roqua::Type::StrippedString.new attribute :queue, Roqua::Type::StrippedString.new(allow_empty: true) end end it "strips whitespace from outside and not inside" do expect(described_class.new.cast(" some name \n \t \u180E\u200B\u200C\u200D\u2060\uFEFF ")).to eq "some name" end it "nils empty values by default" do expect(described_class.new.cast(" \n \t ")).to eq nil end it "keeps value empty if allow_empty is true" do expect(described_class.new(allow_empty: true).cast(" \n \t ")).to eq "" end it "works on active_record" do instance = cls.new(locked_by: " \n \t ", queue: " \n \t ", cron: " \n \t ") expect(instance.locked_by).to be_nil expect(instance.queue).to eq "" expect(instance.cron).to eq " \n \t " end end
Version data entries
5 entries across 5 versions & 1 rubygems