Tôi đang viết một plugin sử dụng plugin hiện có mà tôi muốn giả lập.Tôi làm cách nào để tạo một plugin jQuery?
Plugin Tôi đang viết trông loại như thế này:
(function($){
$.widget("myPlugin",{
_create: function(){
var otherControl = $("<div></div>");
otherControl.pluginWhichShouldBeMocked({foo: "bar"});
this.element.append(otherControl);
}
});
})(jQuery);
Và tôi có một bài kiểm tra Jasmine mà loại trông như thế này:
describe("When creating", function(){
var element;
var passedOptions;
beforeEach(function(){
jQuery.pluginWhichShouldBeMocked = function(options){
passedOptions = options;
}
element = $("<div></div>");
element.myPlugin();
});
it("should create the other plugin and pass 'bar' to it as the foo parameter", function(){
expect(passedOptions.foo).toEqual("bar");
});
});
dòng Đây là nơi tôi đã cố gắng để giả lập plugin:
jQuery.pluginWhichShouldBeMocked = function(options){
passedOptions = options;
}
Ví dụ plugin thực tế vẫn được gọi.