From f529236bfc7868c3c53438c1b20d821c12bb8d4a Mon Sep 17 00:00:00 2001
From: Julie Ralph <ju.ralph@gmail.com>
Date: Tue, 13 Oct 2015 00:29:13 -0700
Subject: [PATCH] refactor(test): rename test_lib to testing

Old test_lib is now testing_internal
test_lib_public is now testing
---
 docs/typescript-definition-package/index.js        |  6 +++---
 gulpfile.js                                        |  6 +++---
 karma-js.conf.js                                   |  2 +-
 modules/angular2/package.json                      |  2 +-
 .../src/{test_lib => testing}/benchmark_util.ts    |  0
 .../src/{test_lib => testing}/e2e_util.dart        |  0
 .../angular2/src/{test_lib => testing}/e2e_util.ts |  0
 .../src/{test_lib => testing}/fake_async.dart      |  2 +-
 .../src/{test_lib => testing}/fake_async.ts        |  0
 .../src/{test_lib => testing}/lang_utils.dart      |  2 +-
 .../src/{test_lib => testing}/lang_utils.ts        |  0
 .../src/{test_lib => testing}/matchers.dart        |  2 +-
 .../angular2/src/{test_lib => testing}/matchers.ts |  0
 .../src/{test_lib => testing}/perf_util.dart       |  2 +-
 .../src/{test_lib => testing}/perf_util.ts         |  0
 .../src/{test_lib => testing}/shims_for_IE.js      |  0
 .../test_component_builder.ts                      |  0
 .../src/{test_lib => testing}/test_injector.ts     |  0
 .../test_lib_public.dart => testing/testing.dart}  |  2 +-
 .../test_lib_public.ts => testing/testing.ts}      |  2 +-
 .../testing_internal.dart}                         |  2 +-
 .../test_lib.ts => testing/testing_internal.ts}    |  0
 .../angular2/src/{test_lib => testing}/utils.ts    |  0
 modules/angular2/test.ts                           | 14 +++-----------
 .../test/animate/animation_builder_spec.ts         |  2 +-
 modules/angular2/test/core/application_spec.ts     |  2 +-
 .../change_detection/change_detector_ref_spec.ts   |  2 +-
 .../core/change_detection/change_detector_spec.ts  |  2 +-
 .../test/core/change_detection/coalesce_spec.ts    | 11 ++++++++++-
 .../differs/default_iterable_differ_spec.ts        | 11 ++++++++++-
 .../differs/default_keyvalue_differ_spec.ts        | 11 ++++++++++-
 .../differs/iterable_differs_spec.ts               | 11 ++++++++++-
 .../core/change_detection/parser/lexer_spec.ts     |  2 +-
 .../core/change_detection/parser/locals_spec.ts    |  2 +-
 .../core/change_detection/parser/parser_spec.ts    |  2 +-
 .../change_detection/proto_record_builder_spec.ts  |  2 +-
 .../core/change_detection/proto_record_spec.ts     | 11 ++++++++++-
 .../compiler/change_definition_factory_spec.ts     |  2 +-
 .../core/compiler/change_detector_compiler_spec.ts |  2 +-
 .../test/core/compiler/command_compiler_spec.ts    |  2 +-
 .../test/core/compiler/directive_metadata_spec.ts  |  2 +-
 .../test/core/compiler/eval_module_spec.ts         |  2 +-
 .../test/core/compiler/html_parser_spec.ts         | 11 ++++++++++-
 .../test/core/compiler/runtime_compiler_spec.ts    |  2 +-
 .../test/core/compiler/runtime_metadata_spec.ts    |  2 +-
 .../schema/dom_element_schema_registry_spec.ts     |  2 +-
 .../angular2/test/core/compiler/selector_spec.ts   |  2 +-
 .../compiler/shadow_css_html5lib.server.spec.dart  |  2 +-
 .../angular2/test/core/compiler/shadow_css_spec.ts |  2 +-
 .../test/core/compiler/source_module_spec.ts       |  2 +-
 .../test/core/compiler/style_compiler_spec.ts      |  2 +-
 .../test/core/compiler/style_url_resolver_spec.ts  |  2 +-
 .../test/core/compiler/template_compiler_spec.ts   |  2 +-
 .../test/core/compiler/template_normalizer_spec.ts |  2 +-
 .../test/core/compiler/template_parser_spec.ts     |  2 +-
 .../test/core/compiler/template_preparser_spec.ts  |  2 +-
 .../test/core/compiler/url_resolver_spec.ts        |  2 +-
 modules/angular2/test/core/compiler/util_spec.ts   |  2 +-
 .../angular2/test/core/compiler/xhr_impl_spec.ts   |  2 +-
 .../angular2/test/core/compiler/xhr_mock_spec.ts   |  2 +-
 .../angular2/test/core/debug/debug_element_spec.ts |  2 +-
 .../core/debug/debug_element_view_listener_spec.ts |  2 +-
 modules/angular2/test/core/di/binding_spec.dart    |  2 +-
 modules/angular2/test/core/di/binding_spec.ts      |  2 +-
 modules/angular2/test/core/di/forward_ref_spec.ts  |  2 +-
 .../angular2/test/core/di/injector_dart_spec.dart  |  2 +-
 modules/angular2/test/core/di/injector_spec.ts     |  2 +-
 modules/angular2/test/core/di/key_dart_spec.dart   |  2 +-
 modules/angular2/test/core/di/key_spec.ts          |  2 +-
 .../core/directive_lifecycle_integration_spec.ts   |  2 +-
 .../angular2/test/core/directives/ng_class_spec.ts |  2 +-
 .../angular2/test/core/directives/ng_for_spec.ts   |  2 +-
 .../angular2/test/core/directives/ng_if_spec.ts    |  2 +-
 .../angular2/test/core/directives/ng_style_spec.ts |  2 +-
 .../test/core/directives/ng_switch_spec.ts         |  2 +-
 .../test/core/directives/non_bindable_spec.ts      |  2 +-
 .../core/directives/observable_list_diff_spec.dart |  2 +-
 modules/angular2/test/core/dom/dom_adapter_spec.ts |  2 +-
 modules/angular2/test/core/dom/shim_spec.ts        |  2 +-
 .../angular2/test/core/facade/async_dart_spec.dart |  2 +-
 modules/angular2/test/core/facade/async_spec.ts    |  2 +-
 .../angular2/test/core/facade/collection_spec.ts   |  2 +-
 .../test/core/facade/exception_handler_spec.ts     |  2 +-
 modules/angular2/test/core/facade/lang_spec.ts     |  2 +-
 .../angular2/test/core/forms/directives_spec.ts    |  2 +-
 .../angular2/test/core/forms/form_builder_spec.ts  |  2 +-
 .../angular2/test/core/forms/integration_spec.ts   |  2 +-
 modules/angular2/test/core/forms/model_spec.ts     |  2 +-
 .../angular2/test/core/forms/validators_spec.ts    |  2 +-
 .../test/core/forward_ref_integration_spec.ts      |  2 +-
 .../test/core/life_cycle/life_cycle_spec.ts        |  2 +-
 modules/angular2/test/core/linker/compiler_spec.ts |  2 +-
 .../test/core/linker/directive_lifecycle_spec.dart |  2 +-
 .../test/core/linker/directive_lifecycle_spec.ts   |  2 +-
 .../test/core/linker/directive_resolver_spec.ts    |  2 +-
 .../core/linker/dynamic_component_loader_spec.ts   |  4 ++--
 .../test/core/linker/element_injector_spec.ts      |  2 +-
 .../angular2/test/core/linker/event_config_spec.ts |  2 +-
 .../test/core/linker/integration_dart_spec.dart    |  2 +-
 .../angular2/test/core/linker/integration_spec.ts  |  2 +-
 .../core/linker/projection_integration_spec.ts     |  2 +-
 .../test/core/linker/proto_view_factory_spec.ts    |  2 +-
 .../test/core/linker/query_integration_spec.ts     |  2 +-
 .../angular2/test/core/linker/query_list_spec.ts   |  2 +-
 .../test/core/linker/view_container_ref_spec.ts    |  2 +-
 .../angular2/test/core/linker/view_manager_spec.ts |  2 +-
 .../test/core/linker/view_manager_utils_spec.ts    |  2 +-
 .../angular2/test/core/linker/view_pool_spec.ts    |  2 +-
 .../test/core/linker/view_resolver_spec.ts         |  2 +-
 .../angular2/test/core/metadata/decorators_spec.ts |  2 +-
 .../angular2/test/core/pipes/async_pipe_spec.ts    |  2 +-
 modules/angular2/test/core/pipes/date_pipe_spec.ts |  2 +-
 modules/angular2/test/core/pipes/json_pipe_spec.ts |  2 +-
 .../test/core/pipes/lowercase_pipe_spec.ts         | 11 ++++++++++-
 .../angular2/test/core/pipes/number_pipe_spec.ts   |  2 +-
 .../angular2/test/core/pipes/pipe_binding_spec.ts  |  2 +-
 modules/angular2/test/core/pipes/pipes_spec.ts     |  2 +-
 modules/angular2/test/core/pipes/spies.dart        |  2 +-
 modules/angular2/test/core/pipes/spies.ts          |  2 +-
 .../test/core/pipes/uppercase_pipe_spec.ts         | 11 ++++++++++-
 .../angular2/test/core/profile/wtf_impl_spec.dart  |  2 +-
 .../test/core/reflection/reflector_spec.ts         |  2 +-
 .../render/dom/dom_renderer_integration_spec.ts    |  2 +-
 .../core/render/dom/events/event_manager_spec.ts   |  2 +-
 .../test/core/render/dom/events/key_events_spec.ts |  2 +-
 .../core/render/dom/shared_styles_host_spec.ts     |  2 +-
 .../angular2/test/core/render/view_factory_spec.ts |  2 +-
 modules/angular2/test/core/render/view_spec.ts     |  2 +-
 modules/angular2/test/core/services/ruler_spec.ts  |  2 +-
 modules/angular2/test/core/services/title_spec.ts  |  2 +-
 modules/angular2/test/core/spies.dart              |  2 +-
 modules/angular2/test/core/spies.ts                |  2 +-
 .../test/core/testability/testability_spec.ts      |  2 +-
 modules/angular2/test/core/util/decorators_spec.ts |  2 +-
 modules/angular2/test/core/zone/ng_zone_spec.ts    |  2 +-
 .../test/http/backends/jsonp_backend_spec.ts       |  2 +-
 .../test/http/backends/mock_backend_spec.ts        |  2 +-
 .../test/http/backends/xhr_backend_spec.ts         |  2 +-
 .../test/http/base_request_options_spec.ts         |  2 +-
 modules/angular2/test/http/headers_spec.ts         |  2 +-
 modules/angular2/test/http/http_spec.ts            |  2 +-
 .../angular2/test/http/url_search_params_spec.ts   |  2 +-
 .../angular2/test/mock/view_resolver_mock_spec.ts  |  2 +-
 modules/angular2/test/pipes/slice_pipe_spec.ts     | 11 ++++++++++-
 modules/angular2/test/public_api_spec.ts           |  2 +-
 .../test/router/integration/lifecycle_hook_spec.ts |  2 +-
 .../test/router/integration/navigation_spec.ts     |  2 +-
 .../router/integration/router_integration_spec.ts  |  2 +-
 .../test/router/integration/router_link_spec.ts    |  2 +-
 modules/angular2/test/router/location_spec.ts      |  2 +-
 .../angular2/test/router/path_recognizer_spec.ts   |  2 +-
 modules/angular2/test/router/route_config_spec.ts  |  2 +-
 .../angular2/test/router/route_recognizer_spec.ts  |  2 +-
 .../angular2/test/router/route_registry_spec.ts    |  2 +-
 modules/angular2/test/router/router_link_spec.ts   |  2 +-
 modules/angular2/test/router/router_spec.ts        |  2 +-
 modules/angular2/test/router/spies.dart            |  2 +-
 modules/angular2/test/router/spies.ts              |  2 +-
 modules/angular2/test/router/url_parser_spec.ts    |  2 +-
 .../test/symbol_inspector/symbol_inspector_spec.ts |  2 +-
 .../test/{test_lib => testing}/fake_async_spec.ts  |  2 +-
 .../test_component_builder_spec.ts                 |  2 +-
 .../testing_internal_spec.ts}                      |  4 ++--
 .../testing_public_spec.dart}                      |  2 +-
 .../testing_public_spec.ts}                        |  3 +--
 .../test/{test_lib => testing}/utils_spec.ts       |  2 +-
 modules/angular2/test/tools/spies.dart             |  2 +-
 modules/angular2/test/tools/spies.ts               |  2 +-
 modules/angular2/test/tools/tools_spec.ts          |  2 +-
 .../debug_tools/bootstrap.server.spec.dart         |  2 +-
 .../debug_tools/message_bus_common.dart            |  2 +-
 ...ulti_client_server_message_bus.server.spec.dart |  2 +-
 ...ngle_client_server_message_bus.server.spec.dart |  2 +-
 .../web_workers/debug_tools/spy_web_socket.dart    |  2 +-
 .../debug_tools/web_socket_message_bus_spec.dart   |  2 +-
 .../test/web_workers/shared/message_bus_spec.ts    |  2 +-
 .../shared/render_proto_view_ref_store_spec.ts     |  2 +-
 .../render_view_with_fragments_store_spec.ts       |  9 ++++++++-
 .../shared/service_message_broker_spec.ts          |  2 +-
 .../web_workers/worker/event_dispatcher_spec.ts    |  2 +-
 .../worker/renderer_integration_spec.ts            |  2 +-
 .../angular2/test/web_workers/worker/spies.dart    |  2 +-
 modules/angular2/test/web_workers/worker/spies.ts  |  2 +-
 .../test/web_workers/worker/xhr_impl_spec.ts       |  2 +-
 modules/angular2/test_lib.ts                       | 11 +++++------
 modules/angular2/testing.ts                        | 12 ++++++++++++
 modules/angular2/testing_internal.ts               |  6 ++++++
 modules/angular2_material/test/button_spec.ts      |  2 +-
 .../benchmarks/e2e_test/change_detection_perf.ts   |  2 +-
 modules/benchmarks/e2e_test/compiler_perf.ts       |  2 +-
 modules/benchmarks/e2e_test/costs_perf.ts          |  2 +-
 modules/benchmarks/e2e_test/di_perf.ts             |  2 +-
 .../benchmarks/e2e_test/element_injector_perf.ts   |  2 +-
 modules/benchmarks/e2e_test/largetable_perf.ts     |  2 +-
 .../e2e_test/naive_infinite_scroll_perf.ts         |  2 +-
 .../e2e_test/naive_infinite_scroll_spec.ts         |  2 +-
 modules/benchmarks/e2e_test/selector_perf.ts       |  2 +-
 modules/benchmarks/e2e_test/static_tree_perf.ts    |  2 +-
 modules/benchmarks/e2e_test/tree_perf.ts           |  2 +-
 .../change_detection/change_detection_benchmark.ts |  2 +-
 .../benchmarks/src/compiler/compiler_benchmark.ts  |  2 +-
 .../benchmarks/src/compiler/selector_benchmark.ts  |  2 +-
 modules/benchmarks/src/costs/index.ts              |  2 +-
 modules/benchmarks/src/di/di_benchmark.ts          |  2 +-
 .../element_injector/element_injector_benchmark.ts |  2 +-
 .../src/largetable/largetable_benchmark.ts         |  2 +-
 .../benchmarks/src/naive_infinite_scroll/app.ts    |  2 +-
 .../benchmarks/src/static_tree/tree_benchmark.ts   |  2 +-
 modules/benchmarks/src/tree/tree_benchmark.ts      |  2 +-
 .../benchmarks_external/e2e_test/compiler_perf.ts  |  2 +-
 .../e2e_test/largetable_perf.ts                    |  2 +-
 .../e2e_test/naive_infinite_scroll_perf.ts         |  2 +-
 .../e2e_test/polymer_tree_perf.ts                  |  2 +-
 .../e2e_test/react_tree_perf.ts                    |  2 +-
 .../e2e_test/static_tree_perf.ts                   |  2 +-
 modules/benchmarks_external/e2e_test/tree_perf.ts  |  2 +-
 .../src/compiler/compiler_benchmark.dart           |  2 +-
 .../src/compiler/compiler_benchmark.ts             |  2 +-
 .../src/largetable/largetable_benchmark.ts         |  6 +-----
 .../src/naive_infinite_scroll/app.dart             |  2 +-
 .../src/static_tree/tree_benchmark.dart            |  2 +-
 .../src/static_tree/tree_benchmark.ts              |  2 +-
 .../benchmarks_external/src/tree/react/index.ts    |  2 +-
 .../src/tree/tree_benchmark.dart                   |  2 +-
 .../benchmarks_external/src/tree/tree_benchmark.ts |  2 +-
 .../benchpress/test/metric/multi_metric_spec.ts    |  2 +-
 .../benchpress/test/metric/perflog_metric_spec.ts  |  2 +-
 .../test/reporter/console_reporter_spec.ts         | 11 ++++++++++-
 .../test/reporter/json_file_reporter_spec.ts       |  2 +-
 .../test/reporter/multi_reporter_spec.ts           |  2 +-
 modules/benchpress/test/runner_spec.ts             |  2 +-
 modules/benchpress/test/sampler_spec.ts            |  2 +-
 modules/benchpress/test/statistic_spec.ts          | 11 ++++++++++-
 .../validator/regression_slope_validator_spec.ts   | 11 ++++++++++-
 .../test/validator/size_validator_spec.ts          | 11 ++++++++++-
 .../benchpress/test/web_driver_extension_spec.ts   |  2 +-
 .../test/webdriver/chrome_driver_extension_spec.ts |  2 +-
 .../test/webdriver/ios_driver_extension_spec.ts    |  2 +-
 modules/examples/e2e_test/async/async_spec.ts      |  2 +-
 .../e2e_test/hello_world/hello_world_spec.ts       |  2 +-
 modules/examples/e2e_test/http/http_spec.ts        |  2 +-
 modules/examples/e2e_test/jsonp/jsonp_spec.ts      |  2 +-
 .../e2e_test/key_events/key_events_spec.ts         |  2 +-
 modules/examples/e2e_test/material/button_spec.ts  |  2 +-
 .../examples/e2e_test/material/checkbox_spec.ts    |  2 +-
 modules/examples/e2e_test/material/dialog_spec.ts  |  2 +-
 .../examples/e2e_test/material/grid_list_spec.ts   |  2 +-
 modules/examples/e2e_test/material/input_spec.ts   |  2 +-
 .../e2e_test/material/progress_linear_spec.ts      |  2 +-
 modules/examples/e2e_test/material/radio_spec.ts   |  2 +-
 .../model_driven_forms/model_driven_forms_spec.ts  |  2 +-
 .../order_management/order_management_spec.ts      |  2 +-
 .../person_management/person_management_spec.ts    |  2 +-
 modules/examples/e2e_test/routing/routing_spec.ts  |  2 +-
 .../examples/e2e_test/sourcemap/sourcemap_spec.ts  |  2 +-
 .../template_driven_forms_spec.ts                  |  2 +-
 .../web_workers/kitchen_sink/kitchen_sink_spec.ts  |  2 +-
 .../message_broker/message_broker_spec.ts          |  2 +-
 .../e2e_test/web_workers/todo/todo_spec.ts         |  2 +-
 .../e2e_test/zippy_component/zippy_spec.ts         |  2 +-
 modules/upgrade/test/integration_spec.ts           |  2 +-
 modules/upgrade/test/metadata_spec.ts              |  2 +-
 test-main.dart                                     |  2 +-
 tools/broccoli/html-replace/SCRIPTS.html           |  2 +-
 .../broccoli/html-replace/SCRIPTS_benchmarks.html  |  2 +-
 tools/broccoli/trees/node_tree.ts                  |  4 ++--
 266 files changed, 407 insertions(+), 279 deletions(-)
 rename modules/angular2/src/{test_lib => testing}/benchmark_util.ts (100%)
 rename modules/angular2/src/{test_lib => testing}/e2e_util.dart (100%)
 rename modules/angular2/src/{test_lib => testing}/e2e_util.ts (100%)
 rename modules/angular2/src/{test_lib => testing}/fake_async.dart (98%)
 rename modules/angular2/src/{test_lib => testing}/fake_async.ts (100%)
 rename modules/angular2/src/{test_lib => testing}/lang_utils.dart (88%)
 rename modules/angular2/src/{test_lib => testing}/lang_utils.ts (100%)
 rename modules/angular2/src/{test_lib => testing}/matchers.dart (99%)
 rename modules/angular2/src/{test_lib => testing}/matchers.ts (100%)
 rename modules/angular2/src/{test_lib => testing}/perf_util.dart (68%)
 rename modules/angular2/src/{test_lib => testing}/perf_util.ts (100%)
 rename modules/angular2/src/{test_lib => testing}/shims_for_IE.js (100%)
 rename modules/angular2/src/{test_lib => testing}/test_component_builder.ts (100%)
 rename modules/angular2/src/{test_lib => testing}/test_injector.ts (100%)
 rename modules/angular2/src/{test_lib/test_lib_public.dart => testing/testing.dart} (69%)
 rename modules/angular2/src/{test_lib/test_lib_public.ts => testing/testing.ts} (99%)
 rename modules/angular2/src/{test_lib/test_lib.dart => testing/testing_internal.dart} (98%)
 rename modules/angular2/src/{test_lib/test_lib.ts => testing/testing_internal.ts} (100%)
 rename modules/angular2/src/{test_lib => testing}/utils.ts (100%)
 rename modules/angular2/test/{test_lib => testing}/fake_async_spec.ts (99%)
 rename modules/angular2/test/{test_lib => testing}/test_component_builder_spec.ts (99%)
 rename modules/angular2/test/{test_lib/test_lib_spec.ts => testing/testing_internal_spec.ts} (98%)
 rename modules/angular2/test/{test_lib/test_lib_public_spec.dart => testing/testing_public_spec.dart} (66%)
 rename modules/angular2/test/{test_lib/test_lib_public_spec.ts => testing/testing_public_spec.ts} (99%)
 rename modules/angular2/test/{test_lib => testing}/utils_spec.ts (99%)
 create mode 100644 modules/angular2/testing.ts
 create mode 100644 modules/angular2/testing_internal.ts

diff --git a/docs/typescript-definition-package/index.js b/docs/typescript-definition-package/index.js
index afad0317c4..5d714243b7 100644
--- a/docs/typescript-definition-package/index.js
+++ b/docs/typescript-definition-package/index.js
@@ -43,7 +43,7 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage,
     'angular2/web_worker/ui.ts',
     'angular2/router.ts',
     'angular2/http.ts',
-    'angular2/test_lib.ts'
+    'angular2/testing.ts'
   ];
   readTypeScriptModules.basePath = path.resolve(path.resolve(__dirname, '../../modules'));
 
@@ -70,12 +70,12 @@ module.exports = new Package('angular-v2-docs', [jsdocPackage, nunjucksPackage,
       modules: {'angular2/http': {namespace: 'ngHttp', id: 'angular2/http'}}
     },
     {
-      id: 'angular2/test_lib',
+      id: 'angular2/testing',
       references: ['./angular2.d.ts'],
       remapTypes: { Type: 'ng.Type', Binding: 'ng.Binding', Provider: 'ng.Provider', ViewMetadata: 'ng.ViewMetadata', Injector: 'ng.Injector',
                     Predicate: 'ng.Predicate', ElementRef: 'ng.ElementRef', DebugElement: 'ng.DebugElement',
                     InjectableReference: 'ng.InjectableReference', ComponentRef: 'ng.ComponentRef' },
-      modules: {'angular2/test_lib': {namespace: 'ngTestLib', id: 'angular2/test_lib'}}
+      modules: {'angular2/testing': {namespace: 'ngTesting', id: 'angular2/testing'}}
     }
   ];
 })
diff --git a/gulpfile.js b/gulpfile.js
index 467848ed5f..0e892d37f3 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -299,7 +299,7 @@ gulp.task('lint', ['build.tools'], function() {
       "requireParameterType": true
     }
   };
-  return gulp.src(['modules/angular2/src/**/*.ts', '!modules/angular2/src/test_lib/**'])
+  return gulp.src(['modules/angular2/src/**/*.ts', '!modules/angular2/src/testing/**'])
       .pipe(tslint({
         tslint: require('tslint'),
         configuration: tslintConfig,
@@ -1044,8 +1044,8 @@ gulp.task('!bundle.testing', ['build.js.dev'], function() {
   devBundleConfig.paths = merge(true, devBundleConfig.paths, {"*": "dist/js/dev/es5/*.js"});
   return bundler.bundle(
     devBundleConfig,
-    'angular2/test_lib + angular2/mock - angular2/angular2',
-    './dist/js/bundle/test_lib.js',
+    'angular2/testing + angular2/mock - angular2/angular2',
+    './dist/js/bundle/testing.js',
     { sourceMaps: true });
 });
 
diff --git a/karma-js.conf.js b/karma-js.conf.js
index 3072e690cb..85772971f0 100644
--- a/karma-js.conf.js
+++ b/karma-js.conf.js
@@ -22,7 +22,7 @@ module.exports = function(config) {
       'node_modules/zone.js/dist/jasmine-patch.js',
 
       // Including systemjs because it defines `__eval`, which produces correct stack traces.
-      'modules/angular2/src/test_lib/shims_for_IE.js',
+      'modules/angular2/src/testing/shims_for_IE.js',
       'node_modules/systemjs/dist/system.src.js',
       {pattern: 'node_modules/@reactivex/rxjs/**', included: false, watched: false, served: true},
       'node_modules/reflect-metadata/Reflect.js',
diff --git a/modules/angular2/package.json b/modules/angular2/package.json
index 57e8750ac3..098fb26bce 100644
--- a/modules/angular2/package.json
+++ b/modules/angular2/package.json
@@ -19,7 +19,7 @@
       "bundles/typings/angular2/angular2.d.ts",
       "bundles/typings/angular2/http.d.ts",
       "bundles/typings/angular2/router.d.ts",
-      "bundles/typings/angular2/test_lib.d.ts"
+      "bundles/typings/angular2/testing.d.ts"
     ]
   }
 }
diff --git a/modules/angular2/src/test_lib/benchmark_util.ts b/modules/angular2/src/testing/benchmark_util.ts
similarity index 100%
rename from modules/angular2/src/test_lib/benchmark_util.ts
rename to modules/angular2/src/testing/benchmark_util.ts
diff --git a/modules/angular2/src/test_lib/e2e_util.dart b/modules/angular2/src/testing/e2e_util.dart
similarity index 100%
rename from modules/angular2/src/test_lib/e2e_util.dart
rename to modules/angular2/src/testing/e2e_util.dart
diff --git a/modules/angular2/src/test_lib/e2e_util.ts b/modules/angular2/src/testing/e2e_util.ts
similarity index 100%
rename from modules/angular2/src/test_lib/e2e_util.ts
rename to modules/angular2/src/testing/e2e_util.ts
diff --git a/modules/angular2/src/test_lib/fake_async.dart b/modules/angular2/src/testing/fake_async.dart
similarity index 98%
rename from modules/angular2/src/test_lib/fake_async.dart
rename to modules/angular2/src/testing/fake_async.dart
index 550bd9ec75..20bb11d490 100644
--- a/modules/angular2/src/test_lib/fake_async.dart
+++ b/modules/angular2/src/testing/fake_async.dart
@@ -1,4 +1,4 @@
-library test_lib.fake_async;
+library testing.fake_async;
 
 import 'dart:async' show runZoned, ZoneSpecification;
 import 'package:quiver/testing/async.dart' as quiver;
diff --git a/modules/angular2/src/test_lib/fake_async.ts b/modules/angular2/src/testing/fake_async.ts
similarity index 100%
rename from modules/angular2/src/test_lib/fake_async.ts
rename to modules/angular2/src/testing/fake_async.ts
diff --git a/modules/angular2/src/test_lib/lang_utils.dart b/modules/angular2/src/testing/lang_utils.dart
similarity index 88%
rename from modules/angular2/src/test_lib/lang_utils.dart
rename to modules/angular2/src/testing/lang_utils.dart
index 81a830bf09..62b6a66534 100644
--- a/modules/angular2/src/test_lib/lang_utils.dart
+++ b/modules/angular2/src/testing/lang_utils.dart
@@ -1,4 +1,4 @@
-library test_lib.lang_utils;
+library testing.lang_utils;
 
 import 'dart:mirrors';
 
diff --git a/modules/angular2/src/test_lib/lang_utils.ts b/modules/angular2/src/testing/lang_utils.ts
similarity index 100%
rename from modules/angular2/src/test_lib/lang_utils.ts
rename to modules/angular2/src/testing/lang_utils.ts
diff --git a/modules/angular2/src/test_lib/matchers.dart b/modules/angular2/src/testing/matchers.dart
similarity index 99%
rename from modules/angular2/src/test_lib/matchers.dart
rename to modules/angular2/src/testing/matchers.dart
index 29c117f405..91fc39d708 100644
--- a/modules/angular2/src/test_lib/matchers.dart
+++ b/modules/angular2/src/testing/matchers.dart
@@ -1,4 +1,4 @@
-library test_lib.matchers;
+library testing.matchers;
 
 import 'dart:async';
 
diff --git a/modules/angular2/src/test_lib/matchers.ts b/modules/angular2/src/testing/matchers.ts
similarity index 100%
rename from modules/angular2/src/test_lib/matchers.ts
rename to modules/angular2/src/testing/matchers.ts
diff --git a/modules/angular2/src/test_lib/perf_util.dart b/modules/angular2/src/testing/perf_util.dart
similarity index 68%
rename from modules/angular2/src/test_lib/perf_util.dart
rename to modules/angular2/src/testing/perf_util.dart
index 80f7b422f0..38017071ee 100644
--- a/modules/angular2/src/test_lib/perf_util.dart
+++ b/modules/angular2/src/testing/perf_util.dart
@@ -1,3 +1,3 @@
-library angular2.test_lib.perf_util;
+library angular2.testing.perf_util;
 
 // empty as this file is node.js specific and should not be transpiled to dart
diff --git a/modules/angular2/src/test_lib/perf_util.ts b/modules/angular2/src/testing/perf_util.ts
similarity index 100%
rename from modules/angular2/src/test_lib/perf_util.ts
rename to modules/angular2/src/testing/perf_util.ts
diff --git a/modules/angular2/src/test_lib/shims_for_IE.js b/modules/angular2/src/testing/shims_for_IE.js
similarity index 100%
rename from modules/angular2/src/test_lib/shims_for_IE.js
rename to modules/angular2/src/testing/shims_for_IE.js
diff --git a/modules/angular2/src/test_lib/test_component_builder.ts b/modules/angular2/src/testing/test_component_builder.ts
similarity index 100%
rename from modules/angular2/src/test_lib/test_component_builder.ts
rename to modules/angular2/src/testing/test_component_builder.ts
diff --git a/modules/angular2/src/test_lib/test_injector.ts b/modules/angular2/src/testing/test_injector.ts
similarity index 100%
rename from modules/angular2/src/test_lib/test_injector.ts
rename to modules/angular2/src/testing/test_injector.ts
diff --git a/modules/angular2/src/test_lib/test_lib_public.dart b/modules/angular2/src/testing/testing.dart
similarity index 69%
rename from modules/angular2/src/test_lib/test_lib_public.dart
rename to modules/angular2/src/testing/testing.dart
index 71d885f002..e58a9c8bff 100644
--- a/modules/angular2/src/test_lib/test_lib_public.dart
+++ b/modules/angular2/src/testing/testing.dart
@@ -1,3 +1,3 @@
-library angular2.test_lib_public;
+library angular2.src.testing.testing;
 
 // empty as this file is for external TS/js users and should not be transpiled to dart
diff --git a/modules/angular2/src/test_lib/test_lib_public.ts b/modules/angular2/src/testing/testing.ts
similarity index 99%
rename from modules/angular2/src/test_lib/test_lib_public.ts
rename to modules/angular2/src/testing/testing.ts
index f73af19511..d8546e3d38 100644
--- a/modules/angular2/src/test_lib/test_lib_public.ts
+++ b/modules/angular2/src/testing/testing.ts
@@ -10,7 +10,7 @@ import {createTestInjector, FunctionWithParamTokens, inject, injectAsync} from '
 
 export {inject, injectAsync} from './test_injector';
 
-export {expect} from './matchers';
+export {expect, NgMatchers} from './matchers';
 
 var _global: jasmine.GlobalPolluter = <any>(typeof window === 'undefined' ? global : window);
 
diff --git a/modules/angular2/src/test_lib/test_lib.dart b/modules/angular2/src/testing/testing_internal.dart
similarity index 98%
rename from modules/angular2/src/test_lib/test_lib.dart
rename to modules/angular2/src/testing/testing_internal.dart
index b692cb2d8f..253048b89b 100644
--- a/modules/angular2/src/test_lib/test_lib.dart
+++ b/modules/angular2/src/testing/testing_internal.dart
@@ -1,4 +1,4 @@
-library test_lib.test_lib;
+library angular2.src.testing.testing_internal;
 
 import 'dart:async';
 
diff --git a/modules/angular2/src/test_lib/test_lib.ts b/modules/angular2/src/testing/testing_internal.ts
similarity index 100%
rename from modules/angular2/src/test_lib/test_lib.ts
rename to modules/angular2/src/testing/testing_internal.ts
diff --git a/modules/angular2/src/test_lib/utils.ts b/modules/angular2/src/testing/utils.ts
similarity index 100%
rename from modules/angular2/src/test_lib/utils.ts
rename to modules/angular2/src/testing/utils.ts
diff --git a/modules/angular2/test.ts b/modules/angular2/test.ts
index 379a657b09..3350e7b369 100644
--- a/modules/angular2/test.ts
+++ b/modules/angular2/test.ts
@@ -1,13 +1,5 @@
 /**
- * @module
- * @description
- * This module is used for writing tests for applications written in Angular.
- *
- * This module is not included in the `angular2` module; you must import the test module explicitly.
- *
+ * @deprecated Please use testing instead
  */
-export * from './src/test_lib/test_lib_public';
-export * from './src/test_lib/test_component_builder';
-export * from './src/test_lib/test_injector';
-export * from './src/test_lib/fake_async';
-export * from './src/test_lib/utils';
+
+export * from './testing';
diff --git a/modules/angular2/test/animate/animation_builder_spec.ts b/modules/angular2/test/animate/animation_builder_spec.ts
index f103c5597b..7c1f3c3d78 100644
--- a/modules/angular2/test/animate/animation_builder_spec.ts
+++ b/modules/angular2/test/animate/animation_builder_spec.ts
@@ -1,4 +1,4 @@
-import {el, describe, it, iit, expect, inject, SpyObject} from 'angular2/test_lib';
+import {el, describe, it, iit, expect, inject, SpyObject} from 'angular2/testing_internal';
 import {AnimationBuilder} from 'angular2/src/animate/animation_builder';
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 
diff --git a/modules/angular2/test/core/application_spec.ts b/modules/angular2/test/core/application_spec.ts
index 4a2039a80e..951ac4f566 100644
--- a/modules/angular2/test/core/application_spec.ts
+++ b/modules/angular2/test/core/application_spec.ts
@@ -9,7 +9,7 @@ import {
   it,
   xdescribe,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {isPresent, stringify} from 'angular2/src/core/facade/lang';
 import {bootstrap} from 'angular2/bootstrap';
 import {ApplicationRef} from 'angular2/src/core/application_ref';
diff --git a/modules/angular2/test/core/change_detection/change_detector_ref_spec.ts b/modules/angular2/test/core/change_detection/change_detector_ref_spec.ts
index 97f39263d3..0941e59d38 100644
--- a/modules/angular2/test/core/change_detection/change_detector_ref_spec.ts
+++ b/modules/angular2/test/core/change_detection/change_detector_ref_spec.ts
@@ -9,7 +9,7 @@ import {
   afterEach,
   tick,
   fakeAsync
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {
   ChangeDetectorRef,
diff --git a/modules/angular2/test/core/change_detection/change_detector_spec.ts b/modules/angular2/test/core/change_detection/change_detector_spec.ts
index e1c69aea97..e594fe84dd 100644
--- a/modules/angular2/test/core/change_detection/change_detector_spec.ts
+++ b/modules/angular2/test/core/change_detection/change_detector_spec.ts
@@ -9,7 +9,7 @@ import {
   afterEach,
   tick,
   fakeAsync
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {SpyChangeDispatcher} from '../spies';
 
diff --git a/modules/angular2/test/core/change_detection/coalesce_spec.ts b/modules/angular2/test/core/change_detection/coalesce_spec.ts
index 90f399dee0..ec6f5b03f4 100644
--- a/modules/angular2/test/core/change_detection/coalesce_spec.ts
+++ b/modules/angular2/test/core/change_detection/coalesce_spec.ts
@@ -1,4 +1,13 @@
-import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  ddescribe,
+  describe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 import {isBlank} from 'angular2/src/core/facade/lang';
 
 import {coalesce} from 'angular2/src/core/change_detection/coalesce';
diff --git a/modules/angular2/test/core/change_detection/differs/default_iterable_differ_spec.ts b/modules/angular2/test/core/change_detection/differs/default_iterable_differ_spec.ts
index 0fc68e94e7..e5a5e59ac4 100644
--- a/modules/angular2/test/core/change_detection/differs/default_iterable_differ_spec.ts
+++ b/modules/angular2/test/core/change_detection/differs/default_iterable_differ_spec.ts
@@ -1,4 +1,13 @@
-import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  ddescribe,
+  describe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 import {
   DefaultIterableDiffer,
   DefaultIterableDifferFactory
diff --git a/modules/angular2/test/core/change_detection/differs/default_keyvalue_differ_spec.ts b/modules/angular2/test/core/change_detection/differs/default_keyvalue_differ_spec.ts
index 59158c9b41..831a3f3205 100644
--- a/modules/angular2/test/core/change_detection/differs/default_keyvalue_differ_spec.ts
+++ b/modules/angular2/test/core/change_detection/differs/default_keyvalue_differ_spec.ts
@@ -1,4 +1,13 @@
-import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  ddescribe,
+  describe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 import {
   DefaultKeyValueDiffer,
   DefaultKeyValueDifferFactory
diff --git a/modules/angular2/test/core/change_detection/differs/iterable_differs_spec.ts b/modules/angular2/test/core/change_detection/differs/iterable_differs_spec.ts
index 1c1c48f927..220bd1adf3 100644
--- a/modules/angular2/test/core/change_detection/differs/iterable_differs_spec.ts
+++ b/modules/angular2/test/core/change_detection/differs/iterable_differs_spec.ts
@@ -1,4 +1,13 @@
-import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  ddescribe,
+  describe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 import {SpyIterableDifferFactory} from '../../spies';
 import {IterableDiffers} from 'angular2/src/core/change_detection/differs/iterable_differs';
 import {Injector, provide} from 'angular2/core';
diff --git a/modules/angular2/test/core/change_detection/parser/lexer_spec.ts b/modules/angular2/test/core/change_detection/parser/lexer_spec.ts
index 3a310288b5..87865efe86 100644
--- a/modules/angular2/test/core/change_detection/parser/lexer_spec.ts
+++ b/modules/angular2/test/core/change_detection/parser/lexer_spec.ts
@@ -1,4 +1,4 @@
-import {ddescribe, describe, it, expect} from 'angular2/test_lib';
+import {ddescribe, describe, it, expect} from 'angular2/testing_internal';
 
 import {Lexer, Token} from 'angular2/src/core/change_detection/parser/lexer';
 
diff --git a/modules/angular2/test/core/change_detection/parser/locals_spec.ts b/modules/angular2/test/core/change_detection/parser/locals_spec.ts
index 9b5bdce0fd..5b6f3f941f 100644
--- a/modules/angular2/test/core/change_detection/parser/locals_spec.ts
+++ b/modules/angular2/test/core/change_detection/parser/locals_spec.ts
@@ -1,4 +1,4 @@
-import {ddescribe, describe, it, xit, iit, expect, beforeEach} from 'angular2/test_lib';
+import {ddescribe, describe, it, xit, iit, expect, beforeEach} from 'angular2/testing_internal';
 
 import {Locals} from 'angular2/src/core/change_detection/parser/locals';
 
diff --git a/modules/angular2/test/core/change_detection/parser/parser_spec.ts b/modules/angular2/test/core/change_detection/parser/parser_spec.ts
index d4ee012ba5..dce5dad7a5 100644
--- a/modules/angular2/test/core/change_detection/parser/parser_spec.ts
+++ b/modules/angular2/test/core/change_detection/parser/parser_spec.ts
@@ -1,4 +1,4 @@
-import {ddescribe, describe, it, xit, iit, expect, beforeEach} from 'angular2/test_lib';
+import {ddescribe, describe, it, xit, iit, expect, beforeEach} from 'angular2/testing_internal';
 import {isBlank, isPresent} from 'angular2/src/core/facade/lang';
 import {reflector} from 'angular2/src/core/reflection/reflection';
 import {Parser} from 'angular2/src/core/change_detection/parser/parser';
diff --git a/modules/angular2/test/core/change_detection/proto_record_builder_spec.ts b/modules/angular2/test/core/change_detection/proto_record_builder_spec.ts
index 96b896ce2e..cc189c9d55 100644
--- a/modules/angular2/test/core/change_detection/proto_record_builder_spec.ts
+++ b/modules/angular2/test/core/change_detection/proto_record_builder_spec.ts
@@ -8,7 +8,7 @@ import {
   beforeEach,
   afterEach,
   inject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {ProtoRecordBuilder} from 'angular2/src/core/change_detection/proto_change_detector';
 import {BindingRecord} from 'angular2/src/core/change_detection/binding_record';
diff --git a/modules/angular2/test/core/change_detection/proto_record_spec.ts b/modules/angular2/test/core/change_detection/proto_record_spec.ts
index cfda653774..bdc76ade3c 100644
--- a/modules/angular2/test/core/change_detection/proto_record_spec.ts
+++ b/modules/angular2/test/core/change_detection/proto_record_spec.ts
@@ -1,4 +1,13 @@
-import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  ddescribe,
+  describe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 import {isBlank} from 'angular2/src/core/facade/lang';
 
 import {RecordType, ProtoRecord} from 'angular2/src/core/change_detection/proto_record';
diff --git a/modules/angular2/test/core/compiler/change_definition_factory_spec.ts b/modules/angular2/test/core/compiler/change_definition_factory_spec.ts
index cdc1fe55e4..970eccf577 100644
--- a/modules/angular2/test/core/compiler/change_definition_factory_spec.ts
+++ b/modules/angular2/test/core/compiler/change_definition_factory_spec.ts
@@ -11,7 +11,7 @@ import {
   xit,
   TestComponentBuilder,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {MapWrapper} from 'angular2/src/core/facade/collection';
 import {
   CompileDirectiveMetadata,
diff --git a/modules/angular2/test/core/compiler/change_detector_compiler_spec.ts b/modules/angular2/test/core/compiler/change_detector_compiler_spec.ts
index 0bfbea1ab0..16235c7f0b 100644
--- a/modules/angular2/test/core/compiler/change_detector_compiler_spec.ts
+++ b/modules/angular2/test/core/compiler/change_detector_compiler_spec.ts
@@ -11,7 +11,7 @@ import {
   AsyncTestCompleter,
   inject,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {provide} from 'angular2/src/core/di';
 
 import {CONST_EXPR, stringify} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/core/compiler/command_compiler_spec.ts b/modules/angular2/test/core/compiler/command_compiler_spec.ts
index 7c04b64934..621b30ed97 100644
--- a/modules/angular2/test/core/compiler/command_compiler_spec.ts
+++ b/modules/angular2/test/core/compiler/command_compiler_spec.ts
@@ -11,7 +11,7 @@ import {
   AsyncTestCompleter,
   inject,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {CONST_EXPR, stringify, isType, Type, isBlank} from 'angular2/src/core/facade/lang';
 import {MapWrapper} from 'angular2/src/core/facade/collection';
diff --git a/modules/angular2/test/core/compiler/directive_metadata_spec.ts b/modules/angular2/test/core/compiler/directive_metadata_spec.ts
index 9f4ca11e11..8248b3bd86 100644
--- a/modules/angular2/test/core/compiler/directive_metadata_spec.ts
+++ b/modules/angular2/test/core/compiler/directive_metadata_spec.ts
@@ -10,7 +10,7 @@ import {
   it,
   xit,
   TestComponentBuilder
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {
   CompileDirectiveMetadata,
diff --git a/modules/angular2/test/core/compiler/eval_module_spec.ts b/modules/angular2/test/core/compiler/eval_module_spec.ts
index 9f2f2fdf27..6a7530089a 100644
--- a/modules/angular2/test/core/compiler/eval_module_spec.ts
+++ b/modules/angular2/test/core/compiler/eval_module_spec.ts
@@ -10,7 +10,7 @@ import {
   afterEach,
   AsyncTestCompleter,
   inject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {IS_DART} from '../../platform';
 
 import {evalModule} from './eval_module';
diff --git a/modules/angular2/test/core/compiler/html_parser_spec.ts b/modules/angular2/test/core/compiler/html_parser_spec.ts
index 3f9cf6346a..d5b0f55c0b 100644
--- a/modules/angular2/test/core/compiler/html_parser_spec.ts
+++ b/modules/angular2/test/core/compiler/html_parser_spec.ts
@@ -1,4 +1,13 @@
-import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  ddescribe,
+  describe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 
 import {HtmlParser} from 'angular2/src/core/compiler/html_parser';
 import {
diff --git a/modules/angular2/test/core/compiler/runtime_compiler_spec.ts b/modules/angular2/test/core/compiler/runtime_compiler_spec.ts
index 2806945e16..454ced4bfa 100644
--- a/modules/angular2/test/core/compiler/runtime_compiler_spec.ts
+++ b/modules/angular2/test/core/compiler/runtime_compiler_spec.ts
@@ -11,7 +11,7 @@ import {
   AsyncTestCompleter,
   inject,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Component, View, provide} from 'angular2/core';
 import {PromiseWrapper} from 'angular2/src/core/facade/async';
diff --git a/modules/angular2/test/core/compiler/runtime_metadata_spec.ts b/modules/angular2/test/core/compiler/runtime_metadata_spec.ts
index dd52138798..a767b8474d 100644
--- a/modules/angular2/test/core/compiler/runtime_metadata_spec.ts
+++ b/modules/angular2/test/core/compiler/runtime_metadata_spec.ts
@@ -11,7 +11,7 @@ import {
   AsyncTestCompleter,
   inject,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {stringify} from 'angular2/src/core/facade/lang';
 import {RuntimeMetadataResolver} from 'angular2/src/core/compiler/runtime_metadata';
diff --git a/modules/angular2/test/core/compiler/schema/dom_element_schema_registry_spec.ts b/modules/angular2/test/core/compiler/schema/dom_element_schema_registry_spec.ts
index 18471ea4e2..252860da72 100644
--- a/modules/angular2/test/core/compiler/schema/dom_element_schema_registry_spec.ts
+++ b/modules/angular2/test/core/compiler/schema/dom_element_schema_registry_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {IS_DART} from '../../../platform';
 
 import {
diff --git a/modules/angular2/test/core/compiler/selector_spec.ts b/modules/angular2/test/core/compiler/selector_spec.ts
index 23d0dcd3dd..9fbbd4b755 100644
--- a/modules/angular2/test/core/compiler/selector_spec.ts
+++ b/modules/angular2/test/core/compiler/selector_spec.ts
@@ -1,4 +1,4 @@
-import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/test_lib';
+import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/testing_internal';
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 import {SelectorMatcher} from 'angular2/src/core/compiler/selector';
 import {CssSelector} from 'angular2/src/core/compiler/selector';
diff --git a/modules/angular2/test/core/compiler/shadow_css_html5lib.server.spec.dart b/modules/angular2/test/core/compiler/shadow_css_html5lib.server.spec.dart
index ab9b5dbe91..05206f2e75 100644
--- a/modules/angular2/test/core/compiler/shadow_css_html5lib.server.spec.dart
+++ b/modules/angular2/test/core/compiler/shadow_css_html5lib.server.spec.dart
@@ -1,7 +1,7 @@
 library angular2.compiler.shadow_css_html5lib.test;
 
 import 'package:angular2/src/core/dom/html_adapter.dart';
-import 'package:angular2/src/test_lib/test_lib.dart' show testSetup;
+import 'package:angular2/src/testing/testing_internal.dart' show testSetup;
 import 'shadow_css_spec.dart' as shadow_css_spec_test;
 
 void main() {
diff --git a/modules/angular2/test/core/compiler/shadow_css_spec.ts b/modules/angular2/test/core/compiler/shadow_css_spec.ts
index 6159b71206..4400617ceb 100644
--- a/modules/angular2/test/core/compiler/shadow_css_spec.ts
+++ b/modules/angular2/test/core/compiler/shadow_css_spec.ts
@@ -9,7 +9,7 @@ import {
   el,
   normalizeCSS,
   browserDetection
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {ShadowCss} from 'angular2/src/core/compiler/shadow_css';
 
 import {RegExpWrapper, StringWrapper, isPresent} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/core/compiler/source_module_spec.ts b/modules/angular2/test/core/compiler/source_module_spec.ts
index 60cbcf8e3c..8c5f1555ef 100644
--- a/modules/angular2/test/core/compiler/source_module_spec.ts
+++ b/modules/angular2/test/core/compiler/source_module_spec.ts
@@ -10,7 +10,7 @@ import {
   it,
   xit,
   TestComponentBuilder
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {SourceModule, moduleRef} from 'angular2/src/core/compiler/source_module';
 
diff --git a/modules/angular2/test/core/compiler/style_compiler_spec.ts b/modules/angular2/test/core/compiler/style_compiler_spec.ts
index 03ede7d7f2..6dd595ddd6 100644
--- a/modules/angular2/test/core/compiler/style_compiler_spec.ts
+++ b/modules/angular2/test/core/compiler/style_compiler_spec.ts
@@ -11,7 +11,7 @@ import {
   AsyncTestCompleter,
   inject,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {provide} from 'angular2/src/core/di';
 import {SpyXHR} from '../spies';
 import {XHR} from 'angular2/src/core/compiler/xhr';
diff --git a/modules/angular2/test/core/compiler/style_url_resolver_spec.ts b/modules/angular2/test/core/compiler/style_url_resolver_spec.ts
index a906fd0964..25ce8942a1 100644
--- a/modules/angular2/test/core/compiler/style_url_resolver_spec.ts
+++ b/modules/angular2/test/core/compiler/style_url_resolver_spec.ts
@@ -1,4 +1,4 @@
-import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/test_lib';
+import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/testing_internal';
 import {resolveStyleUrls} from 'angular2/src/core/compiler/style_url_resolver';
 
 import {UrlResolver} from 'angular2/src/core/compiler/url_resolver';
diff --git a/modules/angular2/test/core/compiler/template_compiler_spec.ts b/modules/angular2/test/core/compiler/template_compiler_spec.ts
index f27a99425b..08f6b2f61d 100644
--- a/modules/angular2/test/core/compiler/template_compiler_spec.ts
+++ b/modules/angular2/test/core/compiler/template_compiler_spec.ts
@@ -11,7 +11,7 @@ import {
   AsyncTestCompleter,
   inject,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Promise, PromiseWrapper} from 'angular2/src/core/facade/async';
 import {Type, isPresent, isBlank, stringify, isString} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/core/compiler/template_normalizer_spec.ts b/modules/angular2/test/core/compiler/template_normalizer_spec.ts
index a63deb0e91..84d98adba9 100644
--- a/modules/angular2/test/core/compiler/template_normalizer_spec.ts
+++ b/modules/angular2/test/core/compiler/template_normalizer_spec.ts
@@ -11,7 +11,7 @@ import {
   xit,
   TestComponentBuilder,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {
   CompileTypeMetadata,
diff --git a/modules/angular2/test/core/compiler/template_parser_spec.ts b/modules/angular2/test/core/compiler/template_parser_spec.ts
index 37ec67711f..64b39be52c 100644
--- a/modules/angular2/test/core/compiler/template_parser_spec.ts
+++ b/modules/angular2/test/core/compiler/template_parser_spec.ts
@@ -9,7 +9,7 @@ import {
   afterEach,
   inject,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {provide} from 'angular2/src/core/di';
 
 import {TEST_PROVIDERS} from './test_bindings';
diff --git a/modules/angular2/test/core/compiler/template_preparser_spec.ts b/modules/angular2/test/core/compiler/template_preparser_spec.ts
index ea703a5812..18106018c0 100644
--- a/modules/angular2/test/core/compiler/template_preparser_spec.ts
+++ b/modules/angular2/test/core/compiler/template_preparser_spec.ts
@@ -11,7 +11,7 @@ import {
   AsyncTestCompleter,
   inject,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {HtmlParser} from 'angular2/src/core/compiler/html_parser';
 import {
diff --git a/modules/angular2/test/core/compiler/url_resolver_spec.ts b/modules/angular2/test/core/compiler/url_resolver_spec.ts
index 78abaf77d3..43d60df2ea 100644
--- a/modules/angular2/test/core/compiler/url_resolver_spec.ts
+++ b/modules/angular2/test/core/compiler/url_resolver_spec.ts
@@ -1,4 +1,4 @@
-import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/test_lib';
+import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/testing_internal';
 import {UrlResolver} from 'angular2/src/core/compiler/url_resolver';
 
 export function main() {
diff --git a/modules/angular2/test/core/compiler/util_spec.ts b/modules/angular2/test/core/compiler/util_spec.ts
index 05964448db..897a4edbc5 100644
--- a/modules/angular2/test/core/compiler/util_spec.ts
+++ b/modules/angular2/test/core/compiler/util_spec.ts
@@ -10,7 +10,7 @@ import {
   it,
   xit,
   TestComponentBuilder
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {IS_DART} from '../../platform';
 import {escapeSingleQuoteString, escapeDoubleQuoteString} from 'angular2/src/core/compiler/util';
diff --git a/modules/angular2/test/core/compiler/xhr_impl_spec.ts b/modules/angular2/test/core/compiler/xhr_impl_spec.ts
index 276d4b97f1..ea4ec46834 100644
--- a/modules/angular2/test/core/compiler/xhr_impl_spec.ts
+++ b/modules/angular2/test/core/compiler/xhr_impl_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {XHRImpl} from 'angular2/src/core/compiler/xhr_impl';
 import {PromiseWrapper} from 'angular2/src/core/facade/async';
diff --git a/modules/angular2/test/core/compiler/xhr_mock_spec.ts b/modules/angular2/test/core/compiler/xhr_mock_spec.ts
index bf1f69a6c7..c69bd794da 100644
--- a/modules/angular2/test/core/compiler/xhr_mock_spec.ts
+++ b/modules/angular2/test/core/compiler/xhr_mock_spec.ts
@@ -8,7 +8,7 @@ import {
   iit,
   inject,
   it,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {MockXHR} from 'angular2/src/core/compiler/xhr_mock';
 import {PromiseWrapper, Promise} from 'angular2/src/core/facade/async';
 import {isPresent} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/core/debug/debug_element_spec.ts b/modules/angular2/test/core/debug/debug_element_spec.ts
index 6516f8ec9a..4a0042fc09 100644
--- a/modules/angular2/test/core/debug/debug_element_spec.ts
+++ b/modules/angular2/test/core/debug/debug_element_spec.ts
@@ -12,7 +12,7 @@ import {
   it,
   xit,
   TestComponentBuilder
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 
diff --git a/modules/angular2/test/core/debug/debug_element_view_listener_spec.ts b/modules/angular2/test/core/debug/debug_element_view_listener_spec.ts
index 6e0327a2c1..40eae01435 100644
--- a/modules/angular2/test/core/debug/debug_element_view_listener_spec.ts
+++ b/modules/angular2/test/core/debug/debug_element_view_listener_spec.ts
@@ -12,7 +12,7 @@ import {
   it,
   xit,
   TestComponentBuilder,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {global} from 'angular2/src/core/facade/lang';
 import {APP_VIEW_POOL_CAPACITY} from 'angular2/src/core/linker/view_pool';
 import {provide, Component, Directive, Injectable, View} from 'angular2/core';
diff --git a/modules/angular2/test/core/di/binding_spec.dart b/modules/angular2/test/core/di/binding_spec.dart
index 0fac5dbf6c..68bf695fba 100644
--- a/modules/angular2/test/core/di/binding_spec.dart
+++ b/modules/angular2/test/core/di/binding_spec.dart
@@ -3,7 +3,7 @@
 library angular2.test.di.binding_dart_spec;
 
 import 'dart:mirrors';
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 import 'package:angular2/core.dart';
 
 main() {
diff --git a/modules/angular2/test/core/di/binding_spec.ts b/modules/angular2/test/core/di/binding_spec.ts
index 955352edca..b69742538c 100644
--- a/modules/angular2/test/core/di/binding_spec.ts
+++ b/modules/angular2/test/core/di/binding_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {bind, provide} from 'angular2/core';
 
diff --git a/modules/angular2/test/core/di/forward_ref_spec.ts b/modules/angular2/test/core/di/forward_ref_spec.ts
index e39e5b8935..b0fd64f984 100644
--- a/modules/angular2/test/core/di/forward_ref_spec.ts
+++ b/modules/angular2/test/core/di/forward_ref_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {forwardRef, resolveForwardRef} from 'angular2/core';
 import {Type} from 'angular2/src/core/facade/lang';
 
diff --git a/modules/angular2/test/core/di/injector_dart_spec.dart b/modules/angular2/test/core/di/injector_dart_spec.dart
index a54932e08e..5892316768 100644
--- a/modules/angular2/test/core/di/injector_dart_spec.dart
+++ b/modules/angular2/test/core/di/injector_dart_spec.dart
@@ -1,7 +1,7 @@
 /// This file contains tests that make sense only in Dart
 library angular2.test.di.injector_dart_spec;
 
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 import 'package:angular2/core.dart';
 
 main() {
diff --git a/modules/angular2/test/core/di/injector_spec.ts b/modules/angular2/test/core/di/injector_spec.ts
index 7b19a06891..f4699d931f 100644
--- a/modules/angular2/test/core/di/injector_spec.ts
+++ b/modules/angular2/test/core/di/injector_spec.ts
@@ -1,6 +1,6 @@
 import {isBlank, stringify} from 'angular2/src/core/facade/lang';
 import {BaseException, WrappedException} from 'angular2/src/core/facade/exceptions';
-import {describe, ddescribe, it, iit, expect, beforeEach} from 'angular2/test_lib';
+import {describe, ddescribe, it, iit, expect, beforeEach} from 'angular2/testing_internal';
 import {SpyDependencyProvider} from '../spies';
 import {
   Injector,
diff --git a/modules/angular2/test/core/di/key_dart_spec.dart b/modules/angular2/test/core/di/key_dart_spec.dart
index 4e08cc8e72..735b84bfa3 100644
--- a/modules/angular2/test/core/di/key_dart_spec.dart
+++ b/modules/angular2/test/core/di/key_dart_spec.dart
@@ -1,7 +1,7 @@
 /// This file contains tests that make sense only in Dart
 library angular2.test.di.key_dart_spec;
 
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 import 'package:angular2/core.dart';
 import 'package:angular2/src/core/di/key.dart';
 
diff --git a/modules/angular2/test/core/di/key_spec.ts b/modules/angular2/test/core/di/key_spec.ts
index a6f178c2ed..6104514345 100644
--- a/modules/angular2/test/core/di/key_spec.ts
+++ b/modules/angular2/test/core/di/key_spec.ts
@@ -1,4 +1,4 @@
-import {describe, iit, it, expect, beforeEach} from 'angular2/test_lib';
+import {describe, iit, it, expect, beforeEach} from 'angular2/testing_internal';
 import {Key, KeyRegistry} from 'angular2/src/core/di/key';
 
 export function main() {
diff --git a/modules/angular2/test/core/directive_lifecycle_integration_spec.ts b/modules/angular2/test/core/directive_lifecycle_integration_spec.ts
index 511363db59..6ba548e383 100644
--- a/modules/angular2/test/core/directive_lifecycle_integration_spec.ts
+++ b/modules/angular2/test/core/directive_lifecycle_integration_spec.ts
@@ -11,7 +11,7 @@ import {
   xit,
   Log,
   TestComponentBuilder
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {
   OnChanges,
diff --git a/modules/angular2/test/core/directives/ng_class_spec.ts b/modules/angular2/test/core/directives/ng_class_spec.ts
index c9f90c0960..8b585a19fe 100644
--- a/modules/angular2/test/core/directives/ng_class_spec.ts
+++ b/modules/angular2/test/core/directives/ng_class_spec.ts
@@ -13,7 +13,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {ListWrapper, StringMapWrapper} from 'angular2/src/core/facade/collection';
 import {Component, View, NgFor, provide} from 'angular2/angular2';
 import {NgClass} from 'angular2/src/core/directives/ng_class';
diff --git a/modules/angular2/test/core/directives/ng_for_spec.ts b/modules/angular2/test/core/directives/ng_for_spec.ts
index 4bd5a613fd..950496c2e2 100644
--- a/modules/angular2/test/core/directives/ng_for_spec.ts
+++ b/modules/angular2/test/core/directives/ng_for_spec.ts
@@ -11,7 +11,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {ListWrapper} from 'angular2/src/core/facade/collection';
 
diff --git a/modules/angular2/test/core/directives/ng_if_spec.ts b/modules/angular2/test/core/directives/ng_if_spec.ts
index 3fee1e74ac..f54716b7f4 100644
--- a/modules/angular2/test/core/directives/ng_if_spec.ts
+++ b/modules/angular2/test/core/directives/ng_if_spec.ts
@@ -10,7 +10,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 
diff --git a/modules/angular2/test/core/directives/ng_style_spec.ts b/modules/angular2/test/core/directives/ng_style_spec.ts
index 57374930fa..e9d49055d8 100644
--- a/modules/angular2/test/core/directives/ng_style_spec.ts
+++ b/modules/angular2/test/core/directives/ng_style_spec.ts
@@ -12,7 +12,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {StringMapWrapper} from 'angular2/src/core/facade/collection';
 
diff --git a/modules/angular2/test/core/directives/ng_switch_spec.ts b/modules/angular2/test/core/directives/ng_switch_spec.ts
index 00cd4c481a..9326fbcece 100644
--- a/modules/angular2/test/core/directives/ng_switch_spec.ts
+++ b/modules/angular2/test/core/directives/ng_switch_spec.ts
@@ -10,7 +10,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Component, View} from 'angular2/angular2';
 
diff --git a/modules/angular2/test/core/directives/non_bindable_spec.ts b/modules/angular2/test/core/directives/non_bindable_spec.ts
index de09af4097..e711a8ba50 100644
--- a/modules/angular2/test/core/directives/non_bindable_spec.ts
+++ b/modules/angular2/test/core/directives/non_bindable_spec.ts
@@ -10,7 +10,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 import {Component, Directive, View} from 'angular2/core';
 import {ElementRef} from 'angular2/src/core/linker/element_ref';
diff --git a/modules/angular2/test/core/directives/observable_list_diff_spec.dart b/modules/angular2/test/core/directives/observable_list_diff_spec.dart
index 893ef26930..da9504216d 100644
--- a/modules/angular2/test/core/directives/observable_list_diff_spec.dart
+++ b/modules/angular2/test/core/directives/observable_list_diff_spec.dart
@@ -1,6 +1,6 @@
 library angular2.test.directives.observable_list_iterable_diff_spec;
 
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 import 'package:observe/observe.dart' show ObservableList;
 import 'package:angular2/core.dart' show ObservableListDiffFactory, ChangeDetectorRef;
 
diff --git a/modules/angular2/test/core/dom/dom_adapter_spec.ts b/modules/angular2/test/core/dom/dom_adapter_spec.ts
index af01e8c042..b3e5ba94b8 100644
--- a/modules/angular2/test/core/dom/dom_adapter_spec.ts
+++ b/modules/angular2/test/core/dom/dom_adapter_spec.ts
@@ -12,7 +12,7 @@ import {
   beforeEachBindings,
   SpyObject,
   stringifyElement
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 
diff --git a/modules/angular2/test/core/dom/shim_spec.ts b/modules/angular2/test/core/dom/shim_spec.ts
index 9dc00f6121..bd2b5c3103 100644
--- a/modules/angular2/test/core/dom/shim_spec.ts
+++ b/modules/angular2/test/core/dom/shim_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 export function main() {
   describe('Shim', () => {
diff --git a/modules/angular2/test/core/facade/async_dart_spec.dart b/modules/angular2/test/core/facade/async_dart_spec.dart
index d64d8006ed..224f5013e0 100644
--- a/modules/angular2/test/core/facade/async_dart_spec.dart
+++ b/modules/angular2/test/core/facade/async_dart_spec.dart
@@ -1,7 +1,7 @@
 /// This file contains tests that make sense only in Dart
 library angular2.test.facade.async_dart_spec;
 
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 import 'package:angular2/src/core/facade/async.dart';
 
 class MockException implements Error {
diff --git a/modules/angular2/test/core/facade/async_spec.ts b/modules/angular2/test/core/facade/async_spec.ts
index 3ca0bf4bf5..03b46bdfce 100644
--- a/modules/angular2/test/core/facade/async_spec.ts
+++ b/modules/angular2/test/core/facade/async_spec.ts
@@ -10,7 +10,7 @@ import {
   SpyObject,
   AsyncTestCompleter,
   inject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {ObservableWrapper, EventEmitter, PromiseWrapper} from 'angular2/src/core/facade/async';
 
diff --git a/modules/angular2/test/core/facade/collection_spec.ts b/modules/angular2/test/core/facade/collection_spec.ts
index 702976780e..4e76002f92 100644
--- a/modules/angular2/test/core/facade/collection_spec.ts
+++ b/modules/angular2/test/core/facade/collection_spec.ts
@@ -1,4 +1,4 @@
-import {describe, it, expect, beforeEach, ddescribe, iit, xit} from 'angular2/test_lib';
+import {describe, it, expect, beforeEach, ddescribe, iit, xit} from 'angular2/testing_internal';
 
 import {ListWrapper, StringMapWrapper, MapWrapper} from 'angular2/src/core/facade/collection';
 
diff --git a/modules/angular2/test/core/facade/exception_handler_spec.ts b/modules/angular2/test/core/facade/exception_handler_spec.ts
index 5f1a76677b..35edb6ece9 100644
--- a/modules/angular2/test/core/facade/exception_handler_spec.ts
+++ b/modules/angular2/test/core/facade/exception_handler_spec.ts
@@ -10,7 +10,7 @@ import {
   xdescribe,
   xit,
   Log
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {
   BaseException,
   WrappedException,
diff --git a/modules/angular2/test/core/facade/lang_spec.ts b/modules/angular2/test/core/facade/lang_spec.ts
index 8cdd7f1569..16b23d0af9 100644
--- a/modules/angular2/test/core/facade/lang_spec.ts
+++ b/modules/angular2/test/core/facade/lang_spec.ts
@@ -1,4 +1,4 @@
-import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/test_lib';
+import {describe, it, expect, beforeEach, ddescribe, iit, xit, el} from 'angular2/testing_internal';
 import {
   isPresent,
   RegExpWrapper,
diff --git a/modules/angular2/test/core/forms/directives_spec.ts b/modules/angular2/test/core/forms/directives_spec.ts
index 0ba827ec75..dd489555ff 100644
--- a/modules/angular2/test/core/forms/directives_spec.ts
+++ b/modules/angular2/test/core/forms/directives_spec.ts
@@ -12,7 +12,7 @@ import {
   el,
   AsyncTestCompleter,
   inject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {SpyNgControl, SpyValueAccessor} from '../spies';
 
diff --git a/modules/angular2/test/core/forms/form_builder_spec.ts b/modules/angular2/test/core/forms/form_builder_spec.ts
index e34db7b85a..d119da7935 100644
--- a/modules/angular2/test/core/forms/form_builder_spec.ts
+++ b/modules/angular2/test/core/forms/form_builder_spec.ts
@@ -8,7 +8,7 @@ import {
   beforeEach,
   afterEach,
   el
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {Control, FormBuilder, Validators} from 'angular2/core';
 
 export function main() {
diff --git a/modules/angular2/test/core/forms/integration_spec.ts b/modules/angular2/test/core/forms/integration_spec.ts
index 2ede911f25..9e68a21f24 100644
--- a/modules/angular2/test/core/forms/integration_spec.ts
+++ b/modules/angular2/test/core/forms/integration_spec.ts
@@ -16,7 +16,7 @@ import {
   iit,
   xit,
   browserDetection
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 import {
diff --git a/modules/angular2/test/core/forms/model_spec.ts b/modules/angular2/test/core/forms/model_spec.ts
index 33d5fe070f..b25fa7ad32 100644
--- a/modules/angular2/test/core/forms/model_spec.ts
+++ b/modules/angular2/test/core/forms/model_spec.ts
@@ -12,7 +12,7 @@ import {
   fakeAsync,
   tick,
   inject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {ControlGroup, Control, ControlArray, Validators} from 'angular2/core';
 import {ObservableWrapper} from 'angular2/src/core/facade/async';
 
diff --git a/modules/angular2/test/core/forms/validators_spec.ts b/modules/angular2/test/core/forms/validators_spec.ts
index b7f4911a40..5101388c46 100644
--- a/modules/angular2/test/core/forms/validators_spec.ts
+++ b/modules/angular2/test/core/forms/validators_spec.ts
@@ -8,7 +8,7 @@ import {
   beforeEach,
   afterEach,
   el
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {ControlGroup, Control, Validators} from 'angular2/core';
 
 export function main() {
diff --git a/modules/angular2/test/core/forward_ref_integration_spec.ts b/modules/angular2/test/core/forward_ref_integration_spec.ts
index c7b5d66ae3..936cede234 100644
--- a/modules/angular2/test/core/forward_ref_integration_spec.ts
+++ b/modules/angular2/test/core/forward_ref_integration_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {
   bind,
   provide,
diff --git a/modules/angular2/test/core/life_cycle/life_cycle_spec.ts b/modules/angular2/test/core/life_cycle/life_cycle_spec.ts
index fa871f6f5e..1a6982fe18 100644
--- a/modules/angular2/test/core/life_cycle/life_cycle_spec.ts
+++ b/modules/angular2/test/core/life_cycle/life_cycle_spec.ts
@@ -12,7 +12,7 @@ import {
   fakeAsync,
   tick,
   inject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {SpyChangeDetector} from '../spies';
 import {LifeCycle_} from "angular2/src/core/life_cycle/life_cycle";
 
diff --git a/modules/angular2/test/core/linker/compiler_spec.ts b/modules/angular2/test/core/linker/compiler_spec.ts
index 8fb1a325ff..5f001db4ee 100644
--- a/modules/angular2/test/core/linker/compiler_spec.ts
+++ b/modules/angular2/test/core/linker/compiler_spec.ts
@@ -11,7 +11,7 @@ import {
   AsyncTestCompleter,
   inject,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Component, View, provide} from 'angular2/core';
 import {SpyProtoViewFactory} from '../spies';
diff --git a/modules/angular2/test/core/linker/directive_lifecycle_spec.dart b/modules/angular2/test/core/linker/directive_lifecycle_spec.dart
index 494d9ca526..0765b34b21 100644
--- a/modules/angular2/test/core/linker/directive_lifecycle_spec.dart
+++ b/modules/angular2/test/core/linker/directive_lifecycle_spec.dart
@@ -1,6 +1,6 @@
 library angular2.test.core.compiler.directive_lifecycle_spec;
 
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 import 'package:angular2/src/core/linker/directive_lifecycle_reflector.dart';
 import 'package:angular2/src/core/linker/interfaces.dart';
 
diff --git a/modules/angular2/test/core/linker/directive_lifecycle_spec.ts b/modules/angular2/test/core/linker/directive_lifecycle_spec.ts
index abd0cddb64..47f47def20 100644
--- a/modules/angular2/test/core/linker/directive_lifecycle_spec.ts
+++ b/modules/angular2/test/core/linker/directive_lifecycle_spec.ts
@@ -11,7 +11,7 @@ import {
   it,
   SpyObject,
   proxy
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {hasLifecycleHook} from 'angular2/src/core/linker/directive_lifecycle_reflector';
 import {LifecycleHooks} from 'angular2/src/core/linker/interfaces';
diff --git a/modules/angular2/test/core/linker/directive_resolver_spec.ts b/modules/angular2/test/core/linker/directive_resolver_spec.ts
index ea15d240c8..ae36e43f43 100644
--- a/modules/angular2/test/core/linker/directive_resolver_spec.ts
+++ b/modules/angular2/test/core/linker/directive_resolver_spec.ts
@@ -1,4 +1,4 @@
-import {ddescribe, describe, it, iit, expect, beforeEach} from 'angular2/test_lib';
+import {ddescribe, describe, it, iit, expect, beforeEach} from 'angular2/testing_internal';
 import {DirectiveResolver} from 'angular2/src/core/linker/directive_resolver';
 import {
   DirectiveMetadata,
diff --git a/modules/angular2/test/core/linker/dynamic_component_loader_spec.ts b/modules/angular2/test/core/linker/dynamic_component_loader_spec.ts
index 30eb77bdda..2c6777244c 100644
--- a/modules/angular2/test/core/linker/dynamic_component_loader_spec.ts
+++ b/modules/angular2/test/core/linker/dynamic_component_loader_spec.ts
@@ -14,7 +14,7 @@ import {
   xit,
   TestComponentBuilder,
   RootTestComponent
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {OnDestroy} from 'angular2/lifecycle_hooks';
 import {Injector, NgIf} from 'angular2/core';
@@ -24,7 +24,7 @@ import {DynamicComponentLoader} from 'angular2/src/core/linker/dynamic_component
 import {ElementRef} from 'angular2/src/core/linker/element_ref';
 import {DOCUMENT} from 'angular2/src/core/render/render';
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
-import {RootTestComponent_} from "angular2/src/test_lib/test_component_builder";
+import {RootTestComponent_} from "angular2/src/testing/test_component_builder";
 
 export function main() {
   describe('DynamicComponentLoader', function() {
diff --git a/modules/angular2/test/core/linker/element_injector_spec.ts b/modules/angular2/test/core/linker/element_injector_spec.ts
index 360a39bcce..f729c0ea97 100644
--- a/modules/angular2/test/core/linker/element_injector_spec.ts
+++ b/modules/angular2/test/core/linker/element_injector_spec.ts
@@ -14,7 +14,7 @@ import {
   AsyncTestCompleter,
   el,
   containsRegexp
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {SpyView, SpyElementRef} from '../spies';
 import {isBlank, isPresent, stringify} from 'angular2/src/core/facade/lang';
 import {
diff --git a/modules/angular2/test/core/linker/event_config_spec.ts b/modules/angular2/test/core/linker/event_config_spec.ts
index b463a3fe32..0e6992e0c3 100644
--- a/modules/angular2/test/core/linker/event_config_spec.ts
+++ b/modules/angular2/test/core/linker/event_config_spec.ts
@@ -1,5 +1,5 @@
 import {EventConfig} from 'angular2/src/core/linker/event_config';
-import {ddescribe, describe, expect, it} from 'angular2/test_lib';
+import {ddescribe, describe, expect, it} from 'angular2/testing_internal';
 
 export function main() {
   describe('EventConfig', () => {
diff --git a/modules/angular2/test/core/linker/integration_dart_spec.dart b/modules/angular2/test/core/linker/integration_dart_spec.dart
index 4b9d8023eb..331657ceb8 100644
--- a/modules/angular2/test/core/linker/integration_dart_spec.dart
+++ b/modules/angular2/test/core/linker/integration_dart_spec.dart
@@ -4,7 +4,7 @@ library angular2.test.di.integration_dart_spec;
 import 'package:angular2/angular2.dart';
 import 'package:angular2/core.dart';
 import 'package:angular2/src/core/debug.dart';
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 import 'package:observe/observe.dart';
 import 'package:angular2/src/core/change_detection/differs/default_iterable_differ.dart';
 import 'package:angular2/src/core/change_detection/change_detection.dart';
diff --git a/modules/angular2/test/core/linker/integration_spec.ts b/modules/angular2/test/core/linker/integration_spec.ts
index d7b3c8901d..29bb364f16 100644
--- a/modules/angular2/test/core/linker/integration_spec.ts
+++ b/modules/angular2/test/core/linker/integration_spec.ts
@@ -19,7 +19,7 @@ import {
   tick,
   clearPendingTimers,
   RootTestComponent
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
diff --git a/modules/angular2/test/core/linker/projection_integration_spec.ts b/modules/angular2/test/core/linker/projection_integration_spec.ts
index e152a11d8b..bd65ddc201 100644
--- a/modules/angular2/test/core/linker/projection_integration_spec.ts
+++ b/modules/angular2/test/core/linker/projection_integration_spec.ts
@@ -18,7 +18,7 @@ import {
   RootTestComponent,
   fakeAsync,
   tick
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 import {AppViewListener} from 'angular2/src/core/linker/view_listener';
diff --git a/modules/angular2/test/core/linker/proto_view_factory_spec.ts b/modules/angular2/test/core/linker/proto_view_factory_spec.ts
index ded240c13d..8050cf4139 100644
--- a/modules/angular2/test/core/linker/proto_view_factory_spec.ts
+++ b/modules/angular2/test/core/linker/proto_view_factory_spec.ts
@@ -9,7 +9,7 @@ import {
   iit,
   inject,
   it
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 export function main() {
   describe('ProtoViewFactory', () => {
diff --git a/modules/angular2/test/core/linker/query_integration_spec.ts b/modules/angular2/test/core/linker/query_integration_spec.ts
index f53138371f..2d768ccb69 100644
--- a/modules/angular2/test/core/linker/query_integration_spec.ts
+++ b/modules/angular2/test/core/linker/query_integration_spec.ts
@@ -10,7 +10,7 @@ import {
   it,
   xit,
   TestComponentBuilder,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {isPresent} from 'angular2/src/core/facade/lang';
 import {ObservableWrapper} from 'angular2/src/core/facade/async';
diff --git a/modules/angular2/test/core/linker/query_list_spec.ts b/modules/angular2/test/core/linker/query_list_spec.ts
index 8014122417..558d112404 100644
--- a/modules/angular2/test/core/linker/query_list_spec.ts
+++ b/modules/angular2/test/core/linker/query_list_spec.ts
@@ -9,7 +9,7 @@ import {
   el,
   fakeAsync,
   tick
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {MapWrapper, ListWrapper, iterateListLike} from 'angular2/src/core/facade/collection';
 import {StringWrapper} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/core/linker/view_container_ref_spec.ts b/modules/angular2/test/core/linker/view_container_ref_spec.ts
index 27074c66c8..836273ab8e 100644
--- a/modules/angular2/test/core/linker/view_container_ref_spec.ts
+++ b/modules/angular2/test/core/linker/view_container_ref_spec.ts
@@ -12,7 +12,7 @@ import {
   beforeEachBindings,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {SpyView, SpyAppViewManager} from '../spies';
 import {AppView, AppViewContainer} from 'angular2/src/core/linker/view';
diff --git a/modules/angular2/test/core/linker/view_manager_spec.ts b/modules/angular2/test/core/linker/view_manager_spec.ts
index 2a1fc74f3d..62ffe1a64c 100644
--- a/modules/angular2/test/core/linker/view_manager_spec.ts
+++ b/modules/angular2/test/core/linker/view_manager_spec.ts
@@ -12,7 +12,7 @@ import {
   beforeEachBindings,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {SpyRenderer, SpyAppViewPool, SpyAppViewListener, SpyProtoViewFactory} from '../spies';
 import {Injector, provide} from 'angular2/core';
 
diff --git a/modules/angular2/test/core/linker/view_manager_utils_spec.ts b/modules/angular2/test/core/linker/view_manager_utils_spec.ts
index a49a460efd..83b0225299 100644
--- a/modules/angular2/test/core/linker/view_manager_utils_spec.ts
+++ b/modules/angular2/test/core/linker/view_manager_utils_spec.ts
@@ -14,7 +14,7 @@ import {
   xit,
   Log,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {
   SpyChangeDetector,
diff --git a/modules/angular2/test/core/linker/view_pool_spec.ts b/modules/angular2/test/core/linker/view_pool_spec.ts
index 581f61b7d6..917233ac06 100644
--- a/modules/angular2/test/core/linker/view_pool_spec.ts
+++ b/modules/angular2/test/core/linker/view_pool_spec.ts
@@ -14,7 +14,7 @@ import {
   xit,
   SpyObject,
   proxy
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {AppViewPool} from 'angular2/src/core/linker/view_pool';
 import {AppProtoView, AppView} from 'angular2/src/core/linker/view';
 import {MapWrapper, Map} from 'angular2/src/core/facade/collection';
diff --git a/modules/angular2/test/core/linker/view_resolver_spec.ts b/modules/angular2/test/core/linker/view_resolver_spec.ts
index 5de294abab..06028796cb 100644
--- a/modules/angular2/test/core/linker/view_resolver_spec.ts
+++ b/modules/angular2/test/core/linker/view_resolver_spec.ts
@@ -1,4 +1,4 @@
-import {ddescribe, describe, it, iit, expect, beforeEach} from 'angular2/test_lib';
+import {ddescribe, describe, it, iit, expect, beforeEach} from 'angular2/testing_internal';
 import {ViewResolver} from 'angular2/src/core/linker/view_resolver';
 import {Component, View, ViewMetadata} from 'angular2/src/core/metadata';
 
diff --git a/modules/angular2/test/core/metadata/decorators_spec.ts b/modules/angular2/test/core/metadata/decorators_spec.ts
index 74abf9770e..ddff690fec 100644
--- a/modules/angular2/test/core/metadata/decorators_spec.ts
+++ b/modules/angular2/test/core/metadata/decorators_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Component, View, Directive} from 'angular2/angular2';
 import {reflector} from 'angular2/src/core/reflection/reflection';
diff --git a/modules/angular2/test/core/pipes/async_pipe_spec.ts b/modules/angular2/test/core/pipes/async_pipe_spec.ts
index c538d8a5cc..5c3f570475 100644
--- a/modules/angular2/test/core/pipes/async_pipe_spec.ts
+++ b/modules/angular2/test/core/pipes/async_pipe_spec.ts
@@ -11,7 +11,7 @@ import {
   inject,
   SpyObject,
   browserDetection
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {SpyChangeDetectorRef} from './spies';
 
 import {isBlank} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/core/pipes/date_pipe_spec.ts b/modules/angular2/test/core/pipes/date_pipe_spec.ts
index b6e206648c..5b5887fad6 100644
--- a/modules/angular2/test/core/pipes/date_pipe_spec.ts
+++ b/modules/angular2/test/core/pipes/date_pipe_spec.ts
@@ -8,7 +8,7 @@ import {
   beforeEach,
   afterEach,
   browserDetection
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DatePipe} from 'angular2/core';
 import {DateWrapper} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/core/pipes/json_pipe_spec.ts b/modules/angular2/test/core/pipes/json_pipe_spec.ts
index 9cb7e5286c..6b772a4905 100644
--- a/modules/angular2/test/core/pipes/json_pipe_spec.ts
+++ b/modules/angular2/test/core/pipes/json_pipe_spec.ts
@@ -11,7 +11,7 @@ import {
   inject,
   proxy,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {Json, RegExp, NumberWrapper, StringWrapper} from 'angular2/src/core/facade/lang';
 
 import {JsonPipe} from 'angular2/core';
diff --git a/modules/angular2/test/core/pipes/lowercase_pipe_spec.ts b/modules/angular2/test/core/pipes/lowercase_pipe_spec.ts
index 0f2c2e2a40..447412d9b4 100644
--- a/modules/angular2/test/core/pipes/lowercase_pipe_spec.ts
+++ b/modules/angular2/test/core/pipes/lowercase_pipe_spec.ts
@@ -1,4 +1,13 @@
-import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  ddescribe,
+  describe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 
 import {LowerCasePipe} from 'angular2/core';
 
diff --git a/modules/angular2/test/core/pipes/number_pipe_spec.ts b/modules/angular2/test/core/pipes/number_pipe_spec.ts
index 66fd539417..f692d5d302 100644
--- a/modules/angular2/test/core/pipes/number_pipe_spec.ts
+++ b/modules/angular2/test/core/pipes/number_pipe_spec.ts
@@ -8,7 +8,7 @@ import {
   beforeEach,
   afterEach,
   browserDetection
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DecimalPipe, PercentPipe, CurrencyPipe} from 'angular2/core';
 
diff --git a/modules/angular2/test/core/pipes/pipe_binding_spec.ts b/modules/angular2/test/core/pipes/pipe_binding_spec.ts
index 488e085fd8..e6283b6a0d 100644
--- a/modules/angular2/test/core/pipes/pipe_binding_spec.ts
+++ b/modules/angular2/test/core/pipes/pipe_binding_spec.ts
@@ -8,7 +8,7 @@ import {
   expect,
   beforeEach,
   afterEach
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {PipeProvider} from 'angular2/src/core/pipes/pipe_provider';
 import {Pipe} from 'angular2/src/core/metadata';
diff --git a/modules/angular2/test/core/pipes/pipes_spec.ts b/modules/angular2/test/core/pipes/pipes_spec.ts
index dea3507936..94cd6572be 100644
--- a/modules/angular2/test/core/pipes/pipes_spec.ts
+++ b/modules/angular2/test/core/pipes/pipes_spec.ts
@@ -8,7 +8,7 @@ import {
   expect,
   beforeEach,
   afterEach
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Injector, Inject, provide, Pipe, PipeTransform} from 'angular2/core';
 import {ProtoPipes, Pipes} from 'angular2/src/core/pipes/pipes';
diff --git a/modules/angular2/test/core/pipes/spies.dart b/modules/angular2/test/core/pipes/spies.dart
index cc5b80ac01..0695c665a9 100644
--- a/modules/angular2/test/core/pipes/spies.dart
+++ b/modules/angular2/test/core/pipes/spies.dart
@@ -1,7 +1,7 @@
 library pipes.spies;
 
 import 'package:angular2/src/core/change_detection/change_detection.dart';
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 
 @proxy
 class SpyChangeDetectorRef extends SpyObject implements ChangeDetectorRef {
diff --git a/modules/angular2/test/core/pipes/spies.ts b/modules/angular2/test/core/pipes/spies.ts
index d9edf4cfbd..0309db58c0 100644
--- a/modules/angular2/test/core/pipes/spies.ts
+++ b/modules/angular2/test/core/pipes/spies.ts
@@ -1,6 +1,6 @@
 import {ChangeDetectorRef_} from 'angular2/src/core/change_detection/change_detector_ref';
 
-import {SpyObject, proxy} from 'angular2/test_lib';
+import {SpyObject, proxy} from 'angular2/testing_internal';
 
 export class SpyChangeDetectorRef extends SpyObject {
   constructor() { super(ChangeDetectorRef_); }
diff --git a/modules/angular2/test/core/pipes/uppercase_pipe_spec.ts b/modules/angular2/test/core/pipes/uppercase_pipe_spec.ts
index 7fbecba3c4..a3a8b5a649 100644
--- a/modules/angular2/test/core/pipes/uppercase_pipe_spec.ts
+++ b/modules/angular2/test/core/pipes/uppercase_pipe_spec.ts
@@ -1,4 +1,13 @@
-import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  ddescribe,
+  describe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 
 import {UpperCasePipe} from 'angular2/core';
 
diff --git a/modules/angular2/test/core/profile/wtf_impl_spec.dart b/modules/angular2/test/core/profile/wtf_impl_spec.dart
index 6fcce40beb..7e641bf181 100644
--- a/modules/angular2/test/core/profile/wtf_impl_spec.dart
+++ b/modules/angular2/test/core/profile/wtf_impl_spec.dart
@@ -1,7 +1,7 @@
 /// This file contains tests that make sense only in Dart
 library angular2.test.core.wtf_impl;
 
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 import 'package:angular2/src/core/profile/wtf_impl.dart' as impl;
 
 main() {
diff --git a/modules/angular2/test/core/reflection/reflector_spec.ts b/modules/angular2/test/core/reflection/reflector_spec.ts
index 679bcf7d47..262861be21 100644
--- a/modules/angular2/test/core/reflection/reflector_spec.ts
+++ b/modules/angular2/test/core/reflection/reflector_spec.ts
@@ -1,4 +1,4 @@
-import {describe, it, iit, ddescribe, expect, beforeEach} from 'angular2/test_lib';
+import {describe, it, iit, ddescribe, expect, beforeEach} from 'angular2/testing_internal';
 import {Reflector, ReflectionInfo} from 'angular2/src/core/reflection/reflection';
 import {ReflectionCapabilities} from 'angular2/src/core/reflection/reflection_capabilities';
 import {
diff --git a/modules/angular2/test/core/render/dom/dom_renderer_integration_spec.ts b/modules/angular2/test/core/render/dom/dom_renderer_integration_spec.ts
index 77e5df5f12..534d33e386 100644
--- a/modules/angular2/test/core/render/dom/dom_renderer_integration_spec.ts
+++ b/modules/angular2/test/core/render/dom/dom_renderer_integration_spec.ts
@@ -11,7 +11,7 @@ import {
   xit,
   beforeEachBindings,
   SpyObject,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 // import {MapWrapper} from 'angular2/src/core/facade/collection';
 // import {DOM} from 'angular2/src/core/dom/dom_adapter';
diff --git a/modules/angular2/test/core/render/dom/events/event_manager_spec.ts b/modules/angular2/test/core/render/dom/events/event_manager_spec.ts
index f4e685fdbd..98e3c279b6 100644
--- a/modules/angular2/test/core/render/dom/events/event_manager_spec.ts
+++ b/modules/angular2/test/core/render/dom/events/event_manager_spec.ts
@@ -8,7 +8,7 @@ import {
   expect,
   beforeEach,
   el
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {
   EventManager,
   EventManagerPlugin,
diff --git a/modules/angular2/test/core/render/dom/events/key_events_spec.ts b/modules/angular2/test/core/render/dom/events/key_events_spec.ts
index 9f2b8df0b9..4f7d7f2784 100644
--- a/modules/angular2/test/core/render/dom/events/key_events_spec.ts
+++ b/modules/angular2/test/core/render/dom/events/key_events_spec.ts
@@ -8,7 +8,7 @@ import {
   expect,
   beforeEach,
   el
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {KeyEventsPlugin} from 'angular2/src/core/render/dom/events/key_events';
 
 export function main() {
diff --git a/modules/angular2/test/core/render/dom/shared_styles_host_spec.ts b/modules/angular2/test/core/render/dom/shared_styles_host_spec.ts
index 29bdd8347a..7d09bc93c9 100644
--- a/modules/angular2/test/core/render/dom/shared_styles_host_spec.ts
+++ b/modules/angular2/test/core/render/dom/shared_styles_host_spec.ts
@@ -14,7 +14,7 @@ import {
   xit,
   SpyObject,
   proxy
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 import {DomSharedStylesHost} from 'angular2/src/core/render/dom/shared_styles_host';
diff --git a/modules/angular2/test/core/render/view_factory_spec.ts b/modules/angular2/test/core/render/view_factory_spec.ts
index ab55a1b09f..9c6e00a629 100644
--- a/modules/angular2/test/core/render/view_factory_spec.ts
+++ b/modules/angular2/test/core/render/view_factory_spec.ts
@@ -9,7 +9,7 @@ import {
   it,
   xit,
   stringifyElement
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {isPresent} from 'angular2/src/core/facade/lang';
 import {MapWrapper, ListWrapper} from 'angular2/src/core/facade/collection';
diff --git a/modules/angular2/test/core/render/view_spec.ts b/modules/angular2/test/core/render/view_spec.ts
index d31b01f8bb..ca5ae06261 100644
--- a/modules/angular2/test/core/render/view_spec.ts
+++ b/modules/angular2/test/core/render/view_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DefaultRenderView} from 'angular2/src/core/render/view';
 
diff --git a/modules/angular2/test/core/services/ruler_spec.ts b/modules/angular2/test/core/services/ruler_spec.ts
index f65aefa019..2d12d1782b 100644
--- a/modules/angular2/test/core/services/ruler_spec.ts
+++ b/modules/angular2/test/core/services/ruler_spec.ts
@@ -8,7 +8,7 @@ import {
   xit,
   expect,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {SpyElementRef, SpyDomAdapter} from '../spies';
 
 import {DOM, DomAdapter} from 'angular2/src/core/dom/dom_adapter';
diff --git a/modules/angular2/test/core/services/title_spec.ts b/modules/angular2/test/core/services/title_spec.ts
index 157ffe6674..647c628ffb 100644
--- a/modules/angular2/test/core/services/title_spec.ts
+++ b/modules/angular2/test/core/services/title_spec.ts
@@ -1,4 +1,4 @@
-import {ddescribe, describe, it, iit, xit, expect, afterEach} from 'angular2/test_lib';
+import {ddescribe, describe, it, iit, xit, expect, afterEach} from 'angular2/testing_internal';
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 
 import {Title} from 'angular2/src/core/services/title';
diff --git a/modules/angular2/test/core/spies.dart b/modules/angular2/test/core/spies.dart
index 848ca4ecf4..ad23a3ba3f 100644
--- a/modules/angular2/test/core/spies.dart
+++ b/modules/angular2/test/core/spies.dart
@@ -13,7 +13,7 @@ import 'package:angular2/src/core/linker/view_pool.dart';
 import 'package:angular2/src/core/linker/view_listener.dart';
 import 'package:angular2/src/core/linker/element_injector.dart';
 import 'package:angular2/src/core/dom/dom_adapter.dart';
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 import 'package:angular2/src/core/compiler/xhr.dart';
 
 @proxy
diff --git a/modules/angular2/test/core/spies.ts b/modules/angular2/test/core/spies.ts
index 8bcfdc1ab2..163ad1bc2e 100644
--- a/modules/angular2/test/core/spies.ts
+++ b/modules/angular2/test/core/spies.ts
@@ -24,7 +24,7 @@ import {
   ProtoElementInjector
 } from 'angular2/src/core/linker/element_injector';
 
-import {SpyObject, proxy} from 'angular2/test_lib';
+import {SpyObject, proxy} from 'angular2/testing_internal';
 
 export class SpyDependencyProvider extends SpyObject {}
 
diff --git a/modules/angular2/test/core/testability/testability_spec.ts b/modules/angular2/test/core/testability/testability_spec.ts
index 0b34d96276..dcadf4b598 100644
--- a/modules/angular2/test/core/testability/testability_spec.ts
+++ b/modules/angular2/test/core/testability/testability_spec.ts
@@ -10,7 +10,7 @@ import {
   expect,
   beforeEach,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {Testability} from 'angular2/src/core/testability/testability';
 import {NgZone} from 'angular2/src/core/zone/ng_zone';
 import {normalizeBlank} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/core/util/decorators_spec.ts b/modules/angular2/test/core/util/decorators_spec.ts
index 921e809e0b..a12001dfae 100644
--- a/modules/angular2/test/core/util/decorators_spec.ts
+++ b/modules/angular2/test/core/util/decorators_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {makeDecorator, makeParamDecorator, Class} from 'angular2/src/core/util/decorators';
 import {global} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/core/zone/ng_zone_spec.ts b/modules/angular2/test/core/zone/ng_zone_spec.ts
index 92e84d6160..83309072e4 100644
--- a/modules/angular2/test/core/zone/ng_zone_spec.ts
+++ b/modules/angular2/test/core/zone/ng_zone_spec.ts
@@ -12,7 +12,7 @@ import {
   Log,
   isInInnerZone,
   browserDetection
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {PromiseCompleter, PromiseWrapper, TimerWrapper} from 'angular2/src/core/facade/async';
 import {BaseException} from 'angular2/src/core/facade/exceptions';
diff --git a/modules/angular2/test/http/backends/jsonp_backend_spec.ts b/modules/angular2/test/http/backends/jsonp_backend_spec.ts
index 438b148595..b3bc437de3 100644
--- a/modules/angular2/test/http/backends/jsonp_backend_spec.ts
+++ b/modules/angular2/test/http/backends/jsonp_backend_spec.ts
@@ -10,7 +10,7 @@ import {
   it,
   xit,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {ObservableWrapper} from 'angular2/src/core/facade/async';
 import {BrowserJsonp} from 'angular2/src/http/backends/browser_jsonp';
 import {
diff --git a/modules/angular2/test/http/backends/mock_backend_spec.ts b/modules/angular2/test/http/backends/mock_backend_spec.ts
index 38d801eae1..a602663adb 100644
--- a/modules/angular2/test/http/backends/mock_backend_spec.ts
+++ b/modules/angular2/test/http/backends/mock_backend_spec.ts
@@ -10,7 +10,7 @@ import {
   it,
   xit,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {ObservableWrapper} from 'angular2/src/core/facade/async';
 import {BrowserXhr} from 'angular2/src/http/backends/browser_xhr';
 import {MockConnection, MockBackend} from 'angular2/src/http/backends/mock_backend';
diff --git a/modules/angular2/test/http/backends/xhr_backend_spec.ts b/modules/angular2/test/http/backends/xhr_backend_spec.ts
index 2706372fb7..4ff6a44408 100644
--- a/modules/angular2/test/http/backends/xhr_backend_spec.ts
+++ b/modules/angular2/test/http/backends/xhr_backend_spec.ts
@@ -10,7 +10,7 @@ import {
   it,
   xit,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {ObservableWrapper} from 'angular2/src/core/facade/async';
 import {BrowserXhr} from 'angular2/src/http/backends/browser_xhr';
 import {XHRConnection, XHRBackend} from 'angular2/src/http/backends/xhr_backend';
diff --git a/modules/angular2/test/http/base_request_options_spec.ts b/modules/angular2/test/http/base_request_options_spec.ts
index 9ec405a98b..d3e02e84fb 100644
--- a/modules/angular2/test/http/base_request_options_spec.ts
+++ b/modules/angular2/test/http/base_request_options_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {BaseRequestOptions, RequestOptions} from 'angular2/src/http/base_request_options';
 import {RequestMethods} from 'angular2/src/http/enums';
 
diff --git a/modules/angular2/test/http/headers_spec.ts b/modules/angular2/test/http/headers_spec.ts
index b7f767b8a5..d558cf3f08 100644
--- a/modules/angular2/test/http/headers_spec.ts
+++ b/modules/angular2/test/http/headers_spec.ts
@@ -10,7 +10,7 @@ import {
   inject,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 export function main() {
   describe('Headers', () => {
diff --git a/modules/angular2/test/http/http_spec.ts b/modules/angular2/test/http/http_spec.ts
index b32a7a7e20..87880e6af6 100644
--- a/modules/angular2/test/http/http_spec.ts
+++ b/modules/angular2/test/http/http_spec.ts
@@ -10,7 +10,7 @@ import {
   it,
   xit,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {Injector, provide} from 'angular2/core';
 import {MockBackend, MockConnection} from 'angular2/src/http/backends/mock_backend';
 import {
diff --git a/modules/angular2/test/http/url_search_params_spec.ts b/modules/angular2/test/http/url_search_params_spec.ts
index b690be724f..98c30f1556 100644
--- a/modules/angular2/test/http/url_search_params_spec.ts
+++ b/modules/angular2/test/http/url_search_params_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {URLSearchParams} from 'angular2/src/http/url_search_params';
 
 export function main() {
diff --git a/modules/angular2/test/mock/view_resolver_mock_spec.ts b/modules/angular2/test/mock/view_resolver_mock_spec.ts
index 5e1e2252b2..c371bc2d0b 100644
--- a/modules/angular2/test/mock/view_resolver_mock_spec.ts
+++ b/modules/angular2/test/mock/view_resolver_mock_spec.ts
@@ -6,7 +6,7 @@ import {
   expect,
   iit,
   it,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {stringify} from 'angular2/src/core/facade/lang';
 
diff --git a/modules/angular2/test/pipes/slice_pipe_spec.ts b/modules/angular2/test/pipes/slice_pipe_spec.ts
index b153ebb88b..7f1fa1df5a 100644
--- a/modules/angular2/test/pipes/slice_pipe_spec.ts
+++ b/modules/angular2/test/pipes/slice_pipe_spec.ts
@@ -1,4 +1,13 @@
-import {ddescribe, describe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  ddescribe,
+  describe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 
 import {SlicePipe} from 'angular2/src/core/pipes';
 
diff --git a/modules/angular2/test/public_api_spec.ts b/modules/angular2/test/public_api_spec.ts
index e54b9e5a87..c11540a5db 100644
--- a/modules/angular2/test/public_api_spec.ts
+++ b/modules/angular2/test/public_api_spec.ts
@@ -9,7 +9,7 @@ import {
   it,
   xdescribe,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {getSymbolsFromLibrary} from './symbol_inspector/symbol_inspector';
 import {SymbolsDiff} from './symbol_inspector/symbol_differ';
diff --git a/modules/angular2/test/router/integration/lifecycle_hook_spec.ts b/modules/angular2/test/router/integration/lifecycle_hook_spec.ts
index 78e2a30217..0c02bbe275 100644
--- a/modules/angular2/test/router/integration/lifecycle_hook_spec.ts
+++ b/modules/angular2/test/router/integration/lifecycle_hook_spec.ts
@@ -13,7 +13,7 @@ import {
   beforeEachBindings,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {provide, Component, Injector, Inject, View} from 'angular2/core';
 import {isPresent} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/router/integration/navigation_spec.ts b/modules/angular2/test/router/integration/navigation_spec.ts
index 22926cb323..4184edb7d5 100644
--- a/modules/angular2/test/router/integration/navigation_spec.ts
+++ b/modules/angular2/test/router/integration/navigation_spec.ts
@@ -13,7 +13,7 @@ import {
   beforeEachBindings,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {provide, Component, View, Injector, Inject} from 'angular2/core';
 import {CONST, NumberWrapper, isPresent, Json} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/router/integration/router_integration_spec.ts b/modules/angular2/test/router/integration/router_integration_spec.ts
index 29b9b390b9..523816a471 100644
--- a/modules/angular2/test/router/integration/router_integration_spec.ts
+++ b/modules/angular2/test/router/integration/router_integration_spec.ts
@@ -12,7 +12,7 @@ import {
   xdescribe,
   TestComponentBuilder,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {bootstrap} from 'angular2/bootstrap';
 import {Component, Directive, View} from 'angular2/src/core/metadata';
diff --git a/modules/angular2/test/router/integration/router_link_spec.ts b/modules/angular2/test/router/integration/router_link_spec.ts
index 244405ee93..706fedb9b0 100644
--- a/modules/angular2/test/router/integration/router_link_spec.ts
+++ b/modules/angular2/test/router/integration/router_link_spec.ts
@@ -15,7 +15,7 @@ import {
   TestComponentBuilder,
   proxy,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {NumberWrapper} from 'angular2/src/core/facade/lang';
 import {PromiseWrapper} from 'angular2/src/core/facade/async';
diff --git a/modules/angular2/test/router/location_spec.ts b/modules/angular2/test/router/location_spec.ts
index 65b2f91b54..261c21760e 100644
--- a/modules/angular2/test/router/location_spec.ts
+++ b/modules/angular2/test/router/location_spec.ts
@@ -10,7 +10,7 @@ import {
   beforeEach,
   beforeEachBindings,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Injector, provide} from 'angular2/core';
 import {CONST_EXPR} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/router/path_recognizer_spec.ts b/modules/angular2/test/router/path_recognizer_spec.ts
index dbe1ecb4fb..979c21a7d0 100644
--- a/modules/angular2/test/router/path_recognizer_spec.ts
+++ b/modules/angular2/test/router/path_recognizer_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   beforeEach,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {PathRecognizer} from 'angular2/src/router/path_recognizer';
 import {parser, Url, RootUrl} from 'angular2/src/router/url_parser';
diff --git a/modules/angular2/test/router/route_config_spec.ts b/modules/angular2/test/router/route_config_spec.ts
index 9c0c64ad44..19c3c54700 100644
--- a/modules/angular2/test/router/route_config_spec.ts
+++ b/modules/angular2/test/router/route_config_spec.ts
@@ -9,7 +9,7 @@ import {
   it,
   xdescribe,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {bootstrap} from 'angular2/bootstrap';
 import {Component, Directive, View} from 'angular2/src/core/metadata';
diff --git a/modules/angular2/test/router/route_recognizer_spec.ts b/modules/angular2/test/router/route_recognizer_spec.ts
index 662b7c10b9..90bd44e170 100644
--- a/modules/angular2/test/router/route_recognizer_spec.ts
+++ b/modules/angular2/test/router/route_recognizer_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   beforeEach,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Map, StringMapWrapper} from 'angular2/src/core/facade/collection';
 
diff --git a/modules/angular2/test/router/route_registry_spec.ts b/modules/angular2/test/router/route_registry_spec.ts
index acdac61dea..3b83c26f19 100644
--- a/modules/angular2/test/router/route_registry_spec.ts
+++ b/modules/angular2/test/router/route_registry_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   beforeEach,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Promise, PromiseWrapper} from 'angular2/src/core/facade/async';
 import {Type} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/router/router_link_spec.ts b/modules/angular2/test/router/router_link_spec.ts
index 388faf3038..92896187c8 100644
--- a/modules/angular2/test/router/router_link_spec.ts
+++ b/modules/angular2/test/router/router_link_spec.ts
@@ -12,7 +12,7 @@ import {
   it,
   xit,
   TestComponentBuilder
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {SpyRouter, SpyLocation} from './spies';
 
diff --git a/modules/angular2/test/router/router_spec.ts b/modules/angular2/test/router/router_spec.ts
index ddd4f608e6..3b385ee83c 100644
--- a/modules/angular2/test/router/router_spec.ts
+++ b/modules/angular2/test/router/router_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   beforeEach,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {SpyRouterOutlet} from './spies';
 import {Type} from 'angular2/src/core/facade/lang';
 import {Promise, PromiseWrapper, ObservableWrapper} from 'angular2/src/core/facade/async';
diff --git a/modules/angular2/test/router/spies.dart b/modules/angular2/test/router/spies.dart
index 51cb0cd3d1..621c037390 100644
--- a/modules/angular2/test/router/spies.dart
+++ b/modules/angular2/test/router/spies.dart
@@ -1,7 +1,7 @@
 library router.spies;
 
 import 'package:angular2/router.dart';
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 
 @proxy
 class SpyLocation extends SpyObject implements Location {
diff --git a/modules/angular2/test/router/spies.ts b/modules/angular2/test/router/spies.ts
index 4fab451ba1..849b39a69b 100644
--- a/modules/angular2/test/router/spies.ts
+++ b/modules/angular2/test/router/spies.ts
@@ -1,5 +1,5 @@
 import {Router, RouterOutlet, Location} from 'angular2/router';
-import {SpyObject, proxy} from 'angular2/test_lib';
+import {SpyObject, proxy} from 'angular2/testing_internal';
 
 export class SpyRouter extends SpyObject {
   constructor() { super(Router); }
diff --git a/modules/angular2/test/router/url_parser_spec.ts b/modules/angular2/test/router/url_parser_spec.ts
index b5ed55b408..2fd8b6ef2d 100644
--- a/modules/angular2/test/router/url_parser_spec.ts
+++ b/modules/angular2/test/router/url_parser_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   beforeEach,
   SpyObject
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {UrlParser, Url} from 'angular2/src/router/url_parser';
 
diff --git a/modules/angular2/test/symbol_inspector/symbol_inspector_spec.ts b/modules/angular2/test/symbol_inspector/symbol_inspector_spec.ts
index 515a27c97a..4c8c8532f9 100644
--- a/modules/angular2/test/symbol_inspector/symbol_inspector_spec.ts
+++ b/modules/angular2/test/symbol_inspector/symbol_inspector_spec.ts
@@ -9,7 +9,7 @@ import {
   it,
   xdescribe,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {getSymbolsFromLibrary} from './symbol_inspector';
 import {SymbolsDiff} from './symbol_differ';
diff --git a/modules/angular2/test/test_lib/fake_async_spec.ts b/modules/angular2/test/testing/fake_async_spec.ts
similarity index 99%
rename from modules/angular2/test/test_lib/fake_async_spec.ts
rename to modules/angular2/test/testing/fake_async_spec.ts
index 0f58ee0906..cd71681e34 100644
--- a/modules/angular2/test/test_lib/fake_async_spec.ts
+++ b/modules/angular2/test/testing/fake_async_spec.ts
@@ -12,7 +12,7 @@ import {
   Log,
   tick,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {TimerWrapper, PromiseWrapper} from 'angular2/src/core/facade/async';
 import {BaseException} from 'angular2/src/core/facade/exceptions';
 import {Parser} from 'angular2/src/core/change_detection/change_detection';
diff --git a/modules/angular2/test/test_lib/test_component_builder_spec.ts b/modules/angular2/test/testing/test_component_builder_spec.ts
similarity index 99%
rename from modules/angular2/test/test_lib/test_component_builder_spec.ts
rename to modules/angular2/test/testing/test_component_builder_spec.ts
index 9038236cea..144bb60505 100644
--- a/modules/angular2/test/test_lib/test_component_builder_spec.ts
+++ b/modules/angular2/test/testing/test_component_builder_spec.ts
@@ -12,7 +12,7 @@ import {
   it,
   xit,
   TestComponentBuilder
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Injectable, NgIf, provide} from 'angular2/core';
 import {Directive, Component, View, ViewMetadata} from 'angular2/src/core/metadata';
diff --git a/modules/angular2/test/test_lib/test_lib_spec.ts b/modules/angular2/test/testing/testing_internal_spec.ts
similarity index 98%
rename from modules/angular2/test/test_lib/test_lib_spec.ts
rename to modules/angular2/test/testing/testing_internal_spec.ts
index ce03bea17e..ebb8c6c886 100644
--- a/modules/angular2/test/test_lib/test_lib_spec.ts
+++ b/modules/angular2/test/testing/testing_internal_spec.ts
@@ -9,7 +9,7 @@ import {
   beforeEach,
   proxy,
   containsRegexp
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 import {MapWrapper} from 'angular2/src/core/facade/collection';
@@ -29,7 +29,7 @@ class SpyTestObj extends SpyObject {
 
 
 export function main() {
-  describe('test_lib', () => {
+  describe('testing', () => {
     describe('equality', () => {
       it('should structurally compare objects', () => {
         var expected = new TestObj(new TestObj({'one': [1, 2]}));
diff --git a/modules/angular2/test/test_lib/test_lib_public_spec.dart b/modules/angular2/test/testing/testing_public_spec.dart
similarity index 66%
rename from modules/angular2/test/test_lib/test_lib_public_spec.dart
rename to modules/angular2/test/testing/testing_public_spec.dart
index 0be27dcb8e..27d7af4c17 100644
--- a/modules/angular2/test/test_lib/test_lib_public_spec.dart
+++ b/modules/angular2/test/testing/testing_public_spec.dart
@@ -1,4 +1,4 @@
-library angular2.test.test_lib.test_lib_public_spec;
+library angular2.test.testing.testing_spec;
 
 /**
  * This is intentionally left blank. The public test lib is only for TS/JS
diff --git a/modules/angular2/test/test_lib/test_lib_public_spec.ts b/modules/angular2/test/testing/testing_public_spec.ts
similarity index 99%
rename from modules/angular2/test/test_lib/test_lib_public_spec.ts
rename to modules/angular2/test/testing/testing_public_spec.ts
index 8503182fdc..5b356d0cab 100644
--- a/modules/angular2/test/test_lib/test_lib_public_spec.ts
+++ b/modules/angular2/test/testing/testing_public_spec.ts
@@ -8,12 +8,11 @@ import {
   expect,
   tick,
   beforeEach,
-  dispatchEvent,
   inject,
   injectAsync,
   beforeEachProviders,
   TestComponentBuilder
-} from 'angular2/test';
+} from 'angular2/testing';
 
 import {Injectable, NgIf, bind} from 'angular2/core';
 import {Directive, Component, View, ViewMetadata} from 'angular2/angular2';
diff --git a/modules/angular2/test/test_lib/utils_spec.ts b/modules/angular2/test/testing/utils_spec.ts
similarity index 99%
rename from modules/angular2/test/test_lib/utils_spec.ts
rename to modules/angular2/test/testing/utils_spec.ts
index 372d2caa5a..013efdb442 100644
--- a/modules/angular2/test/test_lib/utils_spec.ts
+++ b/modules/angular2/test/testing/utils_spec.ts
@@ -1,4 +1,4 @@
-import {describe, it, iit, ddescribe, expect, BrowserDetection} from 'angular2/test_lib';
+import {describe, it, iit, ddescribe, expect, BrowserDetection} from 'angular2/testing_internal';
 import {StringMapWrapper} from 'angular2/src/core/facade/collection';
 
 export function main() {
diff --git a/modules/angular2/test/tools/spies.dart b/modules/angular2/test/tools/spies.dart
index 1356186b91..4c69c5a62f 100644
--- a/modules/angular2/test/tools/spies.dart
+++ b/modules/angular2/test/tools/spies.dart
@@ -1,4 +1,4 @@
-import 'package:angular2/test_lib.dart' show SpyObject;
+import 'package:angular2/testing_internal.dart' show SpyObject;
 import 'package:angular2/core.dart' show LifeCycle, Injector, bind;
 import 'package:angular2/src/core/linker/dynamic_component_loader.dart'
     show ComponentRef_;
diff --git a/modules/angular2/test/tools/spies.ts b/modules/angular2/test/tools/spies.ts
index e04d6fe112..47e3302704 100644
--- a/modules/angular2/test/tools/spies.ts
+++ b/modules/angular2/test/tools/spies.ts
@@ -1,4 +1,4 @@
-import {SpyObject} from 'angular2/test_lib';
+import {SpyObject} from 'angular2/testing_internal';
 import {LifeCycle, Injector, provide} from 'angular2/angular2';
 import {ComponentRef} from 'angular2/src/core/linker/dynamic_component_loader';
 import {global} from 'angular2/src/core/facade/lang';
diff --git a/modules/angular2/test/tools/tools_spec.ts b/modules/angular2/test/tools/tools_spec.ts
index ad27989f2c..766cea1067 100644
--- a/modules/angular2/test/tools/tools_spec.ts
+++ b/modules/angular2/test/tools/tools_spec.ts
@@ -8,7 +8,7 @@ import {
   inject,
   it,
   xit
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {enableDebugTools, disableDebugTools} from 'angular2/tools';
 import {SpyComponentRef, callNgProfilerTimeChangeDetection} from './spies';
diff --git a/modules/angular2/test/web_workers/debug_tools/bootstrap.server.spec.dart b/modules/angular2/test/web_workers/debug_tools/bootstrap.server.spec.dart
index f4ac872280..f7da218a23 100644
--- a/modules/angular2/test/web_workers/debug_tools/bootstrap.server.spec.dart
+++ b/modules/angular2/test/web_workers/debug_tools/bootstrap.server.spec.dart
@@ -1,6 +1,6 @@
 library angular2.test.web_workers.debug_tools.bootstrap;
 
-import "package:angular2/test_lib.dart";
+import "package:angular2/testing_internal.dart";
 import "package:angular2/src/core/reflection/reflection_capabilities.dart";
 import "package:angular2/src/core/reflection/reflection.dart";
 import "package:angular2/web_worker/worker.dart";
diff --git a/modules/angular2/test/web_workers/debug_tools/message_bus_common.dart b/modules/angular2/test/web_workers/debug_tools/message_bus_common.dart
index dd4fdacf2d..17a02362d9 100644
--- a/modules/angular2/test/web_workers/debug_tools/message_bus_common.dart
+++ b/modules/angular2/test/web_workers/debug_tools/message_bus_common.dart
@@ -2,7 +2,7 @@ library angular2.test.web_workers.debug_tools.message_bus_common;
 
 import "dart:convert" show JSON;
 import "package:angular2/src/web_workers/shared/message_bus.dart";
-import "package:angular2/test_lib.dart"
+import "package:angular2/testing_internal.dart"
     show AsyncTestCompleter, expect, SpyObject;
 
 var MESSAGE = const {'test': 10};
diff --git a/modules/angular2/test/web_workers/debug_tools/multi_client_server_message_bus.server.spec.dart b/modules/angular2/test/web_workers/debug_tools/multi_client_server_message_bus.server.spec.dart
index b65be4c5ea..06f0a30927 100644
--- a/modules/angular2/test/web_workers/debug_tools/multi_client_server_message_bus.server.spec.dart
+++ b/modules/angular2/test/web_workers/debug_tools/multi_client_server_message_bus.server.spec.dart
@@ -2,7 +2,7 @@ library angular2.test.web_workers.debug_tools.multi_client_server_message_bus;
 
 import "dart:io";
 import "dart:async";
-import "package:angular2/test_lib.dart"
+import "package:angular2/testing_internal.dart"
     show
         AsyncTestCompleter,
         inject,
diff --git a/modules/angular2/test/web_workers/debug_tools/single_client_server_message_bus.server.spec.dart b/modules/angular2/test/web_workers/debug_tools/single_client_server_message_bus.server.spec.dart
index 1ec526deb0..9b75d1a826 100644
--- a/modules/angular2/test/web_workers/debug_tools/single_client_server_message_bus.server.spec.dart
+++ b/modules/angular2/test/web_workers/debug_tools/single_client_server_message_bus.server.spec.dart
@@ -2,7 +2,7 @@ library angular2.test.web_workers.debug_tools.single_client_server_message_bus;
 
 import "dart:io";
 import "dart:async";
-import "package:angular2/test_lib.dart"
+import "package:angular2/testing_internal.dart"
     show
         AsyncTestCompleter,
         inject,
diff --git a/modules/angular2/test/web_workers/debug_tools/spy_web_socket.dart b/modules/angular2/test/web_workers/debug_tools/spy_web_socket.dart
index 692945b078..72fb090b5d 100644
--- a/modules/angular2/test/web_workers/debug_tools/spy_web_socket.dart
+++ b/modules/angular2/test/web_workers/debug_tools/spy_web_socket.dart
@@ -3,7 +3,7 @@
  */
 library angular2.test.web_workers.debug_tools.server_message_bus_common;
 
-import "package:angular2/test_lib.dart";
+import "package:angular2/testing_internal.dart";
 import "dart:io";
 
 @proxy
diff --git a/modules/angular2/test/web_workers/debug_tools/web_socket_message_bus_spec.dart b/modules/angular2/test/web_workers/debug_tools/web_socket_message_bus_spec.dart
index ce22b9a501..4c1eb0fac2 100644
--- a/modules/angular2/test/web_workers/debug_tools/web_socket_message_bus_spec.dart
+++ b/modules/angular2/test/web_workers/debug_tools/web_socket_message_bus_spec.dart
@@ -1,6 +1,6 @@
 library angular2.test.web_workers.debug_tools.web_socket_server_message_bus;
 
-import "package:angular2/test_lib.dart"
+import "package:angular2/testing_internal.dart"
     show
         AsyncTestCompleter,
         inject,
diff --git a/modules/angular2/test/web_workers/shared/message_bus_spec.ts b/modules/angular2/test/web_workers/shared/message_bus_spec.ts
index 139b50d775..37f4f0a209 100644
--- a/modules/angular2/test/web_workers/shared/message_bus_spec.ts
+++ b/modules/angular2/test/web_workers/shared/message_bus_spec.ts
@@ -9,7 +9,7 @@ import {
   beforeEachBindings,
   SpyObject,
   proxy
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {ObservableWrapper, TimerWrapper} from 'angular2/src/core/facade/async';
 import {MessageBus} from 'angular2/src/web_workers/shared/message_bus';
 import {createConnectedMessageBus} from './message_bus_util';
diff --git a/modules/angular2/test/web_workers/shared/render_proto_view_ref_store_spec.ts b/modules/angular2/test/web_workers/shared/render_proto_view_ref_store_spec.ts
index a518cb5a24..94cae2ddd1 100644
--- a/modules/angular2/test/web_workers/shared/render_proto_view_ref_store_spec.ts
+++ b/modules/angular2/test/web_workers/shared/render_proto_view_ref_store_spec.ts
@@ -6,7 +6,7 @@ import {
   beforeEach,
   it,
   expect
-} from "angular2/test_lib";
+} from "angular2/testing_internal";
 import {RenderProtoViewRef} from "angular2/src/core/render/api";
 import {RenderProtoViewRefStore} from "angular2/src/web_workers/shared/render_proto_view_ref_store";
 import {
diff --git a/modules/angular2/test/web_workers/shared/render_view_with_fragments_store_spec.ts b/modules/angular2/test/web_workers/shared/render_view_with_fragments_store_spec.ts
index 6ee81b7eaf..4811d76065 100644
--- a/modules/angular2/test/web_workers/shared/render_view_with_fragments_store_spec.ts
+++ b/modules/angular2/test/web_workers/shared/render_view_with_fragments_store_spec.ts
@@ -1,4 +1,11 @@
-import {AsyncTestCompleter, beforeEach, inject, describe, it, expect} from "angular2/test_lib";
+import {
+  AsyncTestCompleter,
+  beforeEach,
+  inject,
+  describe,
+  it,
+  expect
+} from "angular2/testing_internal";
 import {
   RenderViewWithFragments,
   RenderViewRef,
diff --git a/modules/angular2/test/web_workers/shared/service_message_broker_spec.ts b/modules/angular2/test/web_workers/shared/service_message_broker_spec.ts
index 36cd3c8fd2..c4127a5b9a 100644
--- a/modules/angular2/test/web_workers/shared/service_message_broker_spec.ts
+++ b/modules/angular2/test/web_workers/shared/service_message_broker_spec.ts
@@ -9,7 +9,7 @@ import {
   beforeEachBindings,
   SpyObject,
   proxy
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {createPairedMessageBuses} from '../shared/web_worker_test_util';
 import {Serializer, PRIMITIVE} from 'angular2/src/web_workers/shared/serializer';
 import {
diff --git a/modules/angular2/test/web_workers/worker/event_dispatcher_spec.ts b/modules/angular2/test/web_workers/worker/event_dispatcher_spec.ts
index 478a9a4db5..7d1be4a8db 100644
--- a/modules/angular2/test/web_workers/worker/event_dispatcher_spec.ts
+++ b/modules/angular2/test/web_workers/worker/event_dispatcher_spec.ts
@@ -9,7 +9,7 @@ import {
   beforeEachBindings,
   SpyObject,
   proxy
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {Serializer} from 'angular2/src/web_workers/shared/serializer';
 import {ON_WEB_WORKER} from 'angular2/src/web_workers/shared/api';
 import {provide} from 'angular2/core';
diff --git a/modules/angular2/test/web_workers/worker/renderer_integration_spec.ts b/modules/angular2/test/web_workers/worker/renderer_integration_spec.ts
index 407e41036d..087d9be096 100644
--- a/modules/angular2/test/web_workers/worker/renderer_integration_spec.ts
+++ b/modules/angular2/test/web_workers/worker/renderer_integration_spec.ts
@@ -10,7 +10,7 @@ import {
   createTestInjector,
   beforeEachBindings,
   TestComponentBuilder
-} from "angular2/test_lib";
+} from "angular2/testing_internal";
 import {DOM} from 'angular2/src/core/dom/dom_adapter';
 import {
   bind,
diff --git a/modules/angular2/test/web_workers/worker/spies.dart b/modules/angular2/test/web_workers/worker/spies.dart
index 91a311d829..7d6fa9d961 100644
--- a/modules/angular2/test/web_workers/worker/spies.dart
+++ b/modules/angular2/test/web_workers/worker/spies.dart
@@ -1,7 +1,7 @@
 library web_workers.spies;
 
 import 'package:angular2/src/web_workers/shared/client_message_broker.dart';
-import 'package:angular2/test_lib.dart';
+import 'package:angular2/testing_internal.dart';
 
 @proxy
 class SpyMessageBroker extends SpyObject implements ClientMessageBroker {
diff --git a/modules/angular2/test/web_workers/worker/spies.ts b/modules/angular2/test/web_workers/worker/spies.ts
index de582d95d6..9b37e6d3c7 100644
--- a/modules/angular2/test/web_workers/worker/spies.ts
+++ b/modules/angular2/test/web_workers/worker/spies.ts
@@ -1,6 +1,6 @@
 import {ClientMessageBroker} from 'angular2/src/web_workers/shared/client_message_broker';
 
-import {SpyObject, proxy} from 'angular2/test_lib';
+import {SpyObject, proxy} from 'angular2/testing_internal';
 
 export class SpyMessageBroker extends SpyObject {
   constructor() { super(ClientMessageBroker); }
diff --git a/modules/angular2/test/web_workers/worker/xhr_impl_spec.ts b/modules/angular2/test/web_workers/worker/xhr_impl_spec.ts
index 734e35f867..a7122c9e21 100644
--- a/modules/angular2/test/web_workers/worker/xhr_impl_spec.ts
+++ b/modules/angular2/test/web_workers/worker/xhr_impl_spec.ts
@@ -7,7 +7,7 @@ import {
   beforeEach,
   createTestInjector,
   beforeEachBindings
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {SpyMessageBroker} from './spies';
 import {Type} from 'angular2/src/core/facade/lang';
 import {
diff --git a/modules/angular2/test_lib.ts b/modules/angular2/test_lib.ts
index 79dafb21cb..8ffcf44217 100644
--- a/modules/angular2/test_lib.ts
+++ b/modules/angular2/test_lib.ts
@@ -1,6 +1,5 @@
-// Test library and utilities for internal use.
-export * from './src/test_lib/test_lib';
-export * from './src/test_lib/test_component_builder';
-export * from './src/test_lib/test_injector';
-export * from './src/test_lib/fake_async';
-export * from './src/test_lib/utils';
+/*
+ * @deprecated Please use testing_internal instead
+ */
+
+export * from './testing_internal';
diff --git a/modules/angular2/testing.ts b/modules/angular2/testing.ts
new file mode 100644
index 0000000000..130be7e841
--- /dev/null
+++ b/modules/angular2/testing.ts
@@ -0,0 +1,12 @@
+/**
+ * @module
+ * @description
+ * This module is used for writing tests for applications written in Angular.
+ *
+ * This module is not included in the `angular2` module; you must import the test module explicitly.
+ *
+ */
+export * from './src/testing/testing';
+export * from './src/testing/test_component_builder';
+export * from './src/testing/test_injector';
+export * from './src/testing/fake_async';
diff --git a/modules/angular2/testing_internal.ts b/modules/angular2/testing_internal.ts
new file mode 100644
index 0000000000..d96d1e7d0a
--- /dev/null
+++ b/modules/angular2/testing_internal.ts
@@ -0,0 +1,6 @@
+// Test library and utilities for internal use.
+export * from './src/testing/testing_internal';
+export * from './src/testing/test_component_builder';
+export * from './src/testing/test_injector';
+export * from './src/testing/fake_async';
+export * from './src/testing/utils';
diff --git a/modules/angular2_material/test/button_spec.ts b/modules/angular2_material/test/button_spec.ts
index 469140e9f1..a86a3eeb95 100644
--- a/modules/angular2_material/test/button_spec.ts
+++ b/modules/angular2_material/test/button_spec.ts
@@ -11,7 +11,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {DebugElement} from 'angular2/src/core/debug/debug_element';
 
 import {Component, View, ViewMetadata, UrlResolver, bind, provide} from 'angular2/core';
diff --git a/modules/benchmarks/e2e_test/change_detection_perf.ts b/modules/benchmarks/e2e_test/change_detection_perf.ts
index 4ce66b5b1d..9a7c5d0bfd 100644
--- a/modules/benchmarks/e2e_test/change_detection_perf.ts
+++ b/modules/benchmarks/e2e_test/change_detection_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 change detection benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/compiler_perf.ts b/modules/benchmarks/e2e_test/compiler_perf.ts
index 052082c969..d4abb369ed 100644
--- a/modules/benchmarks/e2e_test/compiler_perf.ts
+++ b/modules/benchmarks/e2e_test/compiler_perf.ts
@@ -1,4 +1,4 @@
-import {runBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 compiler benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/costs_perf.ts b/modules/benchmarks/e2e_test/costs_perf.ts
index 649b6be9e4..304857ba36 100644
--- a/modules/benchmarks/e2e_test/costs_perf.ts
+++ b/modules/benchmarks/e2e_test/costs_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 cost benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/di_perf.ts b/modules/benchmarks/e2e_test/di_perf.ts
index 4b2ba8410a..3a981b2b78 100644
--- a/modules/benchmarks/e2e_test/di_perf.ts
+++ b/modules/benchmarks/e2e_test/di_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 di benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/element_injector_perf.ts b/modules/benchmarks/e2e_test/element_injector_perf.ts
index c6e3dbf9bf..030dd69c15 100644
--- a/modules/benchmarks/e2e_test/element_injector_perf.ts
+++ b/modules/benchmarks/e2e_test/element_injector_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 element injector benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/largetable_perf.ts b/modules/benchmarks/e2e_test/largetable_perf.ts
index 8760987cec..be348c8933 100644
--- a/modules/benchmarks/e2e_test/largetable_perf.ts
+++ b/modules/benchmarks/e2e_test/largetable_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 largetable benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/naive_infinite_scroll_perf.ts b/modules/benchmarks/e2e_test/naive_infinite_scroll_perf.ts
index 988a4fe0b5..b32d1af68a 100644
--- a/modules/benchmarks/e2e_test/naive_infinite_scroll_perf.ts
+++ b/modules/benchmarks/e2e_test/naive_infinite_scroll_perf.ts
@@ -1,4 +1,4 @@
-import {runBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 naive infinite scroll benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/naive_infinite_scroll_spec.ts b/modules/benchmarks/e2e_test/naive_infinite_scroll_spec.ts
index 454915a60f..2db468e27f 100644
--- a/modules/benchmarks/e2e_test/naive_infinite_scroll_spec.ts
+++ b/modules/benchmarks/e2e_test/naive_infinite_scroll_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('ng2 naive infinite scroll benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/selector_perf.ts b/modules/benchmarks/e2e_test/selector_perf.ts
index 6fbdbdd803..2c53c1664c 100644
--- a/modules/benchmarks/e2e_test/selector_perf.ts
+++ b/modules/benchmarks/e2e_test/selector_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 selector benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/static_tree_perf.ts b/modules/benchmarks/e2e_test/static_tree_perf.ts
index 20adaa2208..e9fcfed7ff 100644
--- a/modules/benchmarks/e2e_test/static_tree_perf.ts
+++ b/modules/benchmarks/e2e_test/static_tree_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 static tree benchmark', function() {
 
diff --git a/modules/benchmarks/e2e_test/tree_perf.ts b/modules/benchmarks/e2e_test/tree_perf.ts
index 52f1c379b3..31b552c46e 100644
--- a/modules/benchmarks/e2e_test/tree_perf.ts
+++ b/modules/benchmarks/e2e_test/tree_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng2 tree benchmark', function() {
 
diff --git a/modules/benchmarks/src/change_detection/change_detection_benchmark.ts b/modules/benchmarks/src/change_detection/change_detection_benchmark.ts
index 6e0ca09d48..ceea3253e9 100644
--- a/modules/benchmarks/src/change_detection/change_detection_benchmark.ts
+++ b/modules/benchmarks/src/change_detection/change_detection_benchmark.ts
@@ -1,6 +1,6 @@
 import {reflector} from 'angular2/src/core/reflection/reflection';
 import {isPresent} from 'angular2/src/core/facade/lang';
-import {getIntParameter, bindAction, microBenchmark} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction, microBenchmark} from 'angular2/src/testing/benchmark_util';
 import {BrowserDomAdapter} from 'angular2/src/core/dom/browser_adapter';
 
 import {
diff --git a/modules/benchmarks/src/compiler/compiler_benchmark.ts b/modules/benchmarks/src/compiler/compiler_benchmark.ts
index 579406d6a1..26647b2fa8 100644
--- a/modules/benchmarks/src/compiler/compiler_benchmark.ts
+++ b/modules/benchmarks/src/compiler/compiler_benchmark.ts
@@ -21,7 +21,7 @@ import {
 import {ChangeDetectorGenConfig} from 'angular2/src/core/change_detection/change_detection';
 import {ViewResolver} from 'angular2/src/core/linker/view_resolver';
 
-import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction} from 'angular2/src/testing/benchmark_util';
 
 function _createBindings(): Provider[] {
   var multiplyTemplatesBy = getIntParameter('elements');
diff --git a/modules/benchmarks/src/compiler/selector_benchmark.ts b/modules/benchmarks/src/compiler/selector_benchmark.ts
index a21a7953e1..b6513b9b89 100644
--- a/modules/benchmarks/src/compiler/selector_benchmark.ts
+++ b/modules/benchmarks/src/compiler/selector_benchmark.ts
@@ -1,7 +1,7 @@
 import {SelectorMatcher} from "angular2/src/core/compiler/selector";
 import {CssSelector} from "angular2/src/core/compiler/selector";
 import {StringWrapper, Math} from 'angular2/src/core/facade/lang';
-import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction} from 'angular2/src/testing/benchmark_util';
 import {BrowserDomAdapter} from 'angular2/src/core/dom/browser_adapter';
 
 export function main() {
diff --git a/modules/benchmarks/src/costs/index.ts b/modules/benchmarks/src/costs/index.ts
index 7c8de8caea..32a3f1f3ef 100644
--- a/modules/benchmarks/src/costs/index.ts
+++ b/modules/benchmarks/src/costs/index.ts
@@ -10,7 +10,7 @@ import {
 } from 'angular2/core';
 import {LifeCycle} from 'angular2/src/core/life_cycle/life_cycle';
 import {ListWrapper} from 'angular2/src/core/facade/collection';
-import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction} from 'angular2/src/testing/benchmark_util';
 
 var testList = null;
 
diff --git a/modules/benchmarks/src/di/di_benchmark.ts b/modules/benchmarks/src/di/di_benchmark.ts
index aec341d9af..010f71c233 100644
--- a/modules/benchmarks/src/di/di_benchmark.ts
+++ b/modules/benchmarks/src/di/di_benchmark.ts
@@ -1,7 +1,7 @@
 import {Injectable, Injector, Key, bind, provide} from "angular2/core";
 import {reflector} from 'angular2/src/core/reflection/reflection';
 import {ReflectionCapabilities} from 'angular2/src/core/reflection/reflection_capabilities';
-import {getIntParameter, bindAction, microBenchmark} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction, microBenchmark} from 'angular2/src/testing/benchmark_util';
 import {BrowserDomAdapter} from 'angular2/src/core/dom/browser_adapter';
 
 var count = 0;
diff --git a/modules/benchmarks/src/element_injector/element_injector_benchmark.ts b/modules/benchmarks/src/element_injector/element_injector_benchmark.ts
index 6cceb1efb9..8c8efe931c 100644
--- a/modules/benchmarks/src/element_injector/element_injector_benchmark.ts
+++ b/modules/benchmarks/src/element_injector/element_injector_benchmark.ts
@@ -2,7 +2,7 @@ import {reflector} from 'angular2/src/core/reflection/reflection';
 import {ReflectionCapabilities} from 'angular2/src/core/reflection/reflection_capabilities';
 import {Injectable, Injector} from 'angular2/core';
 import {ProtoElementInjector, DirectiveProvider} from 'angular2/src/core/linker/element_injector';
-import {getIntParameter, bindAction, microBenchmark} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction, microBenchmark} from 'angular2/src/testing/benchmark_util';
 import {BrowserDomAdapter} from 'angular2/src/core/dom/browser_adapter';
 
 var count = 0;
diff --git a/modules/benchmarks/src/largetable/largetable_benchmark.ts b/modules/benchmarks/src/largetable/largetable_benchmark.ts
index 6cf1667121..6b6ef6b998 100644
--- a/modules/benchmarks/src/largetable/largetable_benchmark.ts
+++ b/modules/benchmarks/src/largetable/largetable_benchmark.ts
@@ -6,7 +6,7 @@ import {
   bindAction,
   windowProfile,
   windowProfileEnd
-} from 'angular2/src/test_lib/benchmark_util';
+} from 'angular2/src/testing/benchmark_util';
 import {bootstrap} from 'angular2/bootstrap';
 import {
   Component,
diff --git a/modules/benchmarks/src/naive_infinite_scroll/app.ts b/modules/benchmarks/src/naive_infinite_scroll/app.ts
index 56ba7075e7..23c717b46a 100644
--- a/modules/benchmarks/src/naive_infinite_scroll/app.ts
+++ b/modules/benchmarks/src/naive_infinite_scroll/app.ts
@@ -1,5 +1,5 @@
 import {isPresent} from 'angular2/src/core/facade/lang';
-import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction} from 'angular2/src/testing/benchmark_util';
 import {TimerWrapper} from 'angular2/src/core/facade/async';
 import {ScrollAreaComponent} from './scroll_area';
 import {NgIf, NgFor} from 'angular2/core';
diff --git a/modules/benchmarks/src/static_tree/tree_benchmark.ts b/modules/benchmarks/src/static_tree/tree_benchmark.ts
index 0056546a94..56b4c4595a 100644
--- a/modules/benchmarks/src/static_tree/tree_benchmark.ts
+++ b/modules/benchmarks/src/static_tree/tree_benchmark.ts
@@ -22,7 +22,7 @@ import {
   bindAction,
   windowProfile,
   windowProfileEnd
-} from 'angular2/src/test_lib/benchmark_util';
+} from 'angular2/src/testing/benchmark_util';
 import {BrowserDomAdapter} from 'angular2/src/core/dom/browser_adapter';
 import {APP_VIEW_POOL_CAPACITY} from 'angular2/src/core/linker/view_pool';
 
diff --git a/modules/benchmarks/src/tree/tree_benchmark.ts b/modules/benchmarks/src/tree/tree_benchmark.ts
index ded045466d..843d51cff5 100644
--- a/modules/benchmarks/src/tree/tree_benchmark.ts
+++ b/modules/benchmarks/src/tree/tree_benchmark.ts
@@ -21,7 +21,7 @@ import {
   bindAction,
   windowProfile,
   windowProfileEnd
-} from 'angular2/src/test_lib/benchmark_util';
+} from 'angular2/src/testing/benchmark_util';
 import {BrowserDomAdapter} from 'angular2/src/core/dom/browser_adapter';
 import {APP_VIEW_POOL_CAPACITY} from 'angular2/src/core/linker/view_pool';
 
diff --git a/modules/benchmarks_external/e2e_test/compiler_perf.ts b/modules/benchmarks_external/e2e_test/compiler_perf.ts
index d424be20f4..c8c7bcc7c0 100644
--- a/modules/benchmarks_external/e2e_test/compiler_perf.ts
+++ b/modules/benchmarks_external/e2e_test/compiler_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng1.x compiler benchmark', function() {
 
diff --git a/modules/benchmarks_external/e2e_test/largetable_perf.ts b/modules/benchmarks_external/e2e_test/largetable_perf.ts
index 8d1d9657ba..3884fb2f29 100644
--- a/modules/benchmarks_external/e2e_test/largetable_perf.ts
+++ b/modules/benchmarks_external/e2e_test/largetable_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng1.x largetable benchmark', function() {
   var URL = 'benchmarks_external/src/largetable/largetable_benchmark.html';
diff --git a/modules/benchmarks_external/e2e_test/naive_infinite_scroll_perf.ts b/modules/benchmarks_external/e2e_test/naive_infinite_scroll_perf.ts
index 817f4db60d..98685ac029 100644
--- a/modules/benchmarks_external/e2e_test/naive_infinite_scroll_perf.ts
+++ b/modules/benchmarks_external/e2e_test/naive_infinite_scroll_perf.ts
@@ -1,4 +1,4 @@
-import {runBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng-dart1.x naive infinite scroll benchmark', function() {
 
diff --git a/modules/benchmarks_external/e2e_test/polymer_tree_perf.ts b/modules/benchmarks_external/e2e_test/polymer_tree_perf.ts
index 86b974f71e..8c8d4ee3a7 100644
--- a/modules/benchmarks_external/e2e_test/polymer_tree_perf.ts
+++ b/modules/benchmarks_external/e2e_test/polymer_tree_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('polymer tree benchmark', function() {
 
diff --git a/modules/benchmarks_external/e2e_test/react_tree_perf.ts b/modules/benchmarks_external/e2e_test/react_tree_perf.ts
index 3b6994d237..2804b2b4e7 100644
--- a/modules/benchmarks_external/e2e_test/react_tree_perf.ts
+++ b/modules/benchmarks_external/e2e_test/react_tree_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('react tree benchmark', function() {
 
diff --git a/modules/benchmarks_external/e2e_test/static_tree_perf.ts b/modules/benchmarks_external/e2e_test/static_tree_perf.ts
index fef56e696f..ab6884dd83 100644
--- a/modules/benchmarks_external/e2e_test/static_tree_perf.ts
+++ b/modules/benchmarks_external/e2e_test/static_tree_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng1.x tree benchmark', function() {
 
diff --git a/modules/benchmarks_external/e2e_test/tree_perf.ts b/modules/benchmarks_external/e2e_test/tree_perf.ts
index 2383991b92..fda9415c85 100644
--- a/modules/benchmarks_external/e2e_test/tree_perf.ts
+++ b/modules/benchmarks_external/e2e_test/tree_perf.ts
@@ -1,4 +1,4 @@
-import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/test_lib/perf_util';
+import {runClickBenchmark, verifyNoBrowserErrors} from 'angular2/src/testing/perf_util';
 
 describe('ng1.x tree benchmark', function() {
 
diff --git a/modules/benchmarks_external/src/compiler/compiler_benchmark.dart b/modules/benchmarks_external/src/compiler/compiler_benchmark.dart
index fb887d81d3..ca0ff804a2 100644
--- a/modules/benchmarks_external/src/compiler/compiler_benchmark.dart
+++ b/modules/benchmarks_external/src/compiler/compiler_benchmark.dart
@@ -4,7 +4,7 @@ library compiler_benchmark_ng10;
 import 'package:angular/angular.dart';
 import 'package:angular/application_factory.dart';
 import 'dart:html';
-import 'package:angular2/src/test_lib/benchmark_util.dart';
+import 'package:angular2/src/testing/benchmark_util.dart';
 
 main() {
   var count = getIntParameter('elements');
diff --git a/modules/benchmarks_external/src/compiler/compiler_benchmark.ts b/modules/benchmarks_external/src/compiler/compiler_benchmark.ts
index 86ae0bc866..fcfc1ae3f7 100644
--- a/modules/benchmarks_external/src/compiler/compiler_benchmark.ts
+++ b/modules/benchmarks_external/src/compiler/compiler_benchmark.ts
@@ -1,5 +1,5 @@
 // compiler benchmark in AngularJS 1.x
-import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction} from 'angular2/src/testing/benchmark_util';
 declare var angular: any;
 
 export function main() {
diff --git a/modules/benchmarks_external/src/largetable/largetable_benchmark.ts b/modules/benchmarks_external/src/largetable/largetable_benchmark.ts
index 17813639c4..54efce404f 100644
--- a/modules/benchmarks_external/src/largetable/largetable_benchmark.ts
+++ b/modules/benchmarks_external/src/largetable/largetable_benchmark.ts
@@ -1,8 +1,4 @@
-import {
-  getIntParameter,
-  getStringParameter,
-  bindAction
-} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, getStringParameter, bindAction} from 'angular2/src/testing/benchmark_util';
 declare var angular: any;
 
 var totalRows = getIntParameter('rows');
diff --git a/modules/benchmarks_external/src/naive_infinite_scroll/app.dart b/modules/benchmarks_external/src/naive_infinite_scroll/app.dart
index c9e99fab10..fcd7b1204c 100644
--- a/modules/benchmarks_external/src/naive_infinite_scroll/app.dart
+++ b/modules/benchmarks_external/src/naive_infinite_scroll/app.dart
@@ -3,7 +3,7 @@ library scroll_app;
 import 'dart:async';
 import 'dart:html';
 import 'package:angular/angular.dart';
-import 'package:angular2/src/test_lib/benchmark_util.dart';
+import 'package:angular2/src/testing/benchmark_util.dart';
 
 @Component(
     selector: 'scroll-app',
diff --git a/modules/benchmarks_external/src/static_tree/tree_benchmark.dart b/modules/benchmarks_external/src/static_tree/tree_benchmark.dart
index 7b0a09916b..12ed630dff 100644
--- a/modules/benchmarks_external/src/static_tree/tree_benchmark.dart
+++ b/modules/benchmarks_external/src/static_tree/tree_benchmark.dart
@@ -3,7 +3,7 @@ library static_tree_benchmark_ng10;
 
 import 'package:angular/angular.dart';
 import 'package:angular/application_factory.dart';
-import 'package:angular2/src/test_lib/benchmark_util.dart';
+import 'package:angular2/src/testing/benchmark_util.dart';
 
 setup() {
   var m = new Module()
diff --git a/modules/benchmarks_external/src/static_tree/tree_benchmark.ts b/modules/benchmarks_external/src/static_tree/tree_benchmark.ts
index 347bf00def..11cb706094 100644
--- a/modules/benchmarks_external/src/static_tree/tree_benchmark.ts
+++ b/modules/benchmarks_external/src/static_tree/tree_benchmark.ts
@@ -1,5 +1,5 @@
 // static tree benchmark in AngularJS 1.x
-import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction} from 'angular2/src/testing/benchmark_util';
 declare var angular: any;
 
 const MAX_DEPTH = 10;
diff --git a/modules/benchmarks_external/src/tree/react/index.ts b/modules/benchmarks_external/src/tree/react/index.ts
index 4a11bba1be..5cb4417ea6 100644
--- a/modules/benchmarks_external/src/tree/react/index.ts
+++ b/modules/benchmarks_external/src/tree/react/index.ts
@@ -1,5 +1,5 @@
 // tree benchmark in React
-import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction} from 'angular2/src/testing/benchmark_util';
 import * as React from './react.min';
 
 var TreeComponent = React.createClass({
diff --git a/modules/benchmarks_external/src/tree/tree_benchmark.dart b/modules/benchmarks_external/src/tree/tree_benchmark.dart
index f7f477a4e7..c3545b8d9e 100644
--- a/modules/benchmarks_external/src/tree/tree_benchmark.dart
+++ b/modules/benchmarks_external/src/tree/tree_benchmark.dart
@@ -3,7 +3,7 @@ library tree_benchmark_ng10;
 
 import 'package:angular/angular.dart';
 import 'package:angular/application_factory.dart';
-import 'package:angular2/src/test_lib/benchmark_util.dart';
+import 'package:angular2/src/testing/benchmark_util.dart';
 
 setup() {
   var m = new Module()
diff --git a/modules/benchmarks_external/src/tree/tree_benchmark.ts b/modules/benchmarks_external/src/tree/tree_benchmark.ts
index 5d3aed4982..7c675d4ecb 100644
--- a/modules/benchmarks_external/src/tree/tree_benchmark.ts
+++ b/modules/benchmarks_external/src/tree/tree_benchmark.ts
@@ -1,5 +1,5 @@
 // tree benchmark in AngularJS 1.x
-import {getIntParameter, bindAction} from 'angular2/src/test_lib/benchmark_util';
+import {getIntParameter, bindAction} from 'angular2/src/testing/benchmark_util';
 declare var angular: any;
 
 export function main() {
diff --git a/modules/benchpress/test/metric/multi_metric_spec.ts b/modules/benchpress/test/metric/multi_metric_spec.ts
index 050a2de165..f3d1582dc3 100644
--- a/modules/benchpress/test/metric/multi_metric_spec.ts
+++ b/modules/benchpress/test/metric/multi_metric_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {ListWrapper} from 'angular2/src/core/facade/collection';
 import {PromiseWrapper, Promise} from 'angular2/src/core/facade/async';
diff --git a/modules/benchpress/test/metric/perflog_metric_spec.ts b/modules/benchpress/test/metric/perflog_metric_spec.ts
index b267cb0f2d..7166223859 100644
--- a/modules/benchpress/test/metric/perflog_metric_spec.ts
+++ b/modules/benchpress/test/metric/perflog_metric_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {StringMapWrapper} from 'angular2/src/core/facade/collection';
 import {PromiseWrapper, Promise} from 'angular2/src/core/facade/async';
diff --git a/modules/benchpress/test/reporter/console_reporter_spec.ts b/modules/benchpress/test/reporter/console_reporter_spec.ts
index a5edbc4c32..ab175ae4e1 100644
--- a/modules/benchpress/test/reporter/console_reporter_spec.ts
+++ b/modules/benchpress/test/reporter/console_reporter_spec.ts
@@ -1,4 +1,13 @@
-import {describe, ddescribe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  describe,
+  ddescribe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 
 import {isBlank, isPresent, Date, DateWrapper} from 'angular2/src/core/facade/lang';
 
diff --git a/modules/benchpress/test/reporter/json_file_reporter_spec.ts b/modules/benchpress/test/reporter/json_file_reporter_spec.ts
index 075f1c0738..58e96bbdda 100644
--- a/modules/benchpress/test/reporter/json_file_reporter_spec.ts
+++ b/modules/benchpress/test/reporter/json_file_reporter_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {DateWrapper, Json, RegExpWrapper, isPresent} from 'angular2/src/core/facade/lang';
 import {PromiseWrapper} from 'angular2/src/core/facade/async';
diff --git a/modules/benchpress/test/reporter/multi_reporter_spec.ts b/modules/benchpress/test/reporter/multi_reporter_spec.ts
index 9b5b88cfa4..d30f64357e 100644
--- a/modules/benchpress/test/reporter/multi_reporter_spec.ts
+++ b/modules/benchpress/test/reporter/multi_reporter_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {PromiseWrapper, Promise} from 'angular2/src/core/facade/async';
 import {DateWrapper} from 'angular2/src/core/facade/lang';
diff --git a/modules/benchpress/test/runner_spec.ts b/modules/benchpress/test/runner_spec.ts
index 0bfc778407..79b0734c0d 100644
--- a/modules/benchpress/test/runner_spec.ts
+++ b/modules/benchpress/test/runner_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 import {
   Runner,
   Sampler,
diff --git a/modules/benchpress/test/sampler_spec.ts b/modules/benchpress/test/sampler_spec.ts
index f46d2bdc50..2b18f3bd2d 100644
--- a/modules/benchpress/test/sampler_spec.ts
+++ b/modules/benchpress/test/sampler_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {isBlank, isPresent, stringify, Date, DateWrapper} from 'angular2/src/core/facade/lang';
 import {PromiseWrapper, Promise} from 'angular2/src/core/facade/async';
diff --git a/modules/benchpress/test/statistic_spec.ts b/modules/benchpress/test/statistic_spec.ts
index 7009690728..780ad1d041 100644
--- a/modules/benchpress/test/statistic_spec.ts
+++ b/modules/benchpress/test/statistic_spec.ts
@@ -1,4 +1,13 @@
-import {describe, ddescribe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  describe,
+  ddescribe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 
 import {Statistic} from 'benchpress/src/statistic';
 
diff --git a/modules/benchpress/test/validator/regression_slope_validator_spec.ts b/modules/benchpress/test/validator/regression_slope_validator_spec.ts
index a82f57eaa4..7bac9dc4fb 100644
--- a/modules/benchpress/test/validator/regression_slope_validator_spec.ts
+++ b/modules/benchpress/test/validator/regression_slope_validator_spec.ts
@@ -1,4 +1,13 @@
-import {describe, ddescribe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  describe,
+  ddescribe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 import {Date, DateWrapper} from 'angular2/src/core/facade/lang';
 import {ListWrapper} from 'angular2/src/core/facade/collection';
 
diff --git a/modules/benchpress/test/validator/size_validator_spec.ts b/modules/benchpress/test/validator/size_validator_spec.ts
index eefbe0deab..1f8e814655 100644
--- a/modules/benchpress/test/validator/size_validator_spec.ts
+++ b/modules/benchpress/test/validator/size_validator_spec.ts
@@ -1,4 +1,13 @@
-import {describe, ddescribe, it, iit, xit, expect, beforeEach, afterEach} from 'angular2/test_lib';
+import {
+  describe,
+  ddescribe,
+  it,
+  iit,
+  xit,
+  expect,
+  beforeEach,
+  afterEach
+} from 'angular2/testing_internal';
 import {Date, DateWrapper} from 'angular2/src/core/facade/lang';
 import {ListWrapper} from 'angular2/src/core/facade/collection';
 
diff --git a/modules/benchpress/test/web_driver_extension_spec.ts b/modules/benchpress/test/web_driver_extension_spec.ts
index 1d0b72a1d9..404cfe56ea 100644
--- a/modules/benchpress/test/web_driver_extension_spec.ts
+++ b/modules/benchpress/test/web_driver_extension_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {isPresent, StringWrapper} from 'angular2/src/core/facade/lang';
 import {PromiseWrapper} from 'angular2/src/core/facade/async';
diff --git a/modules/benchpress/test/webdriver/chrome_driver_extension_spec.ts b/modules/benchpress/test/webdriver/chrome_driver_extension_spec.ts
index 8087e3970e..9fe076af86 100644
--- a/modules/benchpress/test/webdriver/chrome_driver_extension_spec.ts
+++ b/modules/benchpress/test/webdriver/chrome_driver_extension_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {PromiseWrapper} from 'angular2/src/core/facade/async';
 import {Json, isBlank} from 'angular2/src/core/facade/lang';
diff --git a/modules/benchpress/test/webdriver/ios_driver_extension_spec.ts b/modules/benchpress/test/webdriver/ios_driver_extension_spec.ts
index 24eb774bcb..a22fa4b92b 100644
--- a/modules/benchpress/test/webdriver/ios_driver_extension_spec.ts
+++ b/modules/benchpress/test/webdriver/ios_driver_extension_spec.ts
@@ -9,7 +9,7 @@ import {
   inject,
   it,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {PromiseWrapper} from 'angular2/src/core/facade/async';
 import {Json, isBlank, isPresent} from 'angular2/src/core/facade/lang';
diff --git a/modules/examples/e2e_test/async/async_spec.ts b/modules/examples/e2e_test/async/async_spec.ts
index 81b532ad9e..3f3accadd8 100644
--- a/modules/examples/e2e_test/async/async_spec.ts
+++ b/modules/examples/e2e_test/async/async_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('async', () => {
   var URL = 'examples/src/async/index.html';
diff --git a/modules/examples/e2e_test/hello_world/hello_world_spec.ts b/modules/examples/e2e_test/hello_world/hello_world_spec.ts
index 13fc291b4a..6095bfad56 100644
--- a/modules/examples/e2e_test/hello_world/hello_world_spec.ts
+++ b/modules/examples/e2e_test/hello_world/hello_world_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('hello world', function() {
 
diff --git a/modules/examples/e2e_test/http/http_spec.ts b/modules/examples/e2e_test/http/http_spec.ts
index 0188bc9c1c..d98f6d5a66 100644
--- a/modules/examples/e2e_test/http/http_spec.ts
+++ b/modules/examples/e2e_test/http/http_spec.ts
@@ -1,6 +1,6 @@
 /// <reference path="../../../angular2/typings/jasmine/jasmine.d.ts" />
 
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('http', function() {
 
diff --git a/modules/examples/e2e_test/jsonp/jsonp_spec.ts b/modules/examples/e2e_test/jsonp/jsonp_spec.ts
index 06945a0d00..28eb775500 100644
--- a/modules/examples/e2e_test/jsonp/jsonp_spec.ts
+++ b/modules/examples/e2e_test/jsonp/jsonp_spec.ts
@@ -1,6 +1,6 @@
 /// <reference path="../../../angular2/typings/jasmine/jasmine.d.ts" />
 
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('jsonp', function() {
 
diff --git a/modules/examples/e2e_test/key_events/key_events_spec.ts b/modules/examples/e2e_test/key_events/key_events_spec.ts
index d6925ae3b4..d51d6d1c45 100644
--- a/modules/examples/e2e_test/key_events/key_events_spec.ts
+++ b/modules/examples/e2e_test/key_events/key_events_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('key_events', function() {
 
diff --git a/modules/examples/e2e_test/material/button_spec.ts b/modules/examples/e2e_test/material/button_spec.ts
index 3a0470a398..a01d54f961 100644
--- a/modules/examples/e2e_test/material/button_spec.ts
+++ b/modules/examples/e2e_test/material/button_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('md-button', function() {
   var url = 'examples/src/material/button/index.html';
diff --git a/modules/examples/e2e_test/material/checkbox_spec.ts b/modules/examples/e2e_test/material/checkbox_spec.ts
index 0f85d901e0..e3fd91c90e 100644
--- a/modules/examples/e2e_test/material/checkbox_spec.ts
+++ b/modules/examples/e2e_test/material/checkbox_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('md-checkbox', function() {
   var url = 'examples/src/material/checkbox/index.html';
diff --git a/modules/examples/e2e_test/material/dialog_spec.ts b/modules/examples/e2e_test/material/dialog_spec.ts
index d90ac7c263..24398b580b 100644
--- a/modules/examples/e2e_test/material/dialog_spec.ts
+++ b/modules/examples/e2e_test/material/dialog_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('md-dialog', function() {
   var url = 'examples/src/material/dialog/index.html';
diff --git a/modules/examples/e2e_test/material/grid_list_spec.ts b/modules/examples/e2e_test/material/grid_list_spec.ts
index 76d13c0373..c41247355e 100644
--- a/modules/examples/e2e_test/material/grid_list_spec.ts
+++ b/modules/examples/e2e_test/material/grid_list_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('md-grid-list', function() {
   var url = 'examples/src/material/grid_list/index.html';
diff --git a/modules/examples/e2e_test/material/input_spec.ts b/modules/examples/e2e_test/material/input_spec.ts
index 2c67c0ab2b..5417abcdf5 100644
--- a/modules/examples/e2e_test/material/input_spec.ts
+++ b/modules/examples/e2e_test/material/input_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('md-input', function() {
   var url = 'examples/src/material/input/index.html';
diff --git a/modules/examples/e2e_test/material/progress_linear_spec.ts b/modules/examples/e2e_test/material/progress_linear_spec.ts
index ad78e048db..4c8934400a 100644
--- a/modules/examples/e2e_test/material/progress_linear_spec.ts
+++ b/modules/examples/e2e_test/material/progress_linear_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('md-progress-linear', function() {
   var url = 'examples/src/material/progress-linear/index.html';
diff --git a/modules/examples/e2e_test/material/radio_spec.ts b/modules/examples/e2e_test/material/radio_spec.ts
index 03b2f286ee..3eecfb54a5 100644
--- a/modules/examples/e2e_test/material/radio_spec.ts
+++ b/modules/examples/e2e_test/material/radio_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('md-radio-button', function() {
   var url = 'examples/src/material/radio/index.html';
diff --git a/modules/examples/e2e_test/model_driven_forms/model_driven_forms_spec.ts b/modules/examples/e2e_test/model_driven_forms/model_driven_forms_spec.ts
index 756c3727d5..90577553ab 100644
--- a/modules/examples/e2e_test/model_driven_forms/model_driven_forms_spec.ts
+++ b/modules/examples/e2e_test/model_driven_forms/model_driven_forms_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('Model-Driven Forms', function() {
 
diff --git a/modules/examples/e2e_test/order_management/order_management_spec.ts b/modules/examples/e2e_test/order_management/order_management_spec.ts
index 1e6e667830..4373e1dd2a 100644
--- a/modules/examples/e2e_test/order_management/order_management_spec.ts
+++ b/modules/examples/e2e_test/order_management/order_management_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('Order Management CRUD', function() {
   var URL = 'examples/src/order_management/index.html';
diff --git a/modules/examples/e2e_test/person_management/person_management_spec.ts b/modules/examples/e2e_test/person_management/person_management_spec.ts
index 1284098f36..5c3d22d78a 100644
--- a/modules/examples/e2e_test/person_management/person_management_spec.ts
+++ b/modules/examples/e2e_test/person_management/person_management_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('Person Management CRUD', function() {
   var URL = 'examples/src/person_management/index.html';
diff --git a/modules/examples/e2e_test/routing/routing_spec.ts b/modules/examples/e2e_test/routing/routing_spec.ts
index f064860a64..9617ad8609 100644
--- a/modules/examples/e2e_test/routing/routing_spec.ts
+++ b/modules/examples/e2e_test/routing/routing_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 import {Promise} from 'angular2/src/core/facade/async';
 
 function waitForElement(selector) {
diff --git a/modules/examples/e2e_test/sourcemap/sourcemap_spec.ts b/modules/examples/e2e_test/sourcemap/sourcemap_spec.ts
index 40286fa3cb..d87d91400e 100644
--- a/modules/examples/e2e_test/sourcemap/sourcemap_spec.ts
+++ b/modules/examples/e2e_test/sourcemap/sourcemap_spec.ts
@@ -1,4 +1,4 @@
-import * as testUtil from 'angular2/src/test_lib/e2e_util';
+import * as testUtil from 'angular2/src/testing/e2e_util';
 
 var fs = require('fs');
 var sourceMap = require('source-map');
diff --git a/modules/examples/e2e_test/template_driven_forms/template_driven_forms_spec.ts b/modules/examples/e2e_test/template_driven_forms/template_driven_forms_spec.ts
index f671a4a613..85f92023a8 100644
--- a/modules/examples/e2e_test/template_driven_forms/template_driven_forms_spec.ts
+++ b/modules/examples/e2e_test/template_driven_forms/template_driven_forms_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('Template-Driven Forms', function() {
 
diff --git a/modules/examples/e2e_test/web_workers/kitchen_sink/kitchen_sink_spec.ts b/modules/examples/e2e_test/web_workers/kitchen_sink/kitchen_sink_spec.ts
index 4587891676..d6713f0f02 100644
--- a/modules/examples/e2e_test/web_workers/kitchen_sink/kitchen_sink_spec.ts
+++ b/modules/examples/e2e_test/web_workers/kitchen_sink/kitchen_sink_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 import {Promise} from 'angular2/src/core/facade/async';
 
 describe('WebWorkers Kitchen Sink', function() {
diff --git a/modules/examples/e2e_test/web_workers/message_broker/message_broker_spec.ts b/modules/examples/e2e_test/web_workers/message_broker/message_broker_spec.ts
index 5d23443c1c..a2607bbbad 100644
--- a/modules/examples/e2e_test/web_workers/message_broker/message_broker_spec.ts
+++ b/modules/examples/e2e_test/web_workers/message_broker/message_broker_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from "angular2/src/test_lib/e2e_util";
+import {verifyNoBrowserErrors} from "angular2/src/testing/e2e_util";
 import {PromiseWrapper} from "angular2/src/core/facade/async";
 
 var URL = 'examples/src/web_workers/message_broker/index.html';
diff --git a/modules/examples/e2e_test/web_workers/todo/todo_spec.ts b/modules/examples/e2e_test/web_workers/todo/todo_spec.ts
index 3518599fb9..937fa7b773 100644
--- a/modules/examples/e2e_test/web_workers/todo/todo_spec.ts
+++ b/modules/examples/e2e_test/web_workers/todo/todo_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 import {Promise} from 'angular2/src/core/facade/async';
 
 describe('WebWorkers Todo', function() {
diff --git a/modules/examples/e2e_test/zippy_component/zippy_spec.ts b/modules/examples/e2e_test/zippy_component/zippy_spec.ts
index 5a846528f5..691b35c21e 100644
--- a/modules/examples/e2e_test/zippy_component/zippy_spec.ts
+++ b/modules/examples/e2e_test/zippy_component/zippy_spec.ts
@@ -1,4 +1,4 @@
-import {verifyNoBrowserErrors} from 'angular2/src/test_lib/e2e_util';
+import {verifyNoBrowserErrors} from 'angular2/src/testing/e2e_util';
 
 describe('Zippy Component', function() {
 
diff --git a/modules/upgrade/test/integration_spec.ts b/modules/upgrade/test/integration_spec.ts
index 76b55ca510..19fdada5f3 100644
--- a/modules/upgrade/test/integration_spec.ts
+++ b/modules/upgrade/test/integration_spec.ts
@@ -9,7 +9,7 @@ import {
   it,
   xdescribe,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Component, View, Inject, EventEmitter} from 'angular2/angular2';
 import {createUpgradeModule, UpgradeModule} from 'upgrade/upgrade';
diff --git a/modules/upgrade/test/metadata_spec.ts b/modules/upgrade/test/metadata_spec.ts
index 5c59e8bc81..f3e814803b 100644
--- a/modules/upgrade/test/metadata_spec.ts
+++ b/modules/upgrade/test/metadata_spec.ts
@@ -9,7 +9,7 @@ import {
   it,
   xdescribe,
   xit,
-} from 'angular2/test_lib';
+} from 'angular2/testing_internal';
 
 import {Component, View} from 'angular2/angular2';
 import {getComponentInfo, parseFields} from 'upgrade/src/metadata';
diff --git a/test-main.dart b/test-main.dart
index e187ab4f00..ebc4320b46 100644
--- a/test-main.dart
+++ b/test-main.dart
@@ -1,7 +1,7 @@
 import 'package:guinness/guinness.dart';
 import 'package:unittest/unittest.dart' as unit;
 
-import 'package:angular2/src/test_lib/test_lib.dart' show testSetup;
+import 'package:angular2/src/testing/testing_internal.dart' show testSetup;
 
 main() {
   unit.filterStacks = true;
diff --git a/tools/broccoli/html-replace/SCRIPTS.html b/tools/broccoli/html-replace/SCRIPTS.html
index 70c7b59e7c..09a3a33a71 100644
--- a/tools/broccoli/html-replace/SCRIPTS.html
+++ b/tools/broccoli/html-replace/SCRIPTS.html
@@ -9,7 +9,7 @@
       'examples': {defaultExtension: 'js'},
       // TODO(rado): These helpers don't end up in the bundle, thus they should
       // not even be in src/*. Move them!
-      'angular2/src/test_lib/benchmark_util': {defaultExtension: 'js'},
+      'angular2/src/testing/benchmark_util': {defaultExtension: 'js'},
       'angular2/src/core/facade/browser': {defaultExtension: 'js'},
     }
   });
diff --git a/tools/broccoli/html-replace/SCRIPTS_benchmarks.html b/tools/broccoli/html-replace/SCRIPTS_benchmarks.html
index 9993064e33..026e4d7ea7 100644
--- a/tools/broccoli/html-replace/SCRIPTS_benchmarks.html
+++ b/tools/broccoli/html-replace/SCRIPTS_benchmarks.html
@@ -10,7 +10,7 @@
       'examples': {defaultExtension: 'js'},
       // TODO(rado): These helpers don't end up in the bundle, thus they should
       // not even be in src/*. Move them!
-      'angular2/src/test_lib/benchmark_util': {defaultExtension: 'js'},
+      'angular2/src/testing/benchmark_util': {defaultExtension: 'js'},
       'angular2/src/core/facade/browser': {defaultExtension: 'js'},
     }
   });
diff --git a/tools/broccoli/trees/node_tree.ts b/tools/broccoli/trees/node_tree.ts
index f1ec77be10..cbcb3a566c 100644
--- a/tools/broccoli/trees/node_tree.ts
+++ b/tools/broccoli/trees/node_tree.ts
@@ -22,8 +22,8 @@ module.exports = function makeNodeTree(destinationPath) {
       // the following code and tests are not compatible with CJS/node environment
       'angular2/test/animate/**',
       'angular2/test/core/zone/**',
-      'angular2/test/test_lib/fake_async_spec.ts',
-      'angular2/test/test_lib/test_lib_public_spec.ts',
+      'angular2/test/testing/fake_async_spec.ts',
+      'angular2/test/testing/testing_public_spec.ts',
       'angular2/test/core/compiler/xhr_impl_spec.ts',
       'angular2/test/core/forms/**',
       'angular2/test/tools/tools_spec.ts',