teejayvanslyke-sassafras 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/sassafras.rb +2 -1
- data/spec/sassafras_spec.rb +31 -12
- metadata +1 -1
data/lib/sassafras.rb
CHANGED
@@ -58,7 +58,8 @@ module Sassafras
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def initialize(base)
|
61
|
-
|
61
|
+
is_hex = (base =~ /#.*/)
|
62
|
+
@base_rgb = is_hex ? Color::RGB.from_html(base) : Color::RGB.const_get(base.to_s.camelize)
|
62
63
|
@colors = { 'base' =>
|
63
64
|
Tints.new(@base_rgb).colors.merge(
|
64
65
|
Shades.new(@base_rgb).colors)
|
data/spec/sassafras_spec.rb
CHANGED
@@ -3,6 +3,18 @@ require File.dirname(__FILE__) + '/spec_helper.rb'
|
|
3
3
|
describe Sassafras do
|
4
4
|
|
5
5
|
describe Sassafras::Theme do
|
6
|
+
|
7
|
+
def red_values
|
8
|
+
{
|
9
|
+
'lightest' => '#ffe6e6',
|
10
|
+
'lighter' => '#ffb3b3',
|
11
|
+
'light' => '#ff8080',
|
12
|
+
'mid' => '#ff0000',
|
13
|
+
'dark' => '#800000',
|
14
|
+
'darker' => '#4d0000',
|
15
|
+
'darkest' => '#1a0000'
|
16
|
+
}
|
17
|
+
end
|
6
18
|
|
7
19
|
describe "when creating a basic color scheme" do
|
8
20
|
|
@@ -10,18 +22,6 @@ describe Sassafras do
|
|
10
22
|
@sassafras = Sassafras::Theme.basic(:red)
|
11
23
|
end
|
12
24
|
|
13
|
-
def red_values
|
14
|
-
{
|
15
|
-
'lightest' => '#ffe6e6',
|
16
|
-
'lighter' => '#ffb3b3',
|
17
|
-
'light' => '#ff8080',
|
18
|
-
'mid' => '#ff0000',
|
19
|
-
'dark' => '#800000',
|
20
|
-
'darker' => '#4d0000',
|
21
|
-
'darkest' => '#1a0000'
|
22
|
-
}
|
23
|
-
end
|
24
|
-
|
25
25
|
it "sets the base color" do
|
26
26
|
@sassafras.base.should == "#ff0000"
|
27
27
|
end
|
@@ -54,6 +54,25 @@ SASS
|
|
54
54
|
@sassafras.colors.size.should == 1
|
55
55
|
end
|
56
56
|
end
|
57
|
+
|
58
|
+
|
59
|
+
describe "when creating a color scheme from hex" do
|
60
|
+
|
61
|
+
before :each do
|
62
|
+
@sassafras = Sassafras::Theme.basic('#ff0000')
|
63
|
+
end
|
64
|
+
|
65
|
+
it "sets the base color" do
|
66
|
+
@sassafras.base.should == "#ff0000"
|
67
|
+
end
|
68
|
+
|
69
|
+
it "generates the base tints and shades" do
|
70
|
+
red_values.each do |name, hex|
|
71
|
+
@sassafras.colors(:base).should have_key(name)
|
72
|
+
@sassafras.colors(:base)[name].should == hex
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
57
76
|
|
58
77
|
|
59
78
|
describe "when generating Sass output" do
|