diff options
Diffstat (limited to 'spec/helpers/application_helper_spec.rb')
-rw-r--r-- | spec/helpers/application_helper_spec.rb | 125 |
1 files changed, 62 insertions, 63 deletions
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index b81249a1e29..2229490410f 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -1,40 +1,39 @@ -# coding: utf-8 -require 'spec_helper' +require "spec_helper" describe ApplicationHelper do - describe 'current_controller?' do + describe "current_controller?" do before do - stub_controller_name('foo') + stub_controller_name("foo") end - it 'returns true when controller matches argument' do + it "returns true when controller matches argument" do expect(helper.current_controller?(:foo)).to be_truthy end - it 'returns false when controller does not match argument' do + it "returns false when controller does not match argument" do expect(helper.current_controller?(:bar)).to be_falsey end - it 'takes any number of arguments' do + it "takes any number of arguments" do expect(helper.current_controller?(:baz, :bar)).to be_falsey expect(helper.current_controller?(:baz, :bar, :foo)).to be_truthy end - context 'when namespaced' do + context "when namespaced" do before do - stub_controller_path('bar/foo') + stub_controller_path("bar/foo") end - it 'returns true when controller matches argument' do + it "returns true when controller matches argument" do expect(helper.current_controller?(:foo)).to be_truthy end - it 'returns true when controller and namespace matches argument in path notation' do - expect(helper.current_controller?('bar/foo')).to be_truthy + it "returns true when controller and namespace matches argument in path notation" do + expect(helper.current_controller?("bar/foo")).to be_truthy end - it 'returns false when namespace doesnt match' do - expect(helper.current_controller?('foo/foo')).to be_falsey + it "returns false when namespace doesnt match" do + expect(helper.current_controller?("foo/foo")).to be_falsey end end @@ -47,20 +46,20 @@ describe ApplicationHelper do end end - describe 'current_action?' do + describe "current_action?" do before do - stub_action_name('foo') + stub_action_name("foo") end - it 'returns true when action matches' do + it "returns true when action matches" do expect(helper.current_action?(:foo)).to be_truthy end - it 'returns false when action does not match' do + it "returns false when action does not match" do expect(helper.current_action?(:bar)).to be_falsey end - it 'takes any number of arguments' do + it "takes any number of arguments" do expect(helper.current_action?(:baz, :bar)).to be_falsey expect(helper.current_action?(:baz, :bar, :foo)).to be_truthy end @@ -70,124 +69,124 @@ describe ApplicationHelper do end end - describe 'simple_sanitize' do + describe "simple_sanitize" do let(:a_tag) { '<a href="#">Foo</a>' } - it 'allows the a tag' do + it "allows the a tag" do expect(helper.simple_sanitize(a_tag)).to eq(a_tag) end - it 'allows the span tag' do + it "allows the span tag" do input = '<span class="foo">Bar</span>' expect(helper.simple_sanitize(input)).to eq(input) end - it 'disallows other tags' do + it "disallows other tags" do input = "<strike><b>#{a_tag}</b></strike>" expect(helper.simple_sanitize(input)).to eq(a_tag) end end - describe 'time_ago_with_tooltip' do + describe "time_ago_with_tooltip" do def element(*arguments) - Time.zone = 'UTC' - @time = Time.zone.parse('2015-07-02 08:23') + Time.zone = "UTC" + @time = Time.zone.parse("2015-07-02 08:23") element = helper.time_ago_with_tooltip(@time, *arguments) Nokogiri::HTML::DocumentFragment.parse(element).first_element_child end - it 'returns a time element' do - expect(element.name).to eq 'time' + it "returns a time element" do + expect(element.name).to eq "time" end - it 'includes the date string' do + it "includes the date string" do expect(element.text).to eq @time.strftime("%b %d, %Y") end - it 'has a datetime attribute' do - expect(element.attr('datetime')).to eq '2015-07-02T08:23:00Z' + it "has a datetime attribute" do + expect(element.attr("datetime")).to eq "2015-07-02T08:23:00Z" end - it 'has a formatted title attribute' do - expect(element.attr('title')).to eq 'Jul 2, 2015 8:23am' + it "has a formatted title attribute" do + expect(element.attr("title")).to eq "Jul 2, 2015 8:23am" end - it 'includes a default js-timeago class' do - expect(element.attr('class')).to eq 'js-timeago' + it "includes a default js-timeago class" do + expect(element.attr("class")).to eq "js-timeago" end - it 'accepts a custom html_class' do - expect(element(html_class: 'custom_class').attr('class')).to eq 'js-timeago custom_class' + it "accepts a custom html_class" do + expect(element(html_class: "custom_class").attr("class")).to eq "js-timeago custom_class" end - it 'accepts a custom tooltip placement' do - expect(element(placement: 'bottom').attr('data-placement')).to eq 'bottom' + it "accepts a custom tooltip placement" do + expect(element(placement: "bottom").attr("data-placement")).to eq "bottom" end - it 'converts to Time' do + it "converts to Time" do expect { helper.time_ago_with_tooltip(Date.today) }.not_to raise_error end - it 'add class for the short format' do - timeago_element = element(short_format: 'short') + it "add class for the short format" do + timeago_element = element(short_format: "short") - expect(timeago_element.attr('class')).to eq 'js-short-timeago' + expect(timeago_element.attr("class")).to eq "js-short-timeago" expect(timeago_element.next_element).to eq nil end end - describe '#active_when' do - it { expect(helper.active_when(true)).to eq('active') } + describe "#active_when" do + it { expect(helper.active_when(true)).to eq("active") } it { expect(helper.active_when(false)).to eq(nil) } end - describe '#support_url' do - context 'when alternate support url is specified' do - let(:alternate_url) { 'http://company.example.com/getting-help' } + describe "#support_url" do + context "when alternate support url is specified" do + let(:alternate_url) { "http://company.example.com/getting-help" } - it 'returns the alternate support url' do + it "returns the alternate support url" do stub_application_setting(help_page_support_url: alternate_url) expect(helper.support_url).to eq(alternate_url) end end - context 'when alternate support url is not specified' do - it 'builds the support url from the promo_url' do - expect(helper.support_url).to eq(helper.promo_url + '/getting-help/') + context "when alternate support url is not specified" do + it "builds the support url from the promo_url" do + expect(helper.support_url).to eq(helper.promo_url + "/getting-help/") end end end - describe '#locale_path' do - it 'returns the locale path with an `_`' do - Gitlab::I18n.with_locale('pt-BR') do - expect(helper.locale_path).to include('assets/locale/pt_BR/app') + describe "#locale_path" do + it "returns the locale path with an `_`" do + Gitlab::I18n.with_locale("pt-BR") do + expect(helper.locale_path).to include("assets/locale/pt_BR/app") end end end - describe '#client_class_list' do - it 'returns string containing CSS classes representing client browser and platform' do + describe "#client_class_list" do + it "returns string containing CSS classes representing client browser and platform" do class_list = helper.client_class_list - expect(class_list).to eq('gl-browser-generic gl-platform-other') + expect(class_list).to eq("gl-browser-generic gl-platform-other") end end - describe '#client_js_flags' do - it 'returns map containing JS flags representing client browser and platform' do + describe "#client_js_flags" do + it "returns map containing JS flags representing client browser and platform" do flags_list = helper.client_js_flags expect(flags_list[:isGeneric]).to eq(true) expect(flags_list[:isOther]).to eq(true) end end - describe '#autocomplete_data_sources' do + describe "#autocomplete_data_sources" do let(:project) { create(:project) } let(:noteable_type) { Issue } - it 'returns paths for autocomplete_sources_controller' do + it "returns paths for autocomplete_sources_controller" do sources = helper.autocomplete_data_sources(project, noteable_type) expect(sources.keys).to match_array([:members, :issues, :mergeRequests, :labels, :milestones, :commands, :snippets]) sources.keys.each do |key| |