test/style_test.rb in osheet-0.5.0 vs test/style_test.rb in osheet-0.6.0

- old
+ new

@@ -1,32 +1,19 @@ require "test/helper" require "osheet/style" module Osheet - class StyleTest < Test::Unit::TestCase + class StyleTest < Test::Unit::TestCase context "Osheet::Style" do subject { Style.new('.test') } should_have_reader :selectors should_have_instance_methods :align, :font, :bg should_have_instance_methods :border, :border_left, :border_top, :border_right, :border_bottom should_have_instance_method :match? - should "verify the selector" do - ['poo', '#poo', 'poo poo', 'poo > poo', :poo, 123].each do |s| - assert_raises ArgumentError do - Style.new(s) - end - end - ['.poo', '.poo.poo', '.poo-poo', '.poo_poo'].each do |s| - assert_nothing_raised do - Style.new(s) - end - end - end - should "set it's defaults" do assert_equal 1, subject.selectors.size assert_equal '.test', subject.selectors.first [ :align, :font, :bg, :border_left, :border_top, :border_right, :border_bottom @@ -41,30 +28,65 @@ ].each do |a| assert subject.attributes.has_key?(a) end end + end + end + class StyleSelectorTest < Test::Unit::TestCase + context "A Style" do + subject { Style.new('.test') } + should "complain about bad selectors" do + ['poo', '#poo', 'poo poo', 'poo > poo', :poo, 123].each do |s| + assert_raises ArgumentError do + Style.new(s) + end + end + end + + should "not complain about good selectors" do + ['.poo', '.poo.poo', '.poo-poo', '.poo_poo'].each do |s| + assert_nothing_raised do + Style.new(s) + end + end + end + + end + end + + class StyleCollectorTest < Test::Unit::TestCase + context "A Style" do + subject { Style.new } + [ :align, :font, :bg, :border_left, :border_top, :border_right, :border_bottom ].each do |a| should "collect styles for #{a}" do args = [1, "#FF0000", "Verdana", :love, 1.2] subject.send(a, *args) assert_equal args, subject.send(:get_ivar, a) end end - should "set all border positions to the same styles using 'border' macro" do + should "set all border positions to the same styles using 'border' macro collector" do args = [:thick, '#FF00FF', :dot] subject.border *args [ :border_left, :border_top, :border_right, :border_bottom].each do |a| assert_equal args, subject.send(:get_ivar, a) end end + end + end + + class StyleMatcherTest < Test::Unit::TestCase + context "A Style" do + subject { Style.new } + should "match on style class strings" do a = Style.new('.awesome') {} at = Style.new('.awesome.thing') {} b = Style.new('.boring') {} bt = Style.new('.boring.thing') {} @@ -85,10 +107,9 @@ end assert_equal false, a.match?('stupid') end end - end class StyleBindingTest < Test::Unit::TestCase context "a style defined w/ a block" do should "access instance vars from that block's binding" do