diff options
author | rhenium <re4k@re4k.info> | 2013-06-06 04:09:55 +0900 |
---|---|---|
committer | rhenium <re4k@re4k.info> | 2013-06-06 04:09:55 +0900 |
commit | 181843b713fd1a8301e20e9132cf90ad10f50fa7 (patch) | |
tree | 6d153f9a743fd86d9d87199c521fc2d5ef35e432 /spec | |
parent | 10660a4699689220087f2dd0451b2ca2f6f0bafd (diff) | |
download | aclog-181843b713fd1a8301e20e9132cf90ad10f50fa7.tar.gz |
add ApplicationHelper spec
Diffstat (limited to 'spec')
-rw-r--r-- | spec/helpers/application_helper_spec.rb | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb new file mode 100644 index 0000000..c12af76 --- /dev/null +++ b/spec/helpers/application_helper_spec.rb @@ -0,0 +1,76 @@ +# -*- encoding: utf-8 -*- +require "spec_helper" + +describe ApplicationHelper do + describe "#logged_in?" do + context "when logged in" do + before do + session[:account] = FactoryGirl.create(:account_1) + session[:user_id] = session[:account].user_id + end + subject { !!helper.logged_in? } + it { should be true } + end + + context "when not logged in" do + before do + session[:account] = session[:user_id] = nil + end + subject { !!helper.logged_in? } + it { should be false } + end + end + + describe "#format_time" do + let(:str) { "2013-04-14 01:02:03" } + let(:source) { Time.parse("#{str} +09:00") } + subject { helper.format_time(source) } + it { should eq str } + end + + describe "#format_tweet_text" do + subject { helper.format_tweet_text(str) } + context "when contains an @mention" do + let(:str) { "abcde <mention:cn> eigt" } + it { should eq "abcde <a href=\"/cn\">@cn</a> eigt" } + end + context "when contains an url" do + let(:str) { "abcde <url:https\\://pbs.twimg.com/media/BL6UraBCIAAyBLH.png\\:large:pbs.twimg.com/media/BL6UraBC…> !!" } + it { should eq "abcde <a href=\"https://pbs.twimg.com/media/BL6UraBCIAAyBLH.png:large\">pbs.twimg.com/media/BL6UraBC…</a> !!" } + end + context "when contains a hashtag" do + let(:str) { "aidf <hashtag:hashtags> end" } + it { should eq "aidf <a href=\"https://twitter.com/search?q=%23hashtags\">#hashtags</a> end" } + end + context "when contains a symbol" do + let(:str) { "aidf <symbol:kodaira> end" } + it { should eq "aidf <a href=\"https://twitter.com/search?q=%24kodaira\">$kodaira</a> end" } + end + context "when mixed" do + let(:str) { "<mention:cn> <symbol:see> this <hashtag:photo> <url:https\\://pbs.twimg.com/media/BL6UraBCIAAyBLH.png\\:large:pbs.twimg.com/media/BL6UraBC…>" } + it { should eq "<a href=\"/cn\">@cn</a> <a href=\"https://twitter.com/search?q=%24see\">$see</a> this <a href=\"https://twitter.com/search?q=%23photo\">#photo</a> <a href=\"https://pbs.twimg.com/media/BL6UraBCIAAyBLH.png:large\">pbs.twimg.com/media/BL6UraBC…</a>" } + end + end + + describe "#twitter_status_url" do + let(:user) { FactoryGirl.create(:user) } + let(:tweet) { FactoryGirl.create(:tweet, user: user) } + subject { helper.twitter_status_url(tweet) } + it { should eq "https://twitter.com/#{user.screen_name}/status/#{tweet.id}" } + end + + describe "#twitter_user_url" do + let(:screen_name) { "screen_name" } + subject { helper.twitter_user_url(screen_name) } + it { should eq "https://twitter.com/#{screen_name}" } + end + + describe "#title" do + let(:user) { FactoryGirl.create(:user) } + let(:tweet) { FactoryGirl.create(:tweet, user: user, text: "<mention:cn> <symbol:see> this <hashtag:photo> > <url:https\\://pbs.twimg.com/media/BL6UraBCIAAyBLH.png\\:large:pbs.twimg.com/media/BL6UraBC…> <") } + before { @user = user; @tweet = tweet } + subject { helper.title } + it { should eq "\"@cn $see this #photo > pbs.twimg.com/media/BL6UraBC… <\" from #{user.screen_name} - aclog" } + end +end + |