b: 3 
b: 3, obj1: { c: 'three', d: 'four' }, obj2: { e: { g: 'seven', h: 'eight' }, h: false, i: [2,3] } 
	setOptions: function(){		var TestSetOptions = new Class({			Implements: Options,			options: {				a: 1			},			initialize: function(options){				this.setOptions(options);			}		});		var NullInput = new TestSetOptions();		var MergedInput = new TestSetOptions({			a: 2,			b: 3		});		var TestSetOptionsEvents = new Class({			Implements: [Events, Options],			options: {				a: 1,				onStart: $empty,				onEnd: function(){					return true;				}			},			initialize: function(options){				this.setOptions(options);			}		});		var NullInputE = new TestSetOptionsEvents();		var MergedInputE = new TestSetOptionsEvents({			a: 3,			b: 4,			onStart: function(){				return 'started';			},			onComplete: function(){				return false;			}		});		value_of(NullInput.options).should_not_be(undefined);		//value_of(NullInput.options).should_be_an('object');		value_of(NullInput.options.a).should_be(1);		value_of(MergedInput.options.a).should_be(2);		value_of(MergedInput.options.b).should_be(3);		value_of(NullInputE.options).should_not_be(undefined);		//value_of(NullInputE.options).should_be_an('object');		value_of(NullInputE.options.a).should_be(1);		//value_of(NullInputE.options.onStart).should_be_a('function');		value_of(NullInputE.options.onEnd()).should_be_true();		value_of(MergedInputE.options.a).should_be(3);		value_of(MergedInputE.options.b).should_be(4);		value_of(MergedInputE.options.onStart()).should_be('started');		value_of(MergedInputE.options.onComplete()).should_be_false();	}
7087	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/7087/b1794cb13d5d1e33f476ec1e241abac5970b763d/Class.Extras.js/clean/Spec/Class/Class.Extras.js