Sha256: fa95cd82d720192949327e22a128859b75fc5173ff3a4e45f6972c7858dcf211

Contents?: true

Size: 827 Bytes

Versions: 2

Compression:

Stored size: 827 Bytes

Contents

require 'spec_helper'

class Validatable
  include ActiveModel::Validations
  attr_accessor :name
  validates :name, :'flms/css_name' => true
end

RSpec::Matchers.define :accept_css_name do |name|
  match do |subject|
    subject.name = name
    subject.valid?
  end
end

describe Flms::CssNameValidator do
  subject { Validatable.new }

  it 'does not accept names with whitespace' do
    expect(subject).to_not accept_css_name 'this is an invalid css name'
  end

  it 'does not accept names with numbers in front' do
    expect(subject).to_not accept_css_name '123-no-way-jose'
  end

  it 'does not accept names with a period in front' do
    expect(subject).to_not accept_css_name '.otherwise-ok'
  end

  it 'accepts a valid css name' do
    expect(subject).to accept_css_name 'this-is_a_valid_css-class-12345'
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
flms-0.9.0 spec/validators/css_name_validator_spec.rb
flms-0.1.0 spec/validators/css_name_validator_spec.rb