ジャスミンとカルマのフレームワークを使用すると、奇妙な問題が発生します。基本的に、いくつかの 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を使用しています
どうもありがとう。