 		expect('id' in route.parameters).toBe(true)
 		expect('bar' in route.parameters).toBe(true)
 
-	it 'Registers a component if it supplied one', () -> expect(true).toBe(false)
-	it 'Throws an error when trying to add a route with no name', () -> expect(true).toBe(false)
-	it 'Throws an error when trying to add multiple routes with the same name', () -> expect(true).toBe(false)
-	it 'Throws an error when trying to add multiple routes with the same url pattern', () -> expect(true).toBe(false)
+	it 'registers a component if it supplied one', () ->
+		expect(ko.components.isRegistered 'default').toBe(false)
+
+		router = new KnockoutSinglePageRouter [
+			{
+				name: 'default'
+				url: '/'
+				component:
+					template: 'Hello'
+					viewModel: {}
+			}
+		]
+
+		expect(ko.components.isRegistered 'default').toBe(true)
+
+	it 'throws an error when trying to add a route with no name', () -> expect(true).toBe(false)
+	it 'throws an error when trying to add multiple routes with the same name', () -> expect(true).toBe(false)
+	it 'throws an error when trying to add multiple routes with the same url pattern', () -> expect(true).toBe(false)

		expect(route.component).toBe('default')
		expect(route.regex.toString()).toBe((/^\/?\/?(\?.*)?$/i).toString())

	it 'Loads a single route with a single path component', () ->
		router = new KnockoutSinglePageRouter [
			{
				name: 'default'

		expect(route.parameters.length).toBe(1)
		expect('id' in route.parameters).toBe(true)

	it 'extracts multiple parameters from a route', () ->
		router = new KnockoutSinglePageRouter [
			{
				name: 'default'
