#= require ultimate/underscore/underscore #= require ultimate/underscore/underscore.string #= require ultimate/helpers/tag module "Ultimate.Helpers.Tag" _.extend @, Ultimate.Helpers.Tag test "tag_options", -> strictEqual tag_options(), "" strictEqual tag_options({}), "" ok /title="Some title"/.test tag_options(class: "some-class", title: "Some title") strictEqual tag_options(class: ["song", "play>"]), ' class="song play>"' strictEqual tag_options(disabled: true, itemscope: false, multiple: true, readonly: true), ' disabled="disabled" multiple="multiple" readonly="readonly"' strictEqual tag_options(data: {remote: true}, role: "ajax"), ' data-remote="true" role="ajax"' strictEqual tag_options(data: {inner: {section: true}}), ' data-inner="{"section":true}"' strictEqual tag_options(data: {inner: {section: true}}, false), ' data-inner="{"section":true}"' strictEqual tag_options(included: ''), ' included=""' test "tag", -> strictEqual tag('br'), '
' strictEqual tag('br', null, true), '
' strictEqual tag('input', type: 'text', disabled: true), '' strictEqual tag('img', src: 'open & shut.png'), '' # strictEqual tag("img", {src: "open & shut.png"}, false, false), '' # strictEqual tag("div", data: {name: 'Stephen', city_state: "(Chicago IL)"}), '
' test "content_tag", -> strictEqual content_tag('div', '', class: ['some', 'class']), '
' strictEqual content_tag('div', '', class: 'some class'), '
<Inner content>
' strictEqual content_tag('div', '', class: 'some class', false), '
' strictEqual content_tag('div', class: 'some class', -> ''), '
<Inner content>
' strictEqual content_tag('div', class: 'some class', false, -> ''), '
<Inner content>
'