<commit_before>describe('Composer', function() {
	it('has known exported objects', function() {
		// Composer.*
		var main_exports	=	[
			'sync',
			'cid',
			'eq',
			'merge_extend',
			'Base',
			'Event',
			'Model',
			'Collection',
			'Controller',
			'Router'
		];
		// Composer.array.*
		var array_exports = [
			'erase'
		];
		// Composer.object.*
		var object_exports = [
			'each',
			'clone',
			'merge'
		];

		for(var i = 0; i < main_exports.length; i++)
		{
			var exp = Composer[main_exports[i]];
			expect(exp instanceof Function).toBe(true);
		}
		for(var i = 0; i < array_exports.length; i++)
		{
			var exp = Composer.array[array_exports[i]];
			expect(exp instanceof Function).toBe(true);
		}
		for(var i = 0; i < object_exports.length; i++)
		{
			var exp = Composer.object[object_exports[i]];
			expect(exp instanceof Function).toBe(true);
		}
	});

	it('is awesome', function() {
		expect(typeof window.Composer != 'undefined').toBe(true);
	});

	it('has a working eq function', function() {
		// set up some values
		var s1 = 'my string';
		var s2 = 'my string';
		var o1 = {name: 'charlie', position: null, can: false};
		var o2 = {name: 'charlie', position: null, can: false};
		var a1 = [1,false,null,undefined];
		var a2 = [1,false,null,undefined];

		var tests = [];
		var run = function(true_or_false)
		{
			tests.forEach(function(test, i) {
				// test the given order and the reverse
				expect(Composer.eq(test[0], test[1])).toBe(true_or_false);
				expect(Composer.eq(test[1], test[0])).toBe(true_or_false);
			});
		};

		// trues
		tests = [
			[1, 1],
			[67, 67],
			[s1, s2],
			[null, null],
			[false, false],
			[true, true],
			[undefined, undefined],
			[{}, {}],
			[o1, o2],
			[[], []],
			[a1, a2]
		];
		run(true);
<commit_msg>ie6 test fix (Composer.eq). i guess [undefined] == ??? in ie6.<commit_after>describe('Composer', function() {
	it('has known exported objects', function() {
		// Composer.*
		var main_exports	=	[
			'sync',
			'cid',
			'eq',
			'merge_extend',
			'Base',
			'Event',
			'Model',
			'Collection',
			'Controller',
			'Router'
		];
		// Composer.array.*
		var array_exports = [
			'erase'
		];
		// Composer.object.*
		var object_exports = [
			'each',
			'clone',
			'merge'
		];

		for(var i = 0; i < main_exports.length; i++)
		{
			var exp = Composer[main_exports[i]];
			expect(exp instanceof Function).toBe(true);
		}
		for(var i = 0; i < array_exports.length; i++)
		{
			var exp = Composer.array[array_exports[i]];
			expect(exp instanceof Function).toBe(true);
		}
		for(var i = 0; i < object_exports.length; i++)
		{
			var exp = Composer.object[object_exports[i]];
			expect(exp instanceof Function).toBe(true);
		}
	});

	it('is awesome', function() {
		expect(typeof window.Composer != 'undefined').toBe(true);
	});

	it('has a working eq function', function() {
		// set up some values
		var s1 = 'my string';
		var s2 = 'my string';
		var o1 = {name: 'charlie', position: null, can: false};
		var o2 = {name: 'charlie', position: null, can: false};
		var a1 = [1,o1,null,s1];
		var a2 = [1,o2,null,s2];

		var tests = [];
		var run = function(true_or_false)
		{
			tests.forEach(function(test, i) {
				// test the given order and the reverse
				expect(Composer.eq(test[0], test[1])).toBe(true_or_false);
				expect(Composer.eq(test[1], test[0])).toBe(true_or_false);
			});
		};

		// trues
		tests = [
			[1, 1],
			[67, 67],
			[s1, s2],
			[null, null],
			[false, false],
			[true, true],
			[undefined, undefined],
			[{}, {}],
			[o1, o2],
			[[], []],
			[a1, a2],
			[{hai: a1}, {hai: a2}]
		];
		run(true);

{'fraction_non_alphanumeric': 0.19401330376940132, 'fraction_numerical': 0.017184035476718405, 'mean_word_length': 3.10580204778157, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3902255', 'n_tokens_mistral': 1626, 'n_tokens_neox': 1368, 'n_words': 314}