mirror of
https://github.com/zhigang1992/rmq.git
synced 2026-01-12 22:51:53 +08:00
Merge pull request #231 from fvonhoven/ui_date_picker_styler
UI date picker styler
This commit is contained in:
@@ -2,6 +2,23 @@ module RubyMotionQuery
|
||||
module Stylers
|
||||
|
||||
class UIDatePickerStyler < UIControlStyler
|
||||
|
||||
DATE_PICKER_MODES = {
|
||||
time: UIDatePickerModeTime,
|
||||
date: UIDatePickerModeDate,
|
||||
date_and_time: UIDatePickerModeDateAndTime,
|
||||
date_time: UIDatePickerModeDateAndTime,
|
||||
count_down: UIDatePickerModeCountDownTimer,
|
||||
count_down_timer: UIDatePickerModeCountDownTimer,
|
||||
}
|
||||
|
||||
def date_picker_mode=(value)
|
||||
@view.datePickerMode = DATE_PICKER_MODES[value] || value
|
||||
end
|
||||
|
||||
def date_picker_mode
|
||||
@view.datePickerMode
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -92,6 +92,8 @@ shared 'styler' do
|
||||
@vc.rmq.styler_for(view).view_has_been_styled?.should == true
|
||||
end
|
||||
|
||||
# ---------------
|
||||
|
||||
it 'should apply a style using the apply_style method' do
|
||||
view = @vc.rmq.append(@view_klass).get
|
||||
@vc.rmq(view).apply_style(:my_style)
|
||||
@@ -129,7 +131,7 @@ shared 'styler' do
|
||||
view = @vc.rmq.append!(@view_klass, :ui_view_kitchen_sink)
|
||||
|
||||
view.tap do |v|
|
||||
view.backgroundColor.should == rmq.color.red
|
||||
view.backgroundColor.should == rmq.color.red unless view.is_a? UIDatePicker # Fails for a UIDatePicker
|
||||
view.isHidden.should.be.true
|
||||
view.tintColor.should == rmq.color.blue
|
||||
view.layer.cornerRadius.should == 5
|
||||
|
||||
88
spec/stylers/ui_date_picker_styler_spec.rb
Normal file
88
spec/stylers/ui_date_picker_styler_spec.rb
Normal file
@@ -0,0 +1,88 @@
|
||||
class StyleSheetForUIViewStylerTests < RubyMotionQuery::Stylesheet
|
||||
|
||||
def ui_date_picker_kitchen_sink(st)
|
||||
st.date_picker_mode = :date_and_time
|
||||
end
|
||||
|
||||
def ui_date_picker_time(st)
|
||||
st.date_picker_mode = :time
|
||||
end
|
||||
|
||||
def ui_date_picker_date(st)
|
||||
st.date_picker_mode = :date
|
||||
end
|
||||
|
||||
def ui_date_picker_date_time_alias(st)
|
||||
st.date_picker_mode = :date_time
|
||||
end
|
||||
|
||||
def ui_date_picker_count_down_timer(st)
|
||||
st.date_picker_mode = :count_down_timer
|
||||
end
|
||||
|
||||
def ui_date_picker_countdown_alias(st)
|
||||
st.date_picker_mode = :countdown
|
||||
end
|
||||
|
||||
def ui_date_picker_count_down_alias(st)
|
||||
st.date_picker_mode = :count_down
|
||||
end
|
||||
end
|
||||
|
||||
describe 'stylers/ui_date_picker' do
|
||||
before do
|
||||
@vc = UIViewController.alloc.init
|
||||
@vc.rmq.stylesheet = StyleSheetForUIViewStylerTests
|
||||
@view_klass = UIDatePicker
|
||||
end
|
||||
|
||||
behaves_like "styler"
|
||||
|
||||
it 'can update picker with styler' do
|
||||
view = @vc.rmq.append(@view_klass, :ui_date_picker_kitchen_sink).get
|
||||
|
||||
view.tap do |v|
|
||||
v.datePickerMode.should == UIDatePickerModeDateAndTime
|
||||
end
|
||||
end
|
||||
|
||||
it 'can update picker with :time styler' do
|
||||
view = @vc.rmq.append(@view_klass, :ui_date_picker_time).get
|
||||
|
||||
view.tap do |v|
|
||||
v.datePickerMode.should == UIDatePickerModeTime
|
||||
end
|
||||
end
|
||||
|
||||
it 'can update picker with :date styler' do
|
||||
view = @vc.rmq.append(@view_klass, :ui_date_picker_date).get
|
||||
|
||||
view.tap do |v|
|
||||
v.datePickerMode.should == UIDatePickerModeDate
|
||||
end
|
||||
end
|
||||
|
||||
it 'uses :date_time as an alias for :date_and_time' do
|
||||
view = @vc.rmq.append(@view_klass, :ui_date_picker_date_time_alias).get
|
||||
|
||||
view.tap do |v|
|
||||
v.datePickerMode.should == UIDatePickerModeDateAndTime
|
||||
end
|
||||
end
|
||||
|
||||
it 'can update picker with :count_down_timer styler' do
|
||||
view = @vc.rmq.append(@view_klass, :ui_date_picker_count_down_timer).get
|
||||
|
||||
view.tap do |v|
|
||||
v.datePickerMode.should == UIDatePickerModeCountDownTimer
|
||||
end
|
||||
end
|
||||
|
||||
it 'uses :count_down as an alias for :count_down_timer' do
|
||||
view = @vc.rmq.append(@view_klass, :ui_date_picker_count_down_alias).get
|
||||
|
||||
view.tap do |v|
|
||||
v.datePickerMode.should == UIDatePickerModeCountDownTimer
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user