spec/compiler/context_blocks_spec.rb in curly-templates-2.3.0 vs spec/compiler/context_blocks_spec.rb in curly-templates-2.3.1

- old
+ new

@@ -17,24 +17,35 @@ let(:context_presenter_class) do Class.new(Curly::Presenter) do presents :form - def text - @form.upcase + def text_field(&block) + block.call(@form) end end end + let(:inner_context_presenter_class) do + Class.new(Curly::Presenter) do + presents :text_field + + def field + %(<input type="text" value="#{@text_field.upcase}">).html_safe + end + end + end + let(:context) { double("context") } let(:presenter) { presenter_class.new(context, {}) } before do stub_const("FormPresenter", context_presenter_class) + stub_const("TextFieldPresenter", inner_context_presenter_class) end it "compiles context blocks" do - evaluate('{{@form}}{{text}}{{/form}}').should == '<form>YO</form>' + evaluate('{{@form}}{{@text_field}}{{field}}{{/text_field}}{{/form}}').should == '<form><input type="text" value="YO"></form>' end it "fails if the component is not a context block" do expect { evaluate('{{@invalid}}yo{{/invalid}}') }.to raise_exception(Curly::Error) end