unpack brazilian-rails

This commit is contained in:
2013-07-14 11:09:25 -04:00
parent 7d287fe530
commit e563725dc5
131 changed files with 5496 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
# encoding: UTF-8
require File.dirname(__FILE__) + '/test_helper'
require 'mocha'
class ActionViewTest < Test::Unit::TestCase
include ActionView::Helpers::DateHelper
def test_distance_of_time_in_words
assert_equal "menos de um minuto", distance_of_time_in_words("Sat Sep 08 22:51:58 -0300 2007".to_time, "Sat Sep 08 22:51:59 -0300 2007".to_time)
assert_equal "menos de 5 segundos", distance_of_time_in_words("Sat Sep 08 22:51:58 -0300 2007".to_time, "Sat Sep 08 22:51:59 -0300 2007".to_time, true)
assert_equal "menos de 10 segundos", distance_of_time_in_words("Sat Sep 08 22:51:50 -0300 2007".to_time, "Sat Sep 08 22:51:55 -0300 2007".to_time, true)
assert_equal "menos de 20 segundos", distance_of_time_in_words("Sat Sep 08 22:51:00 -0300 2007".to_time, "Sat Sep 08 22:51:10 -0300 2007".to_time, true)
assert_equal "meio minuto", distance_of_time_in_words("Sat Sep 08 22:51:00 -0300 2007".to_time, "Sat Sep 08 22:51:20 -0300 2007".to_time, true)
assert_equal "menos de um minuto", distance_of_time_in_words("Sat Sep 08 22:51:00 -0300 2007".to_time, "Sat Sep 08 22:51:40 -0300 2007".to_time, true)
assert_equal "1 minuto", distance_of_time_in_words("Sat Sep 08 22:51:00 -0300 2007".to_time, "Sat Sep 08 22:52:00 -0300 2007".to_time, true)
assert_equal "1 minuto", distance_of_time_in_words("Sat Sep 08 22:51:59 -0300 2007".to_time, "Sat Sep 08 22:52:59 -0300 2007".to_time)
assert_equal "2 minutos", distance_of_time_in_words("Sat Sep 08 22:51:59 -0300 2007".to_time, "Sat Sep 08 22:53:59 -0300 2007".to_time)
assert_equal "aproximadamente 1 hora", distance_of_time_in_words("Sat Sep 08 21:51:59 -0300 2007".to_time, "Sat Sep 08 22:51:59 -0300 2007".to_time)
assert_equal "aproximadamente 2 horas", distance_of_time_in_words("Sat Sep 08 20:51:59 -0300 2007".to_time, "Sat Sep 08 22:51:59 -0300 2007".to_time)
assert_equal "1 dia", distance_of_time_in_words("Sat Sep 07 20:51:59 -0300 2007".to_time, "Sat Sep 08 20:51:59 -0300 2007".to_time)
assert_equal "2 dias", distance_of_time_in_words("Sat Sep 06 20:51:59 -0300 2007".to_time, "Sat Sep 08 20:51:59 -0300 2007".to_time)
assert_equal "aproximadamente 1 mês", distance_of_time_in_words("Sat Oct 06 20:51:59 -0300 2007".to_time, "Sat Sep 06 20:51:59 -0300 2007".to_time)
assert_equal "2 meses", distance_of_time_in_words("Sat Nov 06 20:51:59 -0300 2007".to_time, "Sat Sep 06 20:51:59 -0300 2007".to_time)
assert_equal "12 meses", distance_of_time_in_words("Sat Nov 06 20:51:59 -0300 2006".to_time, "Sat Nov 06 20:51:59 -0300 2007".to_time)
assert_equal "aproximadamente 1 ano", distance_of_time_in_words("Sat Nov 06 20:51:59 -0300 2006".to_time, "Sat Dec 06 20:51:59 -0300 2007".to_time)
assert_equal "mais de 3 anos", distance_of_time_in_words("Sat Nov 06 20:51:59 -0300 2006".to_time, "Sat Dec 06 20:51:59 -0300 2009".to_time)
end
end

View File

@@ -0,0 +1,76 @@
# encoding: UTF-8
require File.dirname(__FILE__) + '/test_helper'
class DateTest < Test::Unit::TestCase
# to_date
def test_create_date_with_traditional_date_format
assert_equal "2007-01-02", "2007/01/02".to_date.to_s
end
def test_create_date_with_brazilian_date_format
assert_equal "2007-12-13", "13/12/2007".to_date.to_s
end
def test_create_date_with_other_brazilian_date_format
assert_equal "2007-02-01", "01-02-2007".to_date.to_s
end
#to_s
def test_date_to_s_with_traditional_format
assert_equal "2007-02-01", "01/02/2007".to_date.to_s
end
#to_s_br
def test_date_to_s_br
assert_equal "13/12/2007", "13/12/2007".to_date.to_s_br
end
#to_s_br when date is nil
def test_date_to_s_br_when_date_is_nil
assert_equal "", nil.to_s_br
end
#valid?
def test_valid_when_date_format_is_traditional_and_valid_format_and_valid_civil
assert Date.valid?("2007/01/02"), "Should be a valid date"
end
def test_valid_when_date_format_is_brazilian_and_valid_format_and_valid_civil
assert Date.valid?("13/12/2007"), "Should be a valid date"
end
if RUBY_VERSION < '1.9'
# IMPORTANTE: Date#parse se comporta de forma diferente no ruby 1.9,
# por isso esse teste não é executado no 1.9, ate que haja uma solução melhor
def test_valid_when_date_format_is_invalid
assert !Date.valid?("13/12/200A"), "Should be a invalid date"
end
end
def test_valid_when_date_format_is_brazilian_and_valid_format_and_invalid_civil
assert !Date.valid?("00/00/0000"), "Should be a invalid date"
end
def test_month_names
expected = [nil] + %w[Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro]
assert_equal expected, Date::MONTHNAMES
end
def test_days_names
assert_equal %w[Domingo Segunda-Feira Terça-Feira Quarta-Feira Quinta-Feira Sexta-Feira Sábado], Date::DAYNAMES
end
def test_abbr_monthnames
assert_equal [nil] + %w[Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez], Date::ABBR_MONTHNAMES
end
def test_abbr_daysnames
assert_equal %w[Dom Seg Ter Qua Qui Sex Sáb], Date::ABBR_DAYNAMES
end
def test_date_translation_with_strftime
assert_equal "Dezembro Dez Sexta-Feira Sex", Date.parse("2008-12-05").strftime("%B %b %A %a")
end
end

View File

@@ -0,0 +1,30 @@
require File.dirname(__FILE__) + '/test_helper'
class FeriadoParserTest < Test::Unit::TestCase
FERIADO_YML_PATH = File.expand_path(File.dirname(__FILE__) + '/../lib/brdata/config')
p FERIADO_YML_PATH
NATAL = Feriado.new("natal", 25, 12)
def test_feriados
feriados, metodos = FeriadoParser.parser(FERIADO_YML_PATH)
feriados.each {|feriado| assert_kind_of Feriado, feriado}
assert_equal NATAL, feriados.find {|f| f.nome == "natal"}
assert metodos.include?( "pascoa")
assert metodos.include?( "corpus_christi")
end
def test_feriados_quando_path_nao_eh_diretorio
assert_raise FeriadoParserDiretorioInvalidoError do
FeriadoParser.parser(File.dirname(__FILE__) + 'dinheiro_test.rb')
end
end
def test_feriados_quando_path_nao_contem_arquivos
assert_raise FeriadoParserDiretorioVazioError do
FeriadoParser.parser(File.dirname(__FILE__))
end
end
end

View File

@@ -0,0 +1,114 @@
# encoding: UTF-8
require File.dirname(__FILE__) + '/test_helper'
require 'rubygems'
require 'active_support/all'
class FeriadoTest < Test::Unit::TestCase
ATRIBUTOS = %w(dia mes nome)
# feriado
def test_feriado_quando_feriado
assert "25/12/2007".to_date.feriado?
end
def test_feriado_quando_nao_eh_feriado
assert !"01/12/2007".to_date.feriado?
end
def test_feriado_quando_feriado_eh_pascoa
assert "08/04/2007".to_date.feriado?
end
def test_feriado_quando_feriado_eh_corpus_christi
assert "07/06/2007".to_date.feriado?
end
# feriados nacionais
def test_confraternizacao_mundial
assert "01/01/2012".to_date.feriado?
end
def test_tiradentes
assert "21/04/2012".to_date.feriado?
end
def test_trabalho
assert "01/05/2012".to_date.feriado?
end
def test_independencia
assert "07/09/2012".to_date.feriado?
end
def test_finados
assert "02/11/2012".to_date.feriado?
end
def test_republica
assert "15/11/2012".to_date.feriado?
end
def test_natal
assert "25/12/2012".to_date.feriado?
end
def test_padroeira_brasil
assert "12/10/2012".to_date.feriado?
end
# pascoa
def test_pascoa
assert_equal "08/04/2007", "01/01/2007".to_date.pascoa.to_s_br
end
# corpus_christi
def test_corpus_christi
assert_equal "07/06/2007", "01/01/2007".to_date.corpus_christi.to_s_br
end
def test_attributes
feriado = Feriado.new("nome", "01", "01")
ATRIBUTOS.each do |atributo|
assert_respond_to feriado, "#{atributo}", "Deveria existir o método #{atributo}"
assert_respond_to feriado, "#{atributo}=", "Deveria existir o método #{atributo}="
end
end
def test_initialize
feriado = Feriado.new("nome", "01", "01")
assert feriado, "deveria ter criado um feriado"
assert_equal "nome", feriado.nome
assert_equal 1, feriado.dia
assert_equal 1, feriado.mes
end
def test_initialize_com_dia_invalido
['a', 0, -1, 32, '32', '-1', '0'].each do |invalid_day|
assert_raise FeriadoDiaInvalidoError do
Feriado.new("nome", invalid_day, "01")
raise "Deveria retornar FeriadoDiaInvalidoError para dia #{invalid_day}"
end
end
end
def test_initialize_com_mes_invalido
['a', '13', 13, -1, '-1', '0'].each do |invalid_month|
assert_raise FeriadoMesInvalidoError do
Feriado.new("nome", "01", invalid_month)
raise "Deveria retornar FeriadoMesInvalidoError para mês #{invalid_month}"
end
end
end
def test_igualdade
assert_equal Feriado.new("nome", "01", "01"), Feriado.new("nome2", "01", "01")
end
def test_igualdade_quando_nao_eh_igual
assert_not_equal Feriado.new("nome", "01", "01"), Feriado.new("nome2", "01", "02")
end
end

View File

@@ -0,0 +1,2 @@
require 'test/unit'
require File.dirname(__FILE__) + '/../lib/brdata'

View File

@@ -0,0 +1,59 @@
# encoding: UTF-8
require File.dirname(__FILE__) + '/test_helper'
class TimeTest < Test::Unit::TestCase
# to_time
def test_create_time_with_traditional_time_format
assert_equal "2007-01-02 01:23:00", "2007/01/02 01:23".to_time.to_s(:db)
end
def test_create_time_with_brazilian_time_format_without_time
assert_equal "2007-12-13 00:00:00", "13/12/2007".to_time.to_s(:db)
end
def test_create_time_with_brazilian_time_format_with_time
assert_equal "2007-12-13 01:23:00", "13/12/2007 01:23".to_time.to_s(:db)
end
def test_create_time_with_brazilian_time_format_with_time_with_single_number
assert_equal "2007-02-01 01:23:00", "1/2/2007 1:23".to_time.to_s(:db)
end
#to_s
def test_time_to_s_with_traditional_format
if RUBY_VERSION < '1.9'
assert_equal "Mon Sep 24 16:03:05 UTC 2007", "Mon Sep 24 16:03:05 UTC 2007".to_time.to_s
else
assert_equal "2007-09-24 16:03:05 UTC", "2007-09-24 16:03:05 UTC".to_time.to_s
end
end
#to_s_br
def test_time_to_s_br
assert_equal "24/09/2007 16:03", "Mon Sep 24 16:03:05 UTC 2007".to_time.to_s_br
end
def test_month_names
assert_equal [nil] + %w[Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro], Time::MONTHNAMES
end
def test_days_names
assert_equal %w[Domingo Segunda-Feira Terça-Feira Quarta-Feira Quinta-Feira Sexta-Feira Sábado],
Time::DAYNAMES
end
def test_abbr_monthnames
assert_equal [nil] + %w[Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez], Time::ABBR_MONTHNAMES
end
def test_abbr_daysnames
assert_equal %w[Dom Seg Ter Qua Qui Sex Sáb], Time::ABBR_DAYNAMES
end
def test_time_translation_with_strftime
assert_equal "Dezembro Dez Sexta-Feira Sex", Time.parse("2008-12-05").strftime("%B %b %A %a")
end
end