Sha256: 80dad26b3995821e032192ef032bfb73bd5d1f3c5c6331e83b28cebbb96faa1e

Contents?: true

Size: 1.22 KB

Versions: 10

Compression:

Stored size: 1.22 KB

Contents

require 'test_helper'
ActiveValidators.activate(:hex_color)

describe "Hex-Color Validation" do
  let(:invalid_message) { subject.errors.generate_message(:text_color, :invalid) }

  subject { TestRecord.new }

  before do
    TestRecord.reset_callbacks(:validate)
    TestRecord.validates :text_color, :hex_color => true
  end

  it "accepts blank value" do
    subject.text_color = ''

    subject.must_be :valid?
    subject.errors.must_be :empty?
  end

  it "accepts 3 hex characters" do
    subject.text_color = 'abc'

    subject.must_be :valid?
    subject.errors.must_be :empty?
  end

  it "accepts 6 hex characters" do
    subject.text_color = 'abc012'

    subject.must_be :valid?
    subject.errors.must_be :empty?
  end

  it "rejects non-hex characters" do
    subject.text_color = 'efg345'

    subject.must_be :invalid?
    subject.errors[:text_color].must_include invalid_message
  end

  it "rejects too few characters" do
    subject.text_color = 'ef'

    subject.must_be :invalid?
    subject.errors[:text_color].must_include invalid_message
  end

  it "rejects too many characters" do
    subject.text_color = 'efab001'

    subject.must_be :invalid?
    subject.errors[:text_color].must_include invalid_message
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
activevalidators-5.1.0 test/validations/hex_color_test.rb
activevalidators-5.0.1 test/validations/hex_color_test.rb
activevalidators-5.0.0 test/validations/hex_color_test.rb
activevalidators-4.1.0 test/validations/hex_color_test.rb
activevalidators-4.0.3 test/validations/hex_color_test.rb
activevalidators-4.0.2 test/validations/hex_color_test.rb
activevalidators-4.0.1 test/validations/hex_color_test.rb
activevalidators-4.0.0 test/validations/hex_color_test.rb
activevalidators-3.3.0 test/validations/hex_color_test.rb
activevalidators-3.2.0 test/validations/hex_color_test.rb