Simple Plugin
This plugin simply wraps the jQuery UI dialog (http://jqueryui.com/demos/dialog/).
do ($ = jQuery) ->
methods =
init: (options) ->
dialogElement = $(options.dialogSelector)
dialog = dialogElement.dialog autoOpen: false, modal: true, resizable: false
$(options.inputSelector).click -> dialog.dialog 'open'
$.fn.simple = (options) ->
settings = dialogSelector:'.dialog', inputSelector:'.input'
if options
$.extend settings, options
methods.init settings
Pavlov SpecsQUnit is a JavaScript testing framework (learn more about it at http://docs.jquery.com/Qunit) and Pavlov (https://github.com/mmonteleone/pavlov) extends QUnit with several features that promote Behavior-Driven Development (BDD). Here's the example:
pavlov.specify "Simple Plugin", ->
describe "Given default options", ->
before -> $(this).simple()
describe "when executing a click event", ->
before -> $('.input').click()
it "it should open the dialog", ->
assert($('.dialog').parents('.ui-dialog:visible').length).isTrue()
after ->
$('.dialog').dialog('close')
describe "When the click event has not been executed", ->
it "it should not have an open dialog", ->
assert($('.dialog').parents('.ui-dialog:visible').length).isFalse()
after ->
$('.dialog').dialog('close')
describe "Given all custom options", ->
before ->
$(this).simple dialogSelector:'.customDialog', inputSelector:'.customInput'
describe "when executing a click event", ->
before -> $('.customInput').click()
it "it should open the custom dialog", ->
assert($('.customDialog').parents('.ui-dialog:visible').length).isTrue()
after ->
$('.customDialog').dialog('close')
describe "Given only a custom dialogSelector", ->
before -> $(this).simple dialogSelector:'.customDialog'
describe "when executing a click event", ->
before -> $('.input').click()
it "it should open the custom dialog", ->
assert($('.customDialog').parents('.ui-dialog:visible').length).isTrue()
after ->
$('.customDialog').dialog('close')
describe "Given only a custom inputSelector", ->
before -> $(this).simple inputSelector:'.customInput'
describe "when executing a click event", ->
before -> $('.customInput').click()
it "it should open the dialog", ->
assert($('.dialog').parents('.ui-dialog:visible').length).isTrue()
after ->
$('.dialog').dialog('close')
The OutputOnce we have this in place and create a simple test runner page, we end up with the standard QUnit output that looks like the following:
No comments:
Post a Comment