test/unit/test_horizontal_selector.rb (974B) - raw
1 require "test_helper"
2
3 require "sup/horizontal_selector"
4
5 describe Redwood::HorizontalSelector do
6 let(:values) { %w[foo@example.com bar@example.com] }
7 let(:strange_value) { "strange@example.com" }
8
9 before do
10 @selector = Redwood::HorizontalSelector.new(
11 'Acc:', values, [])
12 end
13
14 it "init w/ the first value selected" do
15 first_value = values.first
16 assert_equal first_value, @selector.val
17 end
18
19 it "stores value for selection" do
20 second_value = values[1]
21 @selector.set_to second_value
22 assert_equal second_value, @selector.val
23 end
24
25 describe "for unknown value" do
26 it "cannot select unknown value" do
27 assert_equal false, @selector.can_set_to?(strange_value)
28 end
29
30 it "refuses selecting unknown value" do
31 old_value = @selector.val
32
33 assert_raises Redwood::HorizontalSelector::UnknownValue do
34 @selector.set_to strange_value
35 end
36
37 assert_equal old_value, @selector.val
38 end
39 end
40 end