1

yui3テストで2つのアレイを深く比較するための推奨される方法はありますか(QUnitのdeepEqualと同様)?ソースをざっと見て、matrix / matrix.jsからこの関数を盗むのが最善でした(少し書き直して表示)。再帰的な任意の深さの比較に簡単に変更できますが、今は逸脱しています...

function compare(list1, list2)
{
    var i = 0, len = list1.length, len2 = list2.length, isEqual = len === len2;
    if(isEqual) {
        for(; i < len; ++i) {
            if(list1[i] != list2[i]) {
                isEqual = false; break;
            }
        }
    }
    return isEqual;
}
4

1 に答える 1

2

はい、YUIテストには、Test.ArrayAssert配列に対して多くのアサーションがある名前空間があります。特に、どのテストでどのテストを使用するかがitemsAreEqualあります。モジュールを含めることで、これを無料で入手できます。==itemsAreEquivalent===test

YUI().use('test', function (Y) {
  var ArrayAssert = Y.Test.ArrayAssert;

  var testCase = new Y.Test.Case({
    name: "TestCase Name", 

    //traditional test names
    testSomething : function () {
      ArrayAssert.itemsAreEqual([1, 2, 3], foo, 'all items should be 1, 2, 3');
    }
  });
});
于 2013-03-16T14:06:07.467 に答える