Issue 1:
I'm submitting a ...

[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question

Current behavior

When trying to use a service, if I try to provide and consume it using the 'inject' method I get the following error:

× should inject service
- TypeError: Cannot read property 'injector' of null
√ should have myNumber equal to 10
√ should have myConstructorNumber equal to 20
√ should have myConstructorNumber equal to 15 after ctor
√ should persist myConstructorNumber

(I gave up on Karma, because this issue occurs in all situations, so I thought I can single out the issue easier this way).

Expected behavior

As you can see above, all the tests execute correctly except for one which uses the 'inject' method to provide the service instance. (rest of them are just some static variables, I only want to set up the infrastructure at this point, no actual code to test, so getting this error at this point doesn't actually seem normal).

Reproduction of the problem

The service:

import { Injectable } from '@angular/core';

@Injectable()
export class TestService {
static myNumber: number = 10;
static myConstructorNumber: number = 20;

constructor() {
TestService.myConstructorNumber = 15;
}
}

The service spec:

import 'core-js';
import 'zone.js';
import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';
import 'zone.js/dist/sync-test';
import 'zone.js/dist/proxy';
import 'zone.js/dist/jasmine-patch';
import 'rxjs';
import 'reflect-metadata';

import {
fakeAsync,
inject,
TestBed,
} from '@angular/core/testing';

import {
TestService,
} from './test.service';

describe('Test Service', () => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [
{ provide: TestService, useClass: TestService },
],
});
});

it('should inject service',
fakeAsync(inject([TestService], (svc: TestService) => {
expect(TestService.myNumber).toBe(10);
}))
);

it('should have myNumber equal to 10', () => {
expect(TestService.myNumber).toBe(10);
});

it('should have myConstructorNumber equal to 20', () => {
expect(TestService.myConstructorNumber).toBe(20);
});

it('should have myConstructorNumber equal to 15 after ctor', () => {
new TestService();
expect(TestService.myConstructorNumber).toBe(15);
});

it('should persist myConstructorNumber', () => {
expect(TestService.myConstructorNumber).toBe(15);
});
});

Dependency versions:

"dependencies": {
"@angular/common": "2.0.0-rc.6",
"@angular/compiler": "2.0.0-rc.6",
"@angular/core": "2.0.0-rc.6",
"@angular/forms": "2.0.0-rc.6",
"@angular/http": "2.0.0-rc.6",
"@angular/platform-browser": "2.0.0-rc.6",
"@angular/platform-browser-dynamic": "2.0.0-rc.6",
"@angular/router": "3.0.0-rc.2",
"@angular/upgrade": "2.0.0-rc.6",
"angular2-in-memory-web-api": "0.0.18",
"reflect-metadata": "0.1.8",
"rxjs": "5.0.0-beta.11",
"systemjs": "0.19.38",
"zone.js": "0.6.17"
},
"devDependencies": {
"@types/core-js": "^0.9.32",
"@types/jasmine": "^2.2.33",
"@types/node": "^4.0.22-alpha",
"@types/requirejs": "^2.1.26",
"gulp": "^3.9.1",
"gulp-babel": "^6.1.2",
"gulp-clean": "^0.3.2",
"gulp-sourcemaps": "^1.6.0",
"gulp-tslint": "^6.1.1",
"gulp-typescript": "^2.13.6",
"gulpclass": "^0.1.1",
"jasmine": "^2.5.0",
"jasmine-spec-reporter": "^2.7.0",
"phantomjs": "^2.1.7",
"phantomjs-polyfill": "0.0.2",
"tslint": "^3.15.1",
"typescript": "^2.0.2"
},

Reason:

I'm trying to set this up for the following reason: the project I'm building right now will have all core logic (Services/Pipes etc.) in a different repository that will be referenced as a git submodule in all client repositories. So I will only need to test Injectable classes.

Please tell us about your environment:

Angular version: 2.0.0-rc.6

Browser: [all]

Language: [TypeScript 2.0]

Issue 2:
When I tried to add active class to active route to my navbar, I found the following bug in router.isActive function:

isActive function returns true in all dasboard elements, so all links looks active with exact true parameter,

<li *ngFor="let item of dashboards"
[class.active]="router.isActive(router.createUrlTree(['dashboard', { dashboard: item }]), true)">
<a [routerLink]="['./dashboard', { dashboard: item }]">
{{ item }}
</a>
</li>

The router is Angular2 router and the dashboards is public dashboards: string[];