我在使用 jasmine 和 karma 框架时遇到了一个奇怪的问题。基本上我只想使用一些img的纯javascript来调整大小。
我有以下测试:
it('Should set both the height and width style for the one applicable as being the maximum allowed', function () {
var images = '<img class="resizableImage" src="" alt="" style="height: 1200px; width: 1000px; visibility: hidden;">' +
'<img class="resizableImage" src="" alt="" style="height: 1100px; width: 199px; visibility: visible;">' +
'<img class="resizableImage" src="" alt="" style="height: 1990px; width: 200px; visibility: visible;">';
setFixtures(images);
var allResizableImages = $('img.resizableImage');
resizeImagesWidthHeightIfBiggerThan(allResizableImages, 199, 199);
$.each(allResizableImages, function () {
expect($(this).css('width')).toBe('199px');
expect($(this).css('height')).toBe('199px');
});
});
和功能:
function resizeImagesWidthHeightIfBiggerThan(imagesToBeResized, maxWidth, maxHeight) {
var UNIT = "px";
var VISIBILITY_SETTINGS = "visible";
for (var i = 0, len = imagesToBeResized.length; i < len; i++) {
var imgCandidate = imagesToBeResized[i];
if (imgCandidate && imgCandidate.tagName.toLowerCase() == 'img') {
if (imgCandidate.width > maxWidth) {
imgCandidate.style.width = maxWidth + UNIT;
}
if (imgCandidate.height > maxHeight) {
imgCandidate.style.height = maxHeight + UNIT;
}
}
imgCandidate.style.visibility = VISIBILITY_SETTINGS;
}
}
使用Chrome,一切顺利。但是,使用Firefox时,测试没有通过。虽然,现场(在 Firefox 上手动进行测试),一切都很顺利。
有什么问题?
我正在使用Firefox 29.0
非常感谢。