X Tutup
Skip to content

Commit b5e6319

Browse files
committed
feat(core): add more debug APIs to inspect the application form a browser
Adds `window.getAllAngularRootElements()` Adds `ng.coreTokens.ApplicationRef` Adds `ng.coreTokens.Ngzone` Closes angular#7045 Closes angular#7161
1 parent c9a3df9 commit b5e6319

File tree

6 files changed

+11
-1
lines changed

6 files changed

+11
-1
lines changed

modules/angular2/src/core/testability/testability.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ export class TestabilityRegistry {
118118

119119
getAllTestabilities(): Testability[] { return MapWrapper.values(this._applications); }
120120

121+
getAllRootElements(): any[] { return MapWrapper.keys(this._applications); }
122+
121123
findTestabilityInTree(elem: Node, findInAncestors: boolean = true): Testability {
122124
return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);
123125
}

modules/angular2/src/facade/lang.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export interface BrowserNodeGlobal {
2424
Zone: ZoneLikeConstructor;
2525
getAngularTestability: Function;
2626
getAllAngularTestabilities: Function;
27+
getAllAngularRootElements: Function;
2728
frameworkStabilizers: Array<Function>;
2829
setTimeout: Function;
2930
clearTimeout: Function;

modules/angular2/src/platform/browser/testability.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ export class BrowserGetTestability implements GetTestability {
4949
return testabilities.map((testability) => { return new PublicTestability(testability); });
5050
};
5151

52+
global.getAllAngularRootElements = () => registry.getAllRootElements();
53+
5254
var whenAllStable = (callback) => {
5355
var testabilities = global.getAllAngularTestabilities();
5456
var count = testabilities.length;

modules/angular2/src/platform/dom/debug/ng_probe.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ import {Injectable, provide, Provider} from 'angular2/src/core/di';
33
import {DOM} from 'angular2/src/platform/dom/dom_adapter';
44
import {DebugNode, getDebugNode} from 'angular2/src/core/debug/debug_node';
55
import {DomRootRenderer} from 'angular2/src/platform/dom/dom_renderer';
6-
import {RootRenderer} from 'angular2/core';
6+
import {RootRenderer, NgZone, ApplicationRef} from 'angular2/core';
77
import {DebugDomRootRenderer} from 'angular2/src/core/debug/debug_renderer';
88

9+
const CORE_TOKENS = CONST_EXPR({'ApplicationRef': ApplicationRef, 'NgZone': NgZone});
910

1011
const INSPECT_GLOBAL_NAME = 'ng.probe';
12+
const CORE_TOKENS_GLOBAL_NAME = 'ng.coreTokens';
1113

1214
/**
1315
* Returns a {@link DebugElement} for the given native DOM element, or
@@ -27,6 +29,7 @@ function _createConditionalRootRenderer(rootRenderer) {
2729

2830
function _createRootRenderer(rootRenderer) {
2931
DOM.setGlobalVar(INSPECT_GLOBAL_NAME, inspectNativeElement);
32+
DOM.setGlobalVar(CORE_TOKENS_GLOBAL_NAME, CORE_TOKENS);
3033
return new DebugDomRootRenderer(rootRenderer);
3134
}
3235

modules/angular2/test/public_api_spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1308,6 +1308,7 @@ var NG_CORE = [
13081308
'TestabilityRegistry',
13091309
'TestabilityRegistry.findTestabilityInTree()',
13101310
'TestabilityRegistry.getAllTestabilities()',
1311+
'TestabilityRegistry.getAllRootElements()',
13111312
'TestabilityRegistry.getTestability()',
13121313
'TestabilityRegistry.registerApplication()',
13131314
'GetTestability:dart',

tools/public_api_guard/public_api_spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ const CORE = [
440440
'TestabilityRegistry.constructor()',
441441
'TestabilityRegistry.findTestabilityInTree(elem:Node, findInAncestors:boolean):Testability',
442442
'TestabilityRegistry.getAllTestabilities():Testability[]',
443+
'TestabilityRegistry.getAllRootElements():any[]',
443444
'TestabilityRegistry.getTestability(elem:any):Testability',
444445
'TestabilityRegistry.registerApplication(token:any, testability:Testability):any',
445446
'TrackByFn',

0 commit comments

Comments
 (0)
X Tutup