{"action":"created","comment":{"url":"https://api.github.com/repos/angular/angular/pulls/comments/41824434","id":41824434,"diff_hunk":"@@ -0,0 +1,159 @@\n+/**\n+ * Public Test Library for unit testing Angular2 Applications. Uses the\n+ * Jasmine framework.\n+ */\n+import {global} from 'angular2/src/core/facade/lang';\n+\n+import {bind} from 'angular2/src/core/di';\n+\n+import {createTestInjector, FunctionWithParamTokens, inject, injectAsync} from './test_injector';\n+\n+export {inject, injectAsync} from './test_injector';\n+\n+export {expect} from './matchers';\n+\n+var _global: jasmine.GlobalPolluter = <any>(typeof window === 'undefined' ? global : window);\n+\n+export var afterEach: Function = _global.afterEach;\n+export var describe: Function = _global.describe;\n+export var ddescribe: Function = _global.fdescribe;\n+export var xdescribe: Function = _global.xdescribe;\n+\n+export type SyncTestFn = () => void;\n+export type AsyncTestFn = (done: () => void) => void;\n+export type AnyTestFn = SyncTestFn | AsyncTestFn;\n+\n+var jsmBeforeEach = _global.beforeEach;\n+var jsmIt = _global.it;\n+var jsmIIt = _global.fit;\n+var jsmXIt = _global.xit;\n+\n+var testProviders;\n+var injector;\n+\n+// Reset the test providers before each test.\n+jsmBeforeEach(() => {\n+  testProviders = [];\n+  injector = null;\n+});\n+\n+/**\n+ * Allows overriding default providers of the test injector,\n+ * defined in test_injector.js.\n+ *\n+ * The given function must return a list of DI providers.\n+ *\n+ * Example:\n+ *\n+ *   beforeEachProviders(() => [\n+ *     bind(Compiler).toClass(MockCompiler),\n+ *     bind(SomeToken).toValue(myValue),\n+ *   ]);\n+ */\n+export function beforeEachProviders(fn): void {","path":"modules/angular2/src/test_lib/test_lib_public.ts","position":53,"original_position":53,"commit_id":"3e771bc9c08581d19cb16c40095bc4a8de683dc2","original_commit_id":"3e771bc9c08581d19cb16c40095bc4a8de683dc2","user":{"login":"juliemr","id":2081709,"avatar_url":"https://avatars.githubusercontent.com/u/2081709?v=3","gravatar_id":"","url":"https://api.github.com/users/juliemr","html_url":"https://github.com/juliemr","followers_url":"https://api.github.com/users/juliemr/followers","following_url":"https://api.github.com/users/juliemr/following{/other_user}","gists_url":"https://api.github.com/users/juliemr/gists{/gist_id}","starred_url":"https://api.github.com/users/juliemr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juliemr/subscriptions","organizations_url":"https://api.github.com/users/juliemr/orgs","repos_url":"https://api.github.com/users/juliemr/repos","events_url":"https://api.github.com/users/juliemr/events{/privacy}","received_events_url":"https://api.github.com/users/juliemr/received_events","type":"User","site_admin":false},"body":"I removed it from the new public test lib, but not from the old test_lib.","created_at":"2015-10-13T03:48:59Z","updated_at":"2015-10-13T03:48:59Z","html_url":"https://github.com/angular/angular/pull/4624#discussion_r41824434","pull_request_url":"https://api.github.com/repos/angular/angular/pulls/4624","_links":{"self":{"href":"https://api.github.com/repos/angular/angular/pulls/comments/41824434"},"html":{"href":"https://github.com/angular/angular/pull/4624#discussion_r41824434"},"pull_request":{"href":"https://api.github.com/repos/angular/angular/pulls/4624"}}},"pull_request":{"url":"https://api.github.com/repos/angular/angular/pulls/4624","id":47235508,"html_url":"https://github.com/angular/angular/pull/4624","diff_url":"https://github.com/angular/angular/pull/4624.diff","patch_url":"https://github.com/angular/angular/pull/4624.patch","issue_url":"https://api.github.com/repos/angular/angular/issues/4624","number":4624,"state":"open","locked":false,"title":"feat(test): Add an external version of the test library","user":{"login":"juliemr","id":2081709,"avatar_url":"https://avatars.githubusercontent.com/u/2081709?v=3","gravatar_id":"","url":"https://api.github.com/users/juliemr","html_url":"https://github.com/juliemr","followers_url":"https://api.github.com/users/juliemr/followers","following_url":"https://api.github.com/users/juliemr/following{/other_user}","gists_url":"https://api.github.com/users/juliemr/gists{/gist_id}","starred_url":"https://api.github.com/users/juliemr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juliemr/subscriptions","organizations_url":"https://api.github.com/users/juliemr/orgs","repos_url":"https://api.github.com/users/juliemr/repos","events_url":"https://api.github.com/users/juliemr/events{/privacy}","received_events_url":"https://api.github.com/users/juliemr/received_events","type":"User","site_admin":false},"body":"Adds test adapters for TypeScript and JavaScript only, exported\r\nas part of the test_lib module. These work with the Jasmine test\r\nframework, and allow use of the test injector within test blocks\r\nvia the `inject` function.\r\n\r\nSee #4572, #4177, #4035, #2783\r\n\r\nThis includes the TestComponentBuilder. It allows using the\r\ntest injector with Jasmine bindings, and waits for returned\r\npromises before completing async test blocks.","created_at":"2015-10-09T05:31:57Z","updated_at":"2015-10-13T03:48:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"aa3240ae41ebfc60007c0800dcf67e6a13613001","assignee":{"login":"IgorMinar","id":216296,"avatar_url":"https://avatars.githubusercontent.com/u/216296?v=3","gravatar_id":"","url":"https://api.github.com/users/IgorMinar","html_url":"https://github.com/IgorMinar","followers_url":"https://api.github.com/users/IgorMinar/followers","following_url":"https://api.github.com/users/IgorMinar/following{/other_user}","gists_url":"https://api.github.com/users/IgorMinar/gists{/gist_id}","starred_url":"https://api.github.com/users/IgorMinar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IgorMinar/subscriptions","organizations_url":"https://api.github.com/users/IgorMinar/orgs","repos_url":"https://api.github.com/users/IgorMinar/repos","events_url":"https://api.github.com/users/IgorMinar/events{/privacy}","received_events_url":"https://api.github.com/users/IgorMinar/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/angular/angular/milestones/48","html_url":"https://github.com/angular/angular/milestones/alpha-41","labels_url":"https://api.github.com/repos/angular/angular/milestones/48/labels","id":1338731,"number":48,"title":"alpha-41","description":"Next milestone. All changes complete by October 12. Last release before Angular Connect. Includes di binding -> provider rename.","creator":{"login":"naomiblack","id":2286589,"avatar_url":"https://avatars.githubusercontent.com/u/2286589?v=3","gravatar_id":"","url":"https://api.github.com/users/naomiblack","html_url":"https://github.com/naomiblack","followers_url":"https://api.github.com/users/naomiblack/followers","following_url":"https://api.github.com/users/naomiblack/following{/other_user}","gists_url":"https://api.github.com/users/naomiblack/gists{/gist_id}","starred_url":"https://api.github.com/users/naomiblack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/naomiblack/subscriptions","organizations_url":"https://api.github.com/users/naomiblack/orgs","repos_url":"https://api.github.com/users/naomiblack/repos","events_url":"https://api.github.com/users/naomiblack/events{/privacy}","received_events_url":"https://api.github.com/users/naomiblack/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":21,"state":"open","created_at":"2015-10-05T17:50:07Z","updated_at":"2015-10-13T02:02:12Z","due_on":"2015-10-12T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/angular/angular/pulls/4624/commits","review_comments_url":"https://api.github.com/repos/angular/angular/pulls/4624/comments","review_comment_url":"https://api.github.com/repos/angular/angular/pulls/comments{/number}","comments_url":"https://api.github.com/repos/angular/angular/issues/4624/comments","statuses_url":"https://api.github.com/repos/angular/angular/statuses/3e771bc9c08581d19cb16c40095bc4a8de683dc2","head":{"label":"juliemr:testapi-3a","ref":"testapi-3a","sha":"3e771bc9c08581d19cb16c40095bc4a8de683dc2","user":{"login":"juliemr","id":2081709,"avatar_url":"https://avatars.githubusercontent.com/u/2081709?v=3","gravatar_id":"","url":"https://api.github.com/users/juliemr","html_url":"https://github.com/juliemr","followers_url":"https://api.github.com/users/juliemr/followers","following_url":"https://api.github.com/users/juliemr/following{/other_user}","gists_url":"https://api.github.com/users/juliemr/gists{/gist_id}","starred_url":"https://api.github.com/users/juliemr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juliemr/subscriptions","organizations_url":"https://api.github.com/users/juliemr/orgs","repos_url":"https://api.github.com/users/juliemr/repos","events_url":"https://api.github.com/users/juliemr/events{/privacy}","received_events_url":"https://api.github.com/users/juliemr/received_events","type":"User","site_admin":false},"repo":{"id":28985296,"name":"angular","full_name":"juliemr/angular","owner":{"login":"juliemr","id":2081709,"avatar_url":"https://avatars.githubusercontent.com/u/2081709?v=3","gravatar_id":"","url":"https://api.github.com/users/juliemr","html_url":"https://github.com/juliemr","followers_url":"https://api.github.com/users/juliemr/followers","following_url":"https://api.github.com/users/juliemr/following{/other_user}","gists_url":"https://api.github.com/users/juliemr/gists{/gist_id}","starred_url":"https://api.github.com/users/juliemr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juliemr/subscriptions","organizations_url":"https://api.github.com/users/juliemr/orgs","repos_url":"https://api.github.com/users/juliemr/repos","events_url":"https://api.github.com/users/juliemr/events{/privacy}","received_events_url":"https://api.github.com/users/juliemr/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/juliemr/angular","description":"","fork":true,"url":"https://api.github.com/repos/juliemr/angular","forks_url":"https://api.github.com/repos/juliemr/angular/forks","keys_url":"https://api.github.com/repos/juliemr/angular/keys{/key_id}","collaborators_url":"https://api.github.com/repos/juliemr/angular/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/juliemr/angular/teams","hooks_url":"https://api.github.com/repos/juliemr/angular/hooks","issue_events_url":"https://api.github.com/repos/juliemr/angular/issues/events{/number}","events_url":"https://api.github.com/repos/juliemr/angular/events","assignees_url":"https://api.github.com/repos/juliemr/angular/assignees{/user}","branches_url":"https://api.github.com/repos/juliemr/angular/branches{/branch}","tags_url":"https://api.github.com/repos/juliemr/angular/tags","blobs_url":"https://api.github.com/repos/juliemr/angular/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/juliemr/angular/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/juliemr/angular/git/refs{/sha}","trees_url":"https://api.github.com/repos/juliemr/angular/git/trees{/sha}","statuses_url":"https://api.github.com/repos/juliemr/angular/statuses/{sha}","languages_url":"https://api.github.com/repos/juliemr/angular/languages","stargazers_url":"https://api.github.com/repos/juliemr/angular/stargazers","contributors_url":"https://api.github.com/repos/juliemr/angular/contributors","subscribers_url":"https://api.github.com/repos/juliemr/angular/subscribers","subscription_url":"https://api.github.com/repos/juliemr/angular/subscription","commits_url":"https://api.github.com/repos/juliemr/angular/commits{/sha}","git_commits_url":"https://api.github.com/repos/juliemr/angular/git/commits{/sha}","comments_url":"https://api.github.com/repos/juliemr/angular/comments{/number}","issue_comment_url":"https://api.github.com/repos/juliemr/angular/issues/comments{/number}","contents_url":"https://api.github.com/repos/juliemr/angular/contents/{+path}","compare_url":"https://api.github.com/repos/juliemr/angular/compare/{base}...{head}","merges_url":"https://api.github.com/repos/juliemr/angular/merges","archive_url":"https://api.github.com/repos/juliemr/angular/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/juliemr/angular/downloads","issues_url":"https://api.github.com/repos/juliemr/angular/issues{/number}","pulls_url":"https://api.github.com/repos/juliemr/angular/pulls{/number}","milestones_url":"https://api.github.com/repos/juliemr/angular/milestones{/number}","notifications_url":"https://api.github.com/repos/juliemr/angular/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/juliemr/angular/labels{/name}","releases_url":"https://api.github.com/repos/juliemr/angular/releases{/id}","created_at":"2015-01-08T20:46:47Z","updated_at":"2015-07-16T01:51:08Z","pushed_at":"2015-10-13T02:09:03Z","git_url":"git://github.com/juliemr/angular.git","ssh_url":"git@github.com:juliemr/angular.git","clone_url":"https://github.com/juliemr/angular.git","svn_url":"https://github.com/juliemr/angular","homepage":null,"size":17261,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"angular:master","ref":"master","sha":"947bf11cb69a2c81bbdb53b1457cd11476b18ee5","user":{"login":"angular","id":139426,"avatar_url":"https://avatars.githubusercontent.com/u/139426?v=3","gravatar_id":"","url":"https://api.github.com/users/angular","html_url":"https://github.com/angular","followers_url":"https://api.github.com/users/angular/followers","following_url":"https://api.github.com/users/angular/following{/other_user}","gists_url":"https://api.github.com/users/angular/gists{/gist_id}","starred_url":"https://api.github.com/users/angular/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/angular/subscriptions","organizations_url":"https://api.github.com/users/angular/orgs","repos_url":"https://api.github.com/users/angular/repos","events_url":"https://api.github.com/users/angular/events{/privacy}","received_events_url":"https://api.github.com/users/angular/received_events","type":"Organization","site_admin":false},"repo":{"id":24195339,"name":"angular","full_name":"angular/angular","owner":{"login":"angular","id":139426,"avatar_url":"https://avatars.githubusercontent.com/u/139426?v=3","gravatar_id":"","url":"https://api.github.com/users/angular","html_url":"https://github.com/angular","followers_url":"https://api.github.com/users/angular/followers","following_url":"https://api.github.com/users/angular/following{/other_user}","gists_url":"https://api.github.com/users/angular/gists{/gist_id}","starred_url":"https://api.github.com/users/angular/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/angular/subscriptions","organizations_url":"https://api.github.com/users/angular/orgs","repos_url":"https://api.github.com/users/angular/repos","events_url":"https://api.github.com/users/angular/events{/privacy}","received_events_url":"https://api.github.com/users/angular/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/angular/angular","description":"","fork":false,"url":"https://api.github.com/repos/angular/angular","forks_url":"https://api.github.com/repos/angular/angular/forks","keys_url":"https://api.github.com/repos/angular/angular/keys{/key_id}","collaborators_url":"https://api.github.com/repos/angular/angular/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/angular/angular/teams","hooks_url":"https://api.github.com/repos/angular/angular/hooks","issue_events_url":"https://api.github.com/repos/angular/angular/issues/events{/number}","events_url":"https://api.github.com/repos/angular/angular/events","assignees_url":"https://api.github.com/repos/angular/angular/assignees{/user}","branches_url":"https://api.github.com/repos/angular/angular/branches{/branch}","tags_url":"https://api.github.com/repos/angular/angular/tags","blobs_url":"https://api.github.com/repos/angular/angular/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/angular/angular/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/angular/angular/git/refs{/sha}","trees_url":"https://api.github.com/repos/angular/angular/git/trees{/sha}","statuses_url":"https://api.github.com/repos/angular/angular/statuses/{sha}","languages_url":"https://api.github.com/repos/angular/angular/languages","stargazers_url":"https://api.github.com/repos/angular/angular/stargazers","contributors_url":"https://api.github.com/repos/angular/angular/contributors","subscribers_url":"https://api.github.com/repos/angular/angular/subscribers","subscription_url":"https://api.github.com/repos/angular/angular/subscription","commits_url":"https://api.github.com/repos/angular/angular/commits{/sha}","git_commits_url":"https://api.github.com/repos/angular/angular/git/commits{/sha}","comments_url":"https://api.github.com/repos/angular/angular/comments{/number}","issue_comment_url":"https://api.github.com/repos/angular/angular/issues/comments{/number}","contents_url":"https://api.github.com/repos/angular/angular/contents/{+path}","compare_url":"https://api.github.com/repos/angular/angular/compare/{base}...{head}","merges_url":"https://api.github.com/repos/angular/angular/merges","archive_url":"https://api.github.com/repos/angular/angular/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/angular/angular/downloads","issues_url":"https://api.github.com/repos/angular/angular/issues{/number}","pulls_url":"https://api.github.com/repos/angular/angular/pulls{/number}","milestones_url":"https://api.github.com/repos/angular/angular/milestones{/number}","notifications_url":"https://api.github.com/repos/angular/angular/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/angular/angular/labels{/name}","releases_url":"https://api.github.com/repos/angular/angular/releases{/id}","created_at":"2014-09-18T16:12:01Z","updated_at":"2015-10-13T03:02:30Z","pushed_at":"2015-10-13T03:00:31Z","git_url":"git://github.com/angular/angular.git","ssh_url":"git@github.com:angular/angular.git","clone_url":"https://github.com/angular/angular.git","svn_url":"https://github.com/angular/angular","homepage":"https://angular.io","size":62199,"stargazers_count":5768,"watchers_count":5768,"language":"TypeScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1571,"mirror_url":null,"open_issues_count":530,"forks":1571,"open_issues":530,"watchers":5768,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/angular/angular/pulls/4624"},"html":{"href":"https://github.com/angular/angular/pull/4624"},"issue":{"href":"https://api.github.com/repos/angular/angular/issues/4624"},"comments":{"href":"https://api.github.com/repos/angular/angular/issues/4624/comments"},"review_comments":{"href":"https://api.github.com/repos/angular/angular/pulls/4624/comments"},"review_comment":{"href":"https://api.github.com/repos/angular/angular/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/angular/angular/pulls/4624/commits"},"statuses":{"href":"https://api.github.com/repos/angular/angular/statuses/3e771bc9c08581d19cb16c40095bc4a8de683dc2"}}}}