 			assert unmatched.length is sortable.length
 			assert.deepEqual sorted, sortable.sort()
 
-		it 'should properly utilize matchers', ->
+		it 'should utilize matchers', ->
 			{matched, unmatched, sorted} = anysort.splice sortable, matchers
 			assert unmatched.length is 1
 			assert.deepEqual sorted, matched.concat unmatched
 			assert.deepEqual sorted, sortable.sort anysort matchers
+
+		it 'should utilize tieBreakers', ->
+			# without tieBreakers, sortable[0] comes first
+			{matched, unmatched, sorted} = anysort.splice sortable, matchers[3]
+			assert.deepEqual matched, [sortable[0], sortable[7]]
+			# with tieBreakers, sortable[7] wins
+			{matched, unmatched, sorted} = anysort.splice sortable, matchers[3], matchers
+			assert.deepEqual matched, [sortable[7], sortable[0]]
+			# sortable[3] matches the tieBreakers, but isn't in the matched array
+			assert anysort.match matchers, sortable[3]
+			assert -1 isnt unmatched.indexOf sortable[3]

			'path/to/foo.js'
			'path/to/bar.js'
			'bar.js'
			'path/anyjs/baz.js'
			'path/anyjs/aaz.js'
			'path/to/file.js'
			'path/anyjs/caz.js'
			'path/anyjs/foo.js'
		]

		nativeSorted = sortable.slice().sort()

		matchers = [
			'path/to/file.js'
			'path/anyjs/**/*.js'
			'wontmatchanything'
			/foo.js$/
			(string) -> string.indexOf('bar') isnt -1 and string.length > 10

		assert.equal sortable.sort(anysort matchers[0])[0], matchers[0]

	it 'should break ties with lower matchers', ->
		val1 = 'path/zjs/foo.js'
		val2 = 'path/zjs/aaz.js'
		assert sortable.indexOf(val1) > sortable.indexOf(val2)
		sortable.sort anysort matchers[1] # only the matcher they both hit
		assert sortable.indexOf(val1) > sortable.indexOf(val2)
