From c88739cde8acf436cf66c145e921c8beb164af45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denny=20Korsuk=C3=A9witz?= Date: Mon, 2 Sep 2019 15:28:39 +0200 Subject: [PATCH] Fixes #2710 - ignore 'new line' between trigger chars. --- .../app/lib/base/jquery.textmodule.js | 5 +++- ...y_examples.rb => text_modules_examples.rb} | 23 ++++++++++++++++++- spec/system/ticket/create_spec.rb | 4 ++-- spec/system/ticket/update_spec.rb | 4 ++-- 4 files changed, 30 insertions(+), 6 deletions(-) rename spec/system/examples/{text_modules_group_dependency_examples.rb => text_modules_examples.rb} (67%) diff --git a/app/assets/javascripts/app/lib/base/jquery.textmodule.js b/app/assets/javascripts/app/lib/base/jquery.textmodule.js index 0fa0db19b..0b9e19572 100644 --- a/app/assets/javascripts/app/lib/base/jquery.textmodule.js +++ b/app/assets/javascripts/app/lib/base/jquery.textmodule.js @@ -155,7 +155,10 @@ if (e.keyCode === 16) return // enter - if (e.keyCode === 13) return + if (e.keyCode === 13) { + this.buffer = '' + return + } // arrow keys if (e.keyCode === 37 || e.keyCode === 38 || e.keyCode === 39 || e.keyCode === 40) return diff --git a/spec/system/examples/text_modules_group_dependency_examples.rb b/spec/system/examples/text_modules_examples.rb similarity index 67% rename from spec/system/examples/text_modules_group_dependency_examples.rb rename to spec/system/examples/text_modules_examples.rb index 488f53467..9f27788ec 100644 --- a/spec/system/examples/text_modules_group_dependency_examples.rb +++ b/spec/system/examples/text_modules_examples.rb @@ -1,4 +1,4 @@ -RSpec.shared_examples 'group-dependent text modules' do |path:| +RSpec.shared_examples 'text modules' do |path:| let!(:group1) { create :group } let!(:group2) { create :group } @@ -6,6 +6,27 @@ RSpec.shared_examples 'group-dependent text modules' do |path:| let!(:text_module_group1) { create :text_module, groups: [group1] } let!(:text_module_group2) { create :text_module, groups: [group2] } + it 'shows when send ::' do + visit path + within(:active_content) do + find('select[name="group_id"]').select(1) + find(:richtext).send_keys(':') + find(:richtext).send_keys(':') + expect(page).to have_selector(:text_module, text_module_without_group.id) + end + end + + it 'does not show when send :enter:' do + visit path + within(:active_content) do + find('select[name="group_id"]').select(1) + find(:richtext).send_keys(':') + find(:richtext).send_keys(:enter) + find(:richtext).send_keys(':') + expect(page).to have_no_selector(:text_module, text_module_without_group.id) + end + end + it 'supports group-dependent text modules' do # give user access to all groups including those created diff --git a/spec/system/ticket/create_spec.rb b/spec/system/ticket/create_spec.rb index f04bd1ed7..791c99fd4 100644 --- a/spec/system/ticket/create_spec.rb +++ b/spec/system/ticket/create_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -require 'system/examples/text_modules_group_dependency_examples' +require 'system/examples/text_modules_examples' RSpec.describe 'Ticket Create', type: :system do context 'when applying ticket templates' do @@ -34,6 +34,6 @@ RSpec.describe 'Ticket Create', type: :system do end context 'when using text modules' do - include_examples 'group-dependent text modules', path: 'ticket/create' + include_examples 'text modules', path: 'ticket/create' end end diff --git a/spec/system/ticket/update_spec.rb b/spec/system/ticket/update_spec.rb index 6f8838c0a..ecd2c2563 100644 --- a/spec/system/ticket/update_spec.rb +++ b/spec/system/ticket/update_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -require 'system/examples/text_modules_group_dependency_examples' +require 'system/examples/text_modules_examples' RSpec.describe 'Ticket Update', type: :system do @@ -139,6 +139,6 @@ RSpec.describe 'Ticket Update', type: :system do end context 'when using text modules' do - include_examples 'group-dependent text modules', path: "#ticket/zoom/#{Ticket.first.id}" + include_examples 'text modules', path: "#ticket/zoom/#{Ticket.first.id}" end end