Fixed shared behaviors
Reported by TJ Holowaychuk | July 3rd, 2009 @ 03:17 PM | in 3.0
Apparently are not working properly and/or not documented properly
describe '.loc-link'
before
window.XMLHttpRequest = JSpec.XHR;
runLivequeries = function() {
if ($.livequery) {
queries = $.livequery.queries;
for (var i = 0; i < queries.length; i++) {
queries[i].run();
}
}
};
$.ajaxSettings.async = false;
$.fx.off = true;
$.fn.fireEvent = function(event, obj) {
return this.each(function() {
runLivequeries();
var basic = {type: event, target: this, preventDefault: true};
$.extend(basic, obj || {});
$(this).trigger(event, [basic]);
});
};
end
before_each
$('#dom').empty();
end
before
tested = 'loc-link'
dom = $('#dom');
end
before_each
button = $("<div class='"+tested+"'
href='http://wut.com'>hi</div>");
mainpane = $("<div id='main-pane'></div>");
ajaxLoader = $("<div class='ajax-loader' style='visibility:
hidden;'></div>");
mainpane.append(ajaxLoader);
dom
.append(button);
.append(mainpane);
end
describe '#click'
before_each
ajaxLoader.css('visibility', 'hidden');
success = 'foobar!'
end
it "shows the ajax loader"
JSpec.XHR.returns(success);
jQuery(ajaxLoader).css('visibility').should.be 'hidden'
button.click();
jQuery(ajaxLoader).css('visibility').should.be 'visible'
end
it "makes an ajax request to the element's href attr"
button.click();
JSpec.XHR.url.should.equal button.attr('href')
end
describe "success"
before_each
JSpec.XHR.returns(success);
updateChar_called = false
old_updateChar = Relife.updateChar
Relife.updateChar = function() {
updateChar_called = true;
};
end
after_each
Relife.updateChar = old_updateChar
end
it "replaces the #main-pane with the results of the request"
button.click();
mainpane.text().should.equal success
end
it "calls Relife.updateChar()"
Relife.should.receive('updateChar')
button.click();
end
it "should not call Relife.updateChar if the no-char-reload
class is on it"
button.addClass('no-char-reload');
updateChar_called.should.be false
button.click();
updateChar_called.should.be false
end
end
describe "error"
before_each
stub(Relife, 'showError')
ajaxLoader.css('visibility', 'visible');
JSpec.XHR.returns('', 'application/json', 500);
end
it "should hide the ajax loader"
button.click();
ajaxLoader.css('visibility').should.equal 'hidden'
end
it "should call Relife.showError"
Relife.should.receive('showError')
button.click();
end
end
end
describe ".choice-adventure"
before
tested = 'choice-adventure'
end
should_behave_like('.loc-link')
end
end
Comments and changes to this ticket
-
TJ Holowaychuk July 3rd, 2009 @ 05:27 PM
- State changed from new to open
Specs show this is working as well, open until further notice.
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
Tiny, full-featured JavaScript BDD framework.