From 9b35599b1fafef4d0c6b60cebc8b5dd8631159b9 Mon Sep 17 00:00:00 2001 From: Javier Gonel Date: Sun, 23 Jun 2013 20:53:44 +0300 Subject: [PATCH] Use a selector in unselectOption like selectOption Don't know why, but unselectOption couldn't use a selector like selectOption was doing. --- src/zombie/browser.coffee | 5 +++-- test/forms_test.coffee | 12 ++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/zombie/browser.coffee b/src/zombie/browser.coffee index ba41cf70c..04e8b60cd 100644 --- a/src/zombie/browser.coffee +++ b/src/zombie/browser.coffee @@ -817,10 +817,11 @@ class Browser extends EventEmitter # # Unselects an option. # - # option - option to unselect + # selector - selector or option to unselect # # Without callback, returns this. - unselectOption: (option)-> + unselectOption: (selector)-> + option = @query(selector) if option && option.getAttribute("selected") select = @xpath("./ancestor::select", option).iterateNext() unless select.multiple diff --git a/test/forms_test.coffee b/test/forms_test.coffee index e0c2599ae..8ca235cce 100644 --- a/test/forms_test.coffee +++ b/test/forms_test.coffee @@ -607,6 +607,18 @@ describe "Forms", -> selected = (!!option.getAttribute("selected") for option in browser.querySelector("#field-hobbies").options) assert.deepEqual selected, [true, false, false] + describe "unselect name using option selector", -> + before (done)-> + browser.visit("/forms/form") + .then -> + browser.selectOption("#hobbies-messy") + browser.unselectOption("#hobbies-messy") + return + .then(done, done) + + it "should unselect items", -> + assert !browser.query("#hobbies-messy").selected + describe "with callback", -> before (done)-> browser.visit "/forms/form", ->