sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/

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