spec/stache/asset_helper_spec.rb in stache-1.0.3 vs spec/stache/asset_helper_spec.rb in stache-1.1.0

- old
+ new

@@ -37,30 +37,80 @@ describe "#template_include_tag" do it "renders a script tag with the template contents" do helper.lookup_context.should_receive(:find).with('widgets/oh_herro', [], true, [], anything).and_return(TemplateStub.new("{{ awyeah }}")) - helper.template_include_tag("widgets/oh_herro").should == "<script id=\"oh_herro_template\" type=\"text/html\">{{ awyeah }}</script>" + helper.template_include_tag("widgets/oh_herro").should == "<script id=\"oh_herro\" type=\"text/html\">{{ awyeah }}</script>" end + it "renders a script tag with the template contents for the passed in symbol" do + helper.lookup_context.should_receive(:find).with(:oh_herro, [], true, [], anything).and_return(TemplateStub.new("{{ awyeah }}")) + + helper.template_include_tag(:oh_herro).should == "<script id=\"oh_herro\" type=\"text/html\">{{ awyeah }}</script>" + end + it "renders a script tag with the template contents for the passed in symbols" do + helper.lookup_context.should_receive(:find).with(:oh_herro, [], true, [], anything).and_return(TemplateStub.new("{{ awyeah }}")) + helper.lookup_context.should_receive(:find).with(:oh_hai, [], true, [], anything).and_return(TemplateStub.new("{{ awyes }}")) + + helper.template_include_tag(:oh_herro, :oh_hai).should == "<script id=\"oh_herro\" type=\"text/html\">{{ awyeah }}</script>\n<script id=\"oh_hai\" type=\"text/html\">{{ awyes }}</script>" + end it "renders a script tag with the template contents and given id" do helper.lookup_context.should_receive(:find).with('widgets/oh_herro', [], true, [], anything).and_return(TemplateStub.new("{{ awyeah }}")) - helper.template_include_tag("widgets/oh_herro", :id => 'oh_herro_tmpl').should == "<script id=\"oh_herro_tmpl\" type=\"text/html\">{{ awyeah }}</script>" + helper.template_include_tag("widgets/oh_herro", id: 'oh_herro_tmpl').should == "<script id=\"oh_herro_tmpl\" type=\"text/html\">{{ awyeah }}</script>" end it "renders a script tag with the template contents and given options" do helper.lookup_context.should_receive(:find).with('widgets/oh_herro', [], true, [], anything).and_return(TemplateStub.new("{{ awyeah }}")) - helper.template_include_tag("widgets/oh_herro", :data => {:engine => 'mustache'}). - should == "<script data-engine=\"mustache\" id=\"oh_herro_template\" type=\"text/html\">{{ awyeah }}</script>" + helper.template_include_tag("widgets/oh_herro", data: {engine: 'mustache'}). + should == "<script data-engine=\"mustache\" id=\"oh_herro\" type=\"text/html\">{{ awyeah }}</script>" end it "will find first by partial and later by non-partial" do helper.lookup_context.should_receive(:find).with('widgets/oh_herro', anything, true, anything, anything).and_raise(StandardError.new("noooooo")) helper.lookup_context.should_receive(:find).with('widgets/oh_herro', anything, false, anything, anything).and_return(TemplateStub.new("{{ awyeah }}")) - helper.template_include_tag("widgets/oh_herro").should == "<script id=\"oh_herro_template\" type=\"text/html\">{{ awyeah }}</script>" + helper.template_include_tag("widgets/oh_herro").should == "<script id=\"oh_herro\" type=\"text/html\">{{ awyeah }}</script>" end it "raises if it cannot find the template" do lambda { helper.template_include_tag("arrrgh") }.should raise_error(ActionView::MissingTemplate) + end + + context "when config.include_path_in_id is set to true" do + before do + Stache.include_path_in_id = true + + helper.lookup_context.should_receive(:find) + .with(nested_path, [], true, [], anything) + .and_return(TemplateStub.new("{{ awyeah }}")) + end + + after do + Stache.include_path_in_id = false + end + + let(:nested_path) { 'nested/path/to/oh_herro' } + + it "renders a script tag id with template path included (underscored)" do + helper.template_include_tag(nested_path) + .should == "<script id=\"nested_path_to_oh_herro\" type=\"text/html\">{{ awyeah }}</script>" + end + + context "when template_base_path is set" do + before do + Stache.template_base_path = 'widgets/' + end + + it "renders a script tag id without a template path included" do + helper.template_include_tag(nested_path) + .should == "<script id=\"nested_path_to_oh_herro\" type=\"text/html\">{{ awyeah }}</script>" + end + end + + context "when id option is set" do + it "renders a script tag with given id and without a full path" do + helper.template_include_tag(nested_path, id: 'oh_herro_tmpl') + .should == "<script id=\"oh_herro_tmpl\" type=\"text/html\">{{ awyeah }}</script>" + end + end end end end