From 1f2fed44b9745a5f69227bb15a8e67316f127c96 Mon Sep 17 00:00:00 2001 From: Eric Berry Date: Fri, 1 Mar 2013 12:56:12 -0700 Subject: [PATCH] calendar event with > 58 chars title truncated in undated list when an undated event is created on caledar2 month view with a very long name, the name will be truncated in the undated list and will retain the truncation when dragging the event to a date. fixes CNVS-1256 test steps: - create a new course - go to calendar2 - create an undated event with a title that is > 58 charactes - ensure that the event on the right hand side is truncated - click and drag the event out to a date and ensure the name is truncated Change-Id: I94b36736d87acd7d5afb8501bfa78d02f182d2b9 Reviewed-on: https://gerrit.instructure.com/18210 Tested-by: Jenkins Reviewed-by: Mark Ericksen QA-Review: Marc LeGendre --- app/coffeescripts/handlebars_helpers.coffee | 7 ++++++- app/views/jst/calendar/undatedEvents.handlebars | 8 ++++---- spec/selenium/calendar2_spec.rb | 11 +++++++++++ spec/spec_helper.rb | 2 +- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/coffeescripts/handlebars_helpers.coffee b/app/coffeescripts/handlebars_helpers.coffee index 307a416a63c..d0de0c3bfd5 100644 --- a/app/coffeescripts/handlebars_helpers.coffee +++ b/app/coffeescripts/handlebars_helpers.coffee @@ -8,10 +8,11 @@ define [ 'compiled/util/dateSelect' 'compiled/util/mimeClass' 'compiled/str/convertApiUserContent' + 'compiled/str/TextHelper' 'jquery.instructure_date_and_time' 'jquery.instructure_misc_helpers' 'jquery.instructure_misc_plugins' -], (Handlebars, I18n, $, _, htmlEscape, semanticDateRange, dateSelect, mimeClass, convertApiUserContent) -> +], (Handlebars, I18n, $, _, htmlEscape, semanticDateRange, dateSelect, mimeClass, convertApiUserContent, textHelper) -> Handlebars.registerHelper name, fn for name, fn of { t : (key, defaultValue, options) -> @@ -289,5 +290,9 @@ define [ 'disabled' else '' + + truncate: ( string, max ) -> + return textHelper.truncateText( string, { max: max } ) + } return Handlebars diff --git a/app/views/jst/calendar/undatedEvents.handlebars b/app/views/jst/calendar/undatedEvents.handlebars index de74011c505..1ddd78658b2 100644 --- a/app/views/jst/calendar/undatedEvents.handlebars +++ b/app/views/jst/calendar/undatedEvents.handlebars @@ -1,14 +1,14 @@ {{#if events}} - Undated Events + {{#t "undated_events"}}Undated Events{{/t}} {{else}}
- Show undated events -{{/if}} + {{#t "show_undated_events"}}Show undated events{{/t}} +{{/if}} \ No newline at end of file diff --git a/spec/selenium/calendar2_spec.rb b/spec/selenium/calendar2_spec.rb index a6b02f833ea..ae70c57db69 100644 --- a/spec/selenium/calendar2_spec.rb +++ b/spec/selenium/calendar2_spec.rb @@ -150,6 +150,17 @@ describe "calendar2" do undated_events.size.should == 1 undated_events.first.text.should =~ /#{e.title}/ end + + it "should truncate very long undated event titles" do + e = make_event :start => nil, :title => "asdfjkasldfjklasdjfklasdjfklasjfkljasdklfjasklfjkalsdjsadkfljasdfkljfsdalkjsfdlksadjklsadjsadklasdf" + get "/calendar2" + + f(".undated-events-link").click + wait_for_ajaximations + undated_events = ff("#undated-events > ul > li") + undated_events.size.should == 1 + undated_events.first.text.should == "asdfjkasldfjklasdjfklasdjfklasjf..." + end end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 743db42c3f6..343fe26be87 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -31,7 +31,7 @@ Dir.glob("#{File.dirname(__FILE__).gsub(/\\/, "/")}/factories/*.rb").each { |fil # globally on every object. :context is already heavily used in our application, # so we remove rspec's definition. module Spec::DSL::Main - remove_method :context + remove_method :context if respond_to? :context end def truncate_table(model)