// ========================================================================== // 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'); });