Sha256: dac3bd0413078acc6c89b40cbac803df39e40daabf7644656a569efcb1dbe35b

Contents?: true

Size: 1.59 KB

Versions: 15

Compression:

Stored size: 1.59 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
    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

15 entries across 15 versions & 1 rubygems

Version Path
roadie-2.3.4 spec/lib/roadie/style_declaration_spec.rb
roadie-2.3.3 spec/lib/roadie/style_declaration_spec.rb
roadie-2.3.2 spec/lib/roadie/style_declaration_spec.rb
roadie-2.3.1 spec/lib/roadie/style_declaration_spec.rb
roadie-2.3.0 spec/lib/roadie/style_declaration_spec.rb
roadie-2.3.0.pre1 spec/lib/roadie/style_declaration_spec.rb
roadie-2.2.0 spec/lib/roadie/style_declaration_spec.rb
roadie-2.1.0 spec/lib/roadie/style_declaration_spec.rb
roadie-2.1.0.pre2 spec/lib/roadie/style_declaration_spec.rb
roadie-2.1.0.pre1 spec/lib/roadie/style_declaration_spec.rb
roadie-2.0.0 spec/lib/roadie/style_declaration_spec.rb
roadie-1.1.3 spec/lib/roadie/style_declaration_spec.rb
roadie-1.1.1 spec/lib/roadie/style_declaration_spec.rb
roadie-1.1.2 spec/lib/roadie/style_declaration_spec.rb
roadie-1.1.0 spec/lib/roadie/style_declaration_spec.rb