move the default_content? method from the editable_element entity to the liquid drop class in order to deal with the current locale
did
committed Nov 29, 2015
commit 1c938b3ef6e637dcee071b3ca76d8c6b407c4ed6
Showing 4
changed files with
10 additions
and 10 deletions
locomotive/steam/entities/editable_element.rb b/lib/locomotive/steam/entities/editable_element.rb
+0
-4
| @@ | @@ -23,10 +23,6 @@ module Locomotive::Steam |
| self[:format] || 'html' # only editable_text elements | |
| end | |
| - | def default_content? |
| - | self.content.blank? |
| - | end |
| - | |
| end | |
| end | |
locomotive/steam/liquid/tags/editable/text.rb b/lib/locomotive/steam/liquid/tags/editable/text.rb
+5
-1
| @@ | @@ -9,7 +9,7 @@ module Locomotive |
| def render_element(context, element) | |
| with_inline_editing(context, element) do | |
| - | content = if element.default_content? |
| + | content = if default_content?(element) |
| render_default_content | |
| else | |
| element.content | |
| @@ | @@ -39,6 +39,10 @@ module Locomotive |
| !!context.registers[:live_editing] && element.inline_editing | |
| end | |
| + | def default_content?(element) |
| + | element.content.blank? |
| + | end |
| + | |
| def default_element_attributes | |
| super.merge( | |
| content_from_default: self.render_default_content, | |
spec/integration/liquid/drops/page_spec.rb
+1
-1
| @@ | @@ -26,7 +26,7 @@ describe Locomotive::Steam::Liquid::Drops::Page do |
| context 'content updated by an user' do | |
| - | let(:elements) { [instance_double('EditableText', block: 'content/header', slug: 'title', content: 'Bonjour le monde', :base_url= => nil, localized_attributes: [], default_content?: false, format: 'raw')] } |
| + | let(:elements) { [instance_double('EditableText', block: 'content/header', slug: 'title', content: 'Bonjour le monde', :base_url= => nil, localized_attributes: [], format: 'raw')] } |
| before do | |
| services.locale = :en | |
spec/unit/liquid/tags/editable/text_spec.rb
+4
-4
| @@ | @@ -75,7 +75,7 @@ describe Locomotive::Steam::Liquid::Tags::Editable::Text do |
| let(:element_editing) { true } | |
| let(:child_page) { instance_double('Page', fullpath: 'child-page') } | |
| - | let(:element) { instance_double('EditableText', _id: 42, id: 42, default_content?: true, inline_editing?: element_editing, inline_editing: element_editing, format: 'html') } |
| + | let(:element) { instance_double('EditableText', _id: 42, id: 42, content: nil, inline_editing?: element_editing, inline_editing: element_editing, format: 'html') } |
| let(:services) { Locomotive::Steam::Services.build_instance(nil) } | |
| let(:context) { ::Liquid::Context.new({}, {}, { page: child_page, services: services, live_editing: live_editing }) } | |
| @@ | @@ -102,7 +102,7 @@ describe Locomotive::Steam::Liquid::Tags::Editable::Text do |
| let(:layout) { instance_double('Page', fullpath: 'layout') } | |
| let(:source) { "{% editable_text title, hint: 'Simple short text', fixed: true %}Hello world{% endeditable_text %}" } | |
| let(:options) { { page: layout } } | |
| - | let(:element) { instance_double('EditableText', _id: 42, id: 42, default_content?: true, inline_editing?: element_editing, inline_editing: element_editing, format: 'html', fixed: true) } |
| + | let(:element) { instance_double('EditableText', _id: 42, id: 42, content: nil, inline_editing?: element_editing, inline_editing: element_editing, format: 'html', fixed: true) } |
| it 'fetches the related page in order to get the element' do | |
| expect(services.page_finder).to receive(:find).with('layout').and_return(layout) | |
| @@ | @@ -113,7 +113,7 @@ describe Locomotive::Steam::Liquid::Tags::Editable::Text do |
| context 'modified content' do | |
| - | let(:element) { instance_double('EditableText', content: 'Hello world!', default_content?: false, format: 'html') } |
| + | let(:element) { instance_double('EditableText', content: 'Hello world!', format: 'html') } |
| it { is_expected.to eq 'Hello world!' } | |
| end | |
| @@ | @@ -129,7 +129,7 @@ describe Locomotive::Steam::Liquid::Tags::Editable::Text do |
| context 'markdown format' do | |
| - | let(:element) { instance_double('EditableText', content: "#Hello world!\nLorem ipsum", default_content?: false, format: 'markdown') } |
| + | let(:element) { instance_double('EditableText', content: "#Hello world!\nLorem ipsum", format: 'markdown') } |
| it { is_expected.to eq "<h1>Hello world!</h1>\n<p>Lorem ipsum</p>\n" } | |
| end | |