jQueryTesting ein Click-Ereignis mit Jasmin, die ein Stylesheet auf den Kopf
$(".theme-picker").click(function() {
$('head').append('<link rel="stylesheet" href="" type="text/css" media="screen" id="theme_switcher"/>');
});
Jasmin
describe("style.switcher", function() {
beforeEach(function() {
jasmine.getFixtures().set(
'<head></head>' +
'<div class="switcher">' +
'<a class="theme-picker" title="theme-picker"></a>' +
'<a class="folder-picker" title="folder-picker"></a>' +
'<a class="font-picker" title="font-picker"></a>' +
'<a class="color-picker" title="color-picker"></a>' +
'</div>');
});
it("loads themes switcher link in head", function() {
$('.theme-picker').trigger('click');
expect($('head')).toContain("theme_switcher");
});
});
Ich bin neu in Jasmin und der Test nicht anhängt derzeit. Ich bin mir nicht sicher, ob es das Fixture, das Trigger Event oder etwas anderes ist.
Ich war nicht bewusst, dass 'toContain()' einen CSS-Selektor als Argument verwenden könnte. Haben Sie eine Referenz, mit der Sie verlinken können? –
Ich war neugierig, also habe ich ein wenig gesucht. Unter der Haube ruft 'toContain()' 'jasmine.Env.prototype.contains _()' auf, was [hier definiert ist] (https://github.com/pivotal/jasmine/blob/master/src/core/Env. js). Ich sehe nichts, was darauf hindeutet, dass es einen CSS-Selektor akzeptiert, aber ich hätte es gerne falsch bewiesen! –
Wie überprüfen Sie den Kopf der Sandbox? Ich denke, dass der einzige Kopf, der im Test auftauchen wird, das Dokument ist. Sandkasten(); gibt
– coreballs