Sha256: 26c354d7666dd625c04e46e51761214859fc14b6de533200c090a4d77300c617

Contents?: true

Size: 1.74 KB

Versions: 5

Compression:

Stored size: 1.74 KB

Contents

require 'spec_helper'

module Roadie
  describe StyleDeclaration do
    it "is initialized with a property, value, if it is marked as important, and the specificity" do
      StyleDeclaration.new('color', 'green', true, 45).tap do |declaration|
        declaration.property.should == 'color'
        declaration.value.should == 'green'
        declaration.should be_important
        declaration.specificity.should == 45
      end
    end

    describe "string representation" do
      it "is the property and the value joined with a colon" do
        StyleDeclaration.new('color', 'green', false, 1).to_s.should == 'color:green'
        StyleDeclaration.new('font-size', '1.1em', false, 1).to_s.should == 'font-size:1.1em'
      end

      it "contains the !important flag when set" do
        StyleDeclaration.new('color', 'green', true, 1).to_s.should == 'color:green !important'
      end
    end

    describe "comparing" do
      def declaration(specificity, important = false)
        StyleDeclaration.new('color', 'green', important, specificity)
      end

      it "compares on specificity" do
        declaration(5).should be == declaration(5)
        declaration(4).should be < declaration(5)
        declaration(6).should be > declaration(5)
      end

      context "with an important declaration" do
        it "is less than the important declaration regardless of the specificity" do
          declaration(99, false).should be < declaration(1, true)
        end

        it "compares like normal when both declarations are important" do
          declaration(5, true).should be == declaration(5, true)
          declaration(4, true).should be < declaration(5, true)
          declaration(6, true).should be > declaration(5, true)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
roadie-2.4.3 spec/lib/roadie/style_declaration_spec.rb
md-roadie-2.4.2.md.1 spec/lib/roadie/style_declaration_spec.rb
roadie-2.4.2 spec/lib/roadie/style_declaration_spec.rb
roadie-2.4.1 spec/lib/roadie/style_declaration_spec.rb
roadie-2.4.0 spec/lib/roadie/style_declaration_spec.rb