// function(dest, source, source, ...)
function extend(dest){
var source, attr;
for (var i = 1; i < arguments.length; i++){
source = arguments[i];
for (attr in source){
dest[attr] = source[attr];
}
}
}
var obj1 = {
obj1Prop: true
};
var obj2 = {
obj2Prop: true
};
extend(obj1, obj2);
assertDeepEqual(obj1, { obj1Prop: true, obj2Prop: true }, "merges properties onto destination");
assertDeepEqual(obj2, { obj2Prop: true }, "doesn't modify source object");