aboutsummaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorrhenium <re4k@re4k.info>2013-06-06 04:09:55 +0900
committerrhenium <re4k@re4k.info>2013-06-06 04:09:55 +0900
commit181843b713fd1a8301e20e9132cf90ad10f50fa7 (patch)
tree6d153f9a743fd86d9d87199c521fc2d5ef35e432 /spec
parent10660a4699689220087f2dd0451b2ca2f6f0bafd (diff)
downloadaclog-181843b713fd1a8301e20e9132cf90ad10f50fa7.tar.gz
add ApplicationHelper spec
Diffstat (limited to 'spec')
-rw-r--r--spec/helpers/application_helper_spec.rb76
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> &gt; <url:https\\://pbs.twimg.com/media/BL6UraBCIAAyBLH.png\\:large:pbs.twimg.com/media/BL6UraBC…> &lt;") }
+ 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
+