mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
refactor: move testing utilities to cdk (#5437)
* Deletes the duplicate testing utilities because #5386 just copied them to the CDK but didn't delete the old files. * Introduces a secondary entry point (only inside of development right now) that allows us to use the testing utilities from the Material package tests
This commit is contained in:
committed by
mmalerba
parent
ac3e21a334
commit
8de3b98935
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
export * from './keycodes';
|
||||
@@ -14,4 +14,4 @@ export * from './platform/index';
|
||||
export * from './portal/index';
|
||||
export * from './rxjs/index';
|
||||
export * from './observe-content/index';
|
||||
export * from './keyboard/keycodes';
|
||||
export * from './keyboard/index';
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
export * from './dispatch-events';
|
||||
export * from './event-objects';
|
||||
export * from './type-in-element';
|
||||
export * from './wrapped-error-message';
|
||||
@@ -10,8 +10,11 @@
|
||||
"types": ["jasmine"],
|
||||
"experimentalDecorators": true
|
||||
},
|
||||
"files": [
|
||||
"./index.ts",
|
||||
"./testing/index.ts"
|
||||
],
|
||||
"include": [
|
||||
"**/*.spec.ts",
|
||||
"index.ts"
|
||||
"**/*.spec.ts"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -26,9 +26,7 @@ import {MdOption} from '../core/option/option';
|
||||
import {MdInputContainer} from '../input/input-container';
|
||||
import {Observable} from 'rxjs/Observable';
|
||||
import {Subject} from 'rxjs/Subject';
|
||||
import {dispatchFakeEvent} from '../core/testing/dispatch-events';
|
||||
import {createKeyboardEvent} from '../core/testing/event-objects';
|
||||
import {typeInElement} from '../core/testing/type-in-element';
|
||||
import {createKeyboardEvent, dispatchFakeEvent, typeInElement} from '@angular/cdk/testing';
|
||||
import {ScrollDispatcher} from '../core/overlay/scroll/scroll-dispatcher';
|
||||
import {RxChain, map, startWith, filter} from '../core/rxjs/index';
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import {By} from '@angular/platform-browser';
|
||||
import {MdCheckbox, MdCheckboxChange, MdCheckboxModule} from './index';
|
||||
import {ViewportRuler} from '../core/overlay/position/viewport-ruler';
|
||||
import {FakeViewportRuler} from '../core/overlay/position/fake-viewport-ruler';
|
||||
import {dispatchFakeEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent} from '@angular/cdk/testing';
|
||||
import {RIPPLE_FADE_IN_DURATION, RIPPLE_FADE_OUT_DURATION} from '../core/ripple/ripple-renderer';
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import {By} from '@angular/platform-browser';
|
||||
import {MdChip, MdChipList, MdChipsModule} from './index';
|
||||
import {FocusKeyManager} from '../core/a11y/focus-key-manager';
|
||||
import {SPACE, LEFT_ARROW, RIGHT_ARROW, TAB} from '../core/keyboard/keycodes';
|
||||
import {createKeyboardEvent} from '../core/testing/event-objects';
|
||||
import {createKeyboardEvent} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
describe('MdChipList', () => {
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
MD_ELEMENTS_SELECTOR,
|
||||
getMdCompatibilityInvalidPrefixError,
|
||||
} from './compatibility';
|
||||
import {wrappedErrorMessage} from '../testing/wrapped-error-message';
|
||||
import {wrappedErrorMessage} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
describe('Style compatibility', () => {
|
||||
|
||||
@@ -6,7 +6,7 @@ import {OverlayContainer} from './overlay-container';
|
||||
import {ConnectedPositionStrategy} from './position/connected-position-strategy';
|
||||
import {ConnectedOverlayPositionChange} from './position/connected-position';
|
||||
import {Directionality} from '../bidi/index';
|
||||
import {dispatchKeyboardEvent} from '../testing/dispatch-events';
|
||||
import {dispatchKeyboardEvent} from '@angular/cdk/testing';
|
||||
import {ESCAPE} from '../keyboard/keycodes';
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import {inject, TestBed, async, fakeAsync, ComponentFixture, tick} from '@angular/core/testing';
|
||||
import {NgModule, Component, ViewChild, ElementRef} from '@angular/core';
|
||||
import {OverlayModule, Scrollable, ScrollDispatcher} from '../index';
|
||||
import {dispatchFakeEvent} from '../../testing/dispatch-events';
|
||||
import {dispatchFakeEvent} from '@angular/cdk/testing';
|
||||
|
||||
describe('Scroll Dispatcher', () => {
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import {TestBed, ComponentFixture, fakeAsync, tick, inject} from '@angular/core/
|
||||
import {Component, ViewChild} from '@angular/core';
|
||||
import {ViewportRuler} from '../overlay/position/viewport-ruler';
|
||||
import {RIPPLE_FADE_OUT_DURATION, RIPPLE_FADE_IN_DURATION} from './ripple-renderer';
|
||||
import {dispatchMouseEvent} from '../testing/dispatch-events';
|
||||
import {dispatchMouseEvent} from '@angular/cdk/testing';
|
||||
import {
|
||||
MdRipple, MdRippleModule, MD_RIPPLE_GLOBAL_OPTIONS, RippleState, RippleGlobalOptions
|
||||
} from './index';
|
||||
|
||||
@@ -4,9 +4,7 @@ import {StyleModule} from './index';
|
||||
import {By} from '@angular/platform-browser';
|
||||
import {TAB} from '../keyboard/keycodes';
|
||||
import {FocusOrigin, FocusOriginMonitor, TOUCH_BUFFER_MS} from './focus-origin-monitor';
|
||||
import {
|
||||
dispatchFakeEvent, dispatchKeyboardEvent, dispatchMouseEvent
|
||||
} from '../testing/dispatch-events';
|
||||
import {dispatchFakeEvent, dispatchKeyboardEvent, dispatchMouseEvent} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
describe('FocusOriginMonitor', () => {
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
import {createFakeEvent, createKeyboardEvent, createMouseEvent} from './event-objects';
|
||||
|
||||
/** Utility to dispatch any event on a Node. */
|
||||
export function dispatchEvent(node: Node | Window, event: Event): Event {
|
||||
node.dispatchEvent(event);
|
||||
return event;
|
||||
}
|
||||
|
||||
/** Shorthand to dispatch a fake event on a specified node. */
|
||||
export function dispatchFakeEvent(node: Node | Window, type: string): Event {
|
||||
return dispatchEvent(node, createFakeEvent(type));
|
||||
}
|
||||
|
||||
/** Shorthand to dispatch a keyboard event with a specified key code. */
|
||||
export function dispatchKeyboardEvent(node: Node, type: string, keyCode: number): KeyboardEvent {
|
||||
return dispatchEvent(node, createKeyboardEvent(type, keyCode)) as KeyboardEvent;
|
||||
}
|
||||
|
||||
/** Shorthand to dispatch a mouse event on the specified coordinates. */
|
||||
export function dispatchMouseEvent(node: Node, type: string, x = 0, y = 0): MouseEvent {
|
||||
return dispatchEvent(node, createMouseEvent(type, x, y)) as MouseEvent;
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
/** Creates a browser MouseEvent with the specified options. */
|
||||
export function createMouseEvent(type: string, x = 0, y = 0) {
|
||||
let event = document.createEvent('MouseEvent');
|
||||
|
||||
event.initMouseEvent(type,
|
||||
false, /* canBubble */
|
||||
false, /* cancelable */
|
||||
window, /* view */
|
||||
0, /* detail */
|
||||
x, /* screenX */
|
||||
y, /* screenY */
|
||||
x, /* clientX */
|
||||
y, /* clientY */
|
||||
false, /* ctrlKey */
|
||||
false, /* altKey */
|
||||
false, /* shiftKey */
|
||||
false, /* metaKey */
|
||||
0, /* button */
|
||||
null /* relatedTarget */);
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
/** Dispatches a keydown event from an element. */
|
||||
export function createKeyboardEvent(type: string, keyCode: number, target?: Element) {
|
||||
let event = document.createEvent('KeyboardEvent') as any;
|
||||
// Firefox does not support `initKeyboardEvent`, but supports `initKeyEvent`.
|
||||
let initEventFn = (event.initKeyEvent || event.initKeyboardEvent).bind(event);
|
||||
let originalPreventDefault = event.preventDefault;
|
||||
|
||||
initEventFn(type, true, true, window, 0, 0, 0, 0, 0, keyCode);
|
||||
|
||||
// Webkit Browsers don't set the keyCode when calling the init function.
|
||||
// See related bug https://bugs.webkit.org/show_bug.cgi?id=16735
|
||||
Object.defineProperties(event, {
|
||||
keyCode: { get: () => keyCode },
|
||||
target: { get: () => target }
|
||||
});
|
||||
|
||||
// IE won't set `defaultPrevented` on synthetic events so we need to do it manually.
|
||||
event.preventDefault = function() {
|
||||
Object.defineProperty(event, 'defaultPrevented', { get: () => true });
|
||||
return originalPreventDefault.apply(this, arguments);
|
||||
};
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
/** Creates a fake event object with any desired event type. */
|
||||
export function createFakeEvent(type: string) {
|
||||
let event = document.createEvent('Event');
|
||||
event.initEvent(type, true, true);
|
||||
return event;
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* Collection of useful custom jasmine matchers for tests.
|
||||
*/
|
||||
export const customMatchers: jasmine.CustomMatcherFactories = {
|
||||
toBeRole: () => {
|
||||
return {
|
||||
compare: function (element: Element, expectedRole: string) {
|
||||
const result: jasmine.CustomMatcherResult = {pass: false};
|
||||
const actualRole = element.getAttribute('role');
|
||||
|
||||
result.pass = actualRole === expectedRole;
|
||||
result.message = `Expected role for ${element.tagName} to be ${expectedRole}`;
|
||||
|
||||
if (!result.pass) {
|
||||
result.message += ` but was ${actualRole}`;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
};
|
||||
@@ -5,11 +5,7 @@ import {By} from '@angular/platform-browser';
|
||||
import {MdMonthView} from './month-view';
|
||||
import {MdYearView} from './year-view';
|
||||
import {MdCalendarBody} from './calendar-body';
|
||||
import {
|
||||
dispatchFakeEvent,
|
||||
dispatchKeyboardEvent,
|
||||
dispatchMouseEvent
|
||||
} from '../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent, dispatchKeyboardEvent, dispatchMouseEvent} from '@angular/cdk/testing';
|
||||
import {
|
||||
DOWN_ARROW,
|
||||
END,
|
||||
|
||||
@@ -9,11 +9,7 @@ import {MdDatepickerInput} from './datepicker-input';
|
||||
import {MdInputModule} from '../input/index';
|
||||
import {MdNativeDateModule, DateAdapter, NativeDateAdapter} from '../core/datetime/index';
|
||||
import {ESCAPE} from '../core';
|
||||
import {
|
||||
dispatchFakeEvent,
|
||||
dispatchMouseEvent,
|
||||
dispatchKeyboardEvent,
|
||||
} from '../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent, dispatchMouseEvent, dispatchKeyboardEvent} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
// When constructing a Date, the month is zero-based. This can be confusing, since people are
|
||||
|
||||
@@ -25,7 +25,7 @@ import {MdDialog, MD_DIALOG_DATA} from './dialog';
|
||||
import {MdDialogContainer} from './dialog-container';
|
||||
import {OverlayContainer, ESCAPE} from '../core';
|
||||
import {MdDialogRef} from './dialog-ref';
|
||||
import {dispatchKeyboardEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchKeyboardEvent} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
describe('MdDialog', () => {
|
||||
|
||||
@@ -6,7 +6,7 @@ import {Component} from '@angular/core';
|
||||
import {MdIconModule} from './index';
|
||||
import {MdIconRegistry, getMdIconNoHttpProviderError} from './icon-registry';
|
||||
import {getFakeSvgHttpResponse} from './fake-svgs';
|
||||
import {wrappedErrorMessage} from '../core/testing/wrapped-error-message';
|
||||
import {wrappedErrorMessage} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
/** Returns the CSS classes assigned to an element as a sorted array. */
|
||||
|
||||
@@ -15,8 +15,7 @@ import {MdInputModule} from './index';
|
||||
import {MdInputContainer, MdInputDirective} from './input-container';
|
||||
import {Platform} from '../core/platform/platform';
|
||||
import {PlatformModule} from '../core/platform/index';
|
||||
import {wrappedErrorMessage} from '../core/testing/wrapped-error-message';
|
||||
import {dispatchFakeEvent} from '../core/testing/dispatch-events';
|
||||
import {wrappedErrorMessage, dispatchFakeEvent} from '@angular/cdk/testing';
|
||||
import {
|
||||
getMdInputContainerDuplicatedHintError,
|
||||
getMdInputContainerMissingMdInputError,
|
||||
|
||||
@@ -21,7 +21,7 @@ import {OverlayContainer} from '../core/overlay/overlay-container';
|
||||
import {Directionality, Direction} from '../core/bidi/index';
|
||||
import {extendObject} from '../core/util/object-extend';
|
||||
import {ESCAPE} from '../core/keyboard/keycodes';
|
||||
import {dispatchKeyboardEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchKeyboardEvent} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
describe('MdMenu', () => {
|
||||
|
||||
@@ -4,8 +4,7 @@ import {MdPaginator, PageEvent} from './paginator';
|
||||
import {Component, ElementRef, ViewChild} from '@angular/core';
|
||||
import {MdPaginatorIntl} from './paginator-intl';
|
||||
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
|
||||
import {customMatchers} from '../core/testing/jasmine-matchers';
|
||||
import {dispatchMouseEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchMouseEvent} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
describe('MdPaginator', () => {
|
||||
@@ -14,8 +13,6 @@ describe('MdPaginator', () => {
|
||||
let paginator: MdPaginator;
|
||||
|
||||
beforeEach(async(() => {
|
||||
jasmine.addMatchers(customMatchers);
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
MdPaginatorModule,
|
||||
|
||||
@@ -5,7 +5,7 @@ import {By} from '@angular/platform-browser';
|
||||
import {MdRadioGroup, MdRadioButton, MdRadioChange, MdRadioModule} from './index';
|
||||
import {ViewportRuler} from '../core/overlay/position/viewport-ruler';
|
||||
import {FakeViewportRuler} from '../core/overlay/position/fake-viewport-ruler';
|
||||
import {dispatchFakeEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent} from '@angular/cdk/testing';
|
||||
import {RIPPLE_FADE_IN_DURATION, RIPPLE_FADE_OUT_DURATION} from '../core/ripple/ripple-renderer';
|
||||
|
||||
|
||||
|
||||
@@ -22,8 +22,7 @@ import {
|
||||
} from '@angular/forms';
|
||||
import {Subject} from 'rxjs/Subject';
|
||||
import {ViewportRuler} from '../core/overlay/position/viewport-ruler';
|
||||
import {dispatchFakeEvent, dispatchKeyboardEvent} from '../core/testing/dispatch-events';
|
||||
import {wrappedErrorMessage} from '../core/testing/wrapped-error-message';
|
||||
import {dispatchFakeEvent, dispatchKeyboardEvent, wrappedErrorMessage} from '@angular/cdk/testing';
|
||||
import {ScrollDispatcher} from '../core/overlay/scroll/scroll-dispatcher';
|
||||
import {
|
||||
FloatPlaceholderType,
|
||||
|
||||
@@ -4,7 +4,7 @@ import {async, ComponentFixture, TestBed, fakeAsync, tick} from '@angular/core/t
|
||||
import {NgModel, FormsModule, ReactiveFormsModule, FormControl} from '@angular/forms';
|
||||
import {MdSlideToggle, MdSlideToggleChange, MdSlideToggleModule} from './index';
|
||||
import {TestGestureConfig} from '../slider/test-gesture-config';
|
||||
import {dispatchFakeEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent} from '@angular/cdk/testing';
|
||||
import {RIPPLE_FADE_IN_DURATION, RIPPLE_FADE_OUT_DURATION} from '../core/ripple/ripple-renderer';
|
||||
|
||||
describe('MdSlideToggle', () => {
|
||||
|
||||
@@ -15,7 +15,7 @@ import {
|
||||
RIGHT_ARROW,
|
||||
UP_ARROW
|
||||
} from '../core/keyboard/keycodes';
|
||||
import {dispatchKeyboardEvent, dispatchMouseEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchKeyboardEvent, dispatchMouseEvent} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
describe('MdSlider', () => {
|
||||
|
||||
@@ -3,13 +3,13 @@ import {Component, ElementRef, ViewChild} from '@angular/core';
|
||||
import {MdSort, MdSortHeader, Sort, SortDirection, MdSortModule} from './index';
|
||||
import {CdkTableModule, DataSource, CollectionViewer} from '@angular/cdk';
|
||||
import {Observable} from 'rxjs/Observable';
|
||||
import {dispatchMouseEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchMouseEvent} from '@angular/cdk/testing';
|
||||
import {
|
||||
getMdSortDuplicateMdSortableIdError,
|
||||
getMdSortHeaderMissingIdError,
|
||||
getMdSortHeaderNotContainedWithinMdSortError
|
||||
} from './sort-errors';
|
||||
import {wrappedErrorMessage} from '../core/testing/wrapped-error-message';
|
||||
import {wrappedErrorMessage} from '@angular/cdk/testing';
|
||||
import {map} from '../core/rxjs/index';
|
||||
|
||||
describe('MdSort', () => {
|
||||
|
||||
@@ -9,7 +9,7 @@ import {Observable} from 'rxjs/Observable';
|
||||
import {MdTab} from './tab';
|
||||
import {ViewportRuler} from '../core/overlay/position/viewport-ruler';
|
||||
import {FakeViewportRuler} from '../core/overlay/position/fake-viewport-ruler';
|
||||
import {dispatchFakeEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
describe('MdTabGroup', () => {
|
||||
|
||||
@@ -10,8 +10,7 @@ import {MdTabLabelWrapper} from './tab-label-wrapper';
|
||||
import {RIGHT_ARROW, LEFT_ARROW, ENTER} from '../core/keyboard/keycodes';
|
||||
import {FakeViewportRuler} from '../core/overlay/position/fake-viewport-ruler';
|
||||
import {ViewportRuler} from '../core/overlay/position/viewport-ruler';
|
||||
import {dispatchKeyboardEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent, dispatchKeyboardEvent} from '@angular/cdk/testing';
|
||||
import {Subject} from 'rxjs/Subject';
|
||||
import {By} from '@angular/platform-browser';
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import {Component, ViewChild} from '@angular/core';
|
||||
import {By} from '@angular/platform-browser';
|
||||
import {ViewportRuler} from '../../core/overlay/position/viewport-ruler';
|
||||
import {FakeViewportRuler} from '../../core/overlay/position/fake-viewport-ruler';
|
||||
import {dispatchFakeEvent, dispatchMouseEvent} from '../../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent, dispatchMouseEvent} from '@angular/cdk/testing';
|
||||
import {Direction, Directionality} from '../../core/bidi/index';
|
||||
import {Subject} from 'rxjs/Subject';
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import {TooltipPosition, MdTooltip, MdTooltipModule, SCROLL_THROTTLE_MS} from '.
|
||||
import {Directionality, Direction} from '../core/bidi/index';
|
||||
import {OverlayModule, Scrollable, OverlayContainer} from '../core/overlay/index';
|
||||
import {Platform} from '../core/platform/platform';
|
||||
import {dispatchFakeEvent} from '../core/testing/dispatch-events';
|
||||
import {dispatchFakeEvent} from '@angular/cdk/testing';
|
||||
|
||||
|
||||
const initialTooltipMessage = 'initial tooltip message';
|
||||
|
||||
@@ -9,7 +9,11 @@
|
||||
"target": "es5",
|
||||
"types": ["jasmine"],
|
||||
"experimentalDecorators": true,
|
||||
"strictNullChecks": true
|
||||
"strictNullChecks": true,
|
||||
"paths": {
|
||||
"@angular/cdk": ["../../dist/packages/cdk"],
|
||||
"@angular/cdk/testing": ["../../dist/packages/cdk/testing"]
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"**/*.spec.ts",
|
||||
|
||||
+2
-1
@@ -16,7 +16,8 @@
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@angular/material": ["./lib/public_api.ts"],
|
||||
"@angular/cdk": ["./cdk/public_api.ts"]
|
||||
"@angular/cdk": ["./cdk/public_api.ts"],
|
||||
"@angular/cdk/testing": ["./cdk/testing"]
|
||||
}
|
||||
},
|
||||
"exclude": [
|
||||
|
||||
@@ -49,6 +49,7 @@ System.config({
|
||||
// TODO(devversion): replace once the index.ts file for the Material package has been added.
|
||||
'@angular/material': 'dist/packages/material/public_api.js',
|
||||
'@angular/cdk': 'dist/packages/cdk/index.js',
|
||||
'@angular/cdk/testing': 'dist/packages/cdk/testing/index.js',
|
||||
},
|
||||
packages: {
|
||||
// Thirdparty barrels.
|
||||
|
||||
Reference in New Issue
Block a user