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