// ========================================================================== // Project: SproutCore
- JavaScript Application Framework // Copyright: ©2011 Apple Inc. and contributors. // License: Licensed under MIT license (see license.js) // ==========================================================================
// TODO: Make these unit tests more complete.
var set1, set2, content; module(“SC.SelectionSet.isEqual”, {
setup: function() { content = '1 2 3 4 5 6 7 8 9 0'.w(); set1 = SC.SelectionSet.create(); set2 = SC.SelectionSet.create(); }
});
test(“set.isEqual(same instance)”, function() {
ok(set1.isEqual(set1), 'same instance should return YES');
});
test(“set.isEqual(null)”, function() {
ok(!set1.isEqual(null), 'null should return NO');
});
test(“set1.isEqual(set2)”, function() {
ok(set1.isEqual(set2), 'same content should return YES'); set1.add(content, 4,4); set2.add(content, 4,4); ok(set1.isEqual(set2), 'same content should return YES'); set1.remove(content, 6); set2.remove(content, 6); ok(set1.isEqual(set2), 'same content should return YES'); set1.remove(content, 4,4); set2.remove(content, 4,4); ok(set1.isEqual(set2), 'same content should return YES');
});
test(“multiple content objects”, function() {
var content2 = "1 2 3 4 5".w(); set1.add(content, 4,4).add(content2, 3); ok(!set1.isEqual(set2), 'should not be same when set2 is empty'); set2.add(content2, 3); ok(!set1.isEqual(set2), 'should not be same when set2 has only one content'); set2.add(content,4,4); ok(set1.isEqual(set2), 'should not be same when set2 has both content');
});
test(“set1.isEqual(set2) after set2 is filled and emptied”, function() {
set2.add(content,4,4).remove(content,4,4); ok(set1.isEqual(set2), 'same content should return YES');
});