Этот тест проходит -
test("Trying QUnit", function() {
expect(1);
var div = $('<div>')
div.addClass('field-box');
same(fieldBox().html(), div.html(), 'Expected ' + div + ' was: ' + fieldBox());
});
Может ли быть так, что qunit сравнивает два объекта JavaScript, и хотя то, что содержится в объектах, одинаково, объекты не одинаковы (то есть они не указывают на один и тот же объект в памяти), поэтому тест не пройден .
EDIT
Я вычеркнул граф объектов для двух объектов, используя код ниже -
for (property in div[0]) {
output += property + ': ' + div[0][property]+'; ';
}
свойство parentNode для div 'var div' равно -
parentNode: null;
и для функции div 'fieldBox ()' это -
parentNode: [object DocumentFragment];
Я предполагаю, что это различие произошло из-за разного способа создания объектов. Затем Qunit обнаружит эту разницу, поскольку он перебирает свойства каждого объекта и, соответственно, не проходит тест.