📄 date_helper_test.rb
字号:
require File.dirname(__FILE__) + '/test_helper'
class DateHelperTest < Test::Unit::TestCase
fixtures :globalize_languages, :globalize_countries, :globalize_translations
include ActionView::Helpers::DateHelper
def setup
Globalize::Locale.set 'en'
end
def test_distance_in_words
from = Time.mktime(2004, 3, 6, 21, 41, 18)
assert_equal "less than a minute", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 25))
assert_equal "5 minutes", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 46, 25))
# We didn't supply the plural translation for this; in production, we would
assert_equal "about 1 hours", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 22, 47, 25))
assert_equal "about 3 hours", distance_of_time_in_words(from, Time.mktime(2004, 3, 7, 0, 41))
assert_equal "about 4 hours", distance_of_time_in_words(from, Time.mktime(2004, 3, 7, 1, 20))
assert_equal "2 days", distance_of_time_in_words(from, Time.mktime(2004, 3, 9, 15, 40))
# include seconds
assert_equal "less than a minute", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 19), false)
assert_equal "less than 5 seconds", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 19), true)
assert_equal "less than 10 seconds", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 28), true)
assert_equal "less than 20 seconds", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 38), true)
assert_equal "half a minute", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 48), true)
assert_equal "less than a minute", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 42, 17), true)
# We didn't supply the plural translation for this; in production, we would
assert_equal "1 minutes", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 42, 18), true)
assert_equal "1 minutes", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 42, 28), true)
assert_equal "2 minutes", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 42, 48), true)
# test to < from
assert_equal "about 4 hours", distance_of_time_in_words(Time.mktime(2004, 3, 7, 1, 20), from)
assert_equal "less than 20 seconds", distance_of_time_in_words(Time.mktime(2004, 3, 6, 21, 41, 38), from, true)
# test with integers
assert_equal "less than a minute", distance_of_time_in_words(50)
# We didn't supply the plural translation for this; in production, we would
assert_equal "about 1 hours", distance_of_time_in_words(60*60)
# more cumbersome test with integers
assert_equal "less than a minute", distance_of_time_in_words(0, 50)
# We didn't supply the plural translation for this; in production, we would
assert_equal "about 1 hours", distance_of_time_in_words(60*60, 0)
end
def test_distance_in_words_he
from = Time.mktime(2004, 3, 6, 21, 41, 18)
Globalize::Locale.set 'he'
assert_equal "5 דקות", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 46, 25))
assert_equal "כשעה", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 22, 47, 25))
assert_equal "כ-3 שעות", distance_of_time_in_words(from, Time.mktime(2004, 3, 7, 0, 41))
assert_equal "כ-4 שעות", distance_of_time_in_words(from, Time.mktime(2004, 3, 7, 1, 20))
assert_equal "2 ימים", distance_of_time_in_words(from, Time.mktime(2004, 3, 9, 15, 40))
# include seconds
assert_equal "פחות מדקה", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 19), false)
assert_equal "פחות מ-5 שניות", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 19), true)
assert_equal "פחות מ-10 שניות", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 28), true)
assert_equal "פחות מ-20 שניות", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 38), true)
assert_equal "חצי דקה", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 41, 48), true)
assert_equal "פחות מדקה", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 42, 17), true)
assert_equal "דקה", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 42, 18), true)
assert_equal "דקה", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 42, 28), true)
assert_equal "2 דקות", distance_of_time_in_words(from, Time.mktime(2004, 3, 6, 21, 42, 48), true)
# test to < from
assert_equal "כ-4 שעות", distance_of_time_in_words(Time.mktime(2004, 3, 7, 1, 20), from)
assert_equal "פחות מ-20 שניות", distance_of_time_in_words(Time.mktime(2004, 3, 6, 21, 41, 38), from, true)
# test with integers
assert_equal "פחות מדקה", distance_of_time_in_words(50)
assert_equal "כשעה", distance_of_time_in_words(60*60)
# more cumbersome test with integers
assert_equal "פחות מדקה", distance_of_time_in_words(0, 50)
assert_equal "כשעה", distance_of_time_in_words(60*60, 0)
end
def test_distance_in_words_date
start_date = Date.new 1975, 1, 31
end_date = Date.new 1977, 4, 17
assert_not_equal("13 minutes",
distance_of_time_in_words(start_date, end_date))
end
def test_select_day
expected = %(<select name="date[day]">\n)
expected <<
%(<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16" selected="selected">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n)
expected << "</select>\n"
assert_equal expected, select_day(Time.mktime(2003, 8, 16))
assert_equal expected, select_day(16)
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -