Skip to content

Commit ba3f250

Browse files
committed
Boot multiple apps in tests using rc5 modules.
Fix compile errors in http and style-properties examples
1 parent cbf3279 commit ba3f250

File tree

5 files changed

+78
-29
lines changed

5 files changed

+78
-29
lines changed

tests/app/main.ts

Lines changed: 67 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
// "nativescript-angular/application" import should be first in order to load some required settings (like globals and reflect-metadata)
2-
import {nativeScriptBootstrap, bootstrap} from "nativescript-angular/application";
2+
import { NativeScriptModule, platformNativeScriptDynamic } from "nativescript-angular/platform";
3+
import { NativeScriptRouterModule } from "nativescript-angular/router";
4+
import { NativeScriptFormsModule } from "nativescript-angular/forms";
35
import {AppComponent} from "./app.component";
46
import {GestureComponent} from "./snippets/gestures.component";
57
import {LayoutsComponent} from "./snippets/layouts.component";
@@ -10,9 +12,9 @@ import {StackLayout} from "ui/layouts/stack-layout";
1012

1113
import * as application from "application";
1214
import {HOOKS_LOG} from "./base.component";
13-
import {MultiPageMain, MultiPageRouterProviders} from "./multi-page-main.component";
14-
import {SinglePageMain, SinglePageRouterProviders} from "./single-page-main.component";
15-
import {provide, OpaqueToken} from "@angular/core";
15+
import {MultiPageMain, routes as multiPageRoutes} from "./multi-page-main.component";
16+
import {SinglePageMain, routes as singlePageRoutes} from "./single-page-main.component";
17+
import {provide, OpaqueToken, NgModule} from "@angular/core";
1618

1719
import {APP_ROUTER_PROVIDERS} from "./snippets/navigation/app.routes";
1820
import {PageNavigationApp} from "./snippets/navigation/page-outlet";
@@ -28,17 +30,73 @@ trace.setCategories(routerTraceCategory);
2830
trace.enable();
2931

3032
// nativeScriptBootstrap(NavigationApp, [APP_ROUTER_PROVIDERS]);
31-
// nativeScriptBootstrap(PageRouterNavigationApp, [APP_ROUTER_PROVIDERS]);
3233

3334

34-
// nativeScriptBootstrap(MultiPageMain, [NS_ROUTER_PROVIDERS]);
3535
// nativeScriptBootstrap(GestureComponent);
3636
// nativeScriptBootstrap(LayoutsComponent);
3737
// nativeScriptBootstrap(IconFontComponent);
38+
const platform = platformNativeScriptDynamic({bootInExistingPage: true});
39+
const root = new StackLayout();
40+
const rootViewProvider = provide(APP_ROOT_VIEW, { useValue: root });
41+
const singlePageHooksLog = new BehaviorSubject([]);
42+
const singlePageHooksLogProvider = provide(HOOKS_LOG, { useValue: singlePageHooksLog });
43+
const multiPageHooksLog = new BehaviorSubject([]);
44+
const multiPageHooksLogProvider = provide(HOOKS_LOG, { useValue: multiPageHooksLog });
45+
46+
@NgModule({
47+
bootstrap: [
48+
SinglePageMain
49+
],
50+
declarations: [
51+
SinglePageMain
52+
],
53+
imports: [
54+
NativeScriptModule,
55+
NativeScriptFormsModule,
56+
NativeScriptRouterModule,
57+
NativeScriptRouterModule.forRoot(singlePageRoutes),
58+
],
59+
exports: [
60+
NativeScriptModule,
61+
NativeScriptFormsModule,
62+
NativeScriptRouterModule,
63+
],
64+
providers: [
65+
rootViewProvider,
66+
singlePageHooksLogProvider,
67+
]
68+
})
69+
class SinglePageModule {}
70+
71+
@NgModule({
72+
bootstrap: [
73+
MultiPageMain
74+
],
75+
declarations: [
76+
MultiPageMain
77+
],
78+
imports: [
79+
NativeScriptModule,
80+
NativeScriptFormsModule,
81+
NativeScriptRouterModule,
82+
NativeScriptRouterModule.forRoot(multiPageRoutes),
83+
],
84+
exports: [
85+
NativeScriptModule,
86+
NativeScriptFormsModule,
87+
NativeScriptRouterModule,
88+
],
89+
providers: [
90+
rootViewProvider,
91+
multiPageHooksLogProvider,
92+
]
93+
})
94+
class MultiPageModule {}
95+
96+
3897
application.start({
3998
create: (): Page => {
4099
const page = new Page();
41-
const root = new StackLayout();
42100
page.content = root;
43101

44102
let onLoadedHandler = function(args) {
@@ -48,17 +106,9 @@ application.start({
48106

49107
//profiling.start('ng-bootstrap');
50108
console.log('BOOTSTRAPPING TEST APPS...');
51-
//bootstrap(MultiPageMain, [NS_ROUTER_PROVIDERS]);
52-
53-
const rootViewProvider = provide(APP_ROOT_VIEW, { useValue: root });
54109

55-
let singlePageHooksLog = new BehaviorSubject([]);
56-
const singlePageHooksLogProvider = provide(HOOKS_LOG, { useValue: singlePageHooksLog });
57-
bootstrap(SinglePageMain, [rootViewProvider, singlePageHooksLogProvider, SinglePageRouterProviders]);
58-
59-
let multiPageHooksLog = new BehaviorSubject([]);
60-
const multiPageHooksLogProvider = provide(HOOKS_LOG, { useValue: multiPageHooksLog });
61-
bootstrap(MultiPageMain, [rootViewProvider, multiPageHooksLogProvider, MultiPageRouterProviders]);
110+
platform.bootstrapModule(SinglePageModule);
111+
platform.bootstrapModule(MultiPageModule);
62112
}
63113

64114
page.on('loaded', onLoadedHandler);

tests/app/multi-page-main.component.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,8 @@ export class MultiPageMain {
2222
}
2323
}
2424

25-
const routes: RouterConfig = [
25+
export const routes = [
2626
{ path: "", redirectTo: "first/multi-page", terminal: true },
2727
{ path: "first/:id", component: FirstComponent },
2828
{ path: "second/:id", component: SecondComponent },
2929
];
30-
export const MultiPageRouterProviders = [
31-
nsProvideRouter(routes, { enableTracing: false })
32-
];

tests/app/single-page-main.component.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,8 @@ export class SinglePageMain {
2222
}
2323
}
2424

25-
const routes: RouterConfig = [
25+
export const routes = [
2626
{ path: "", redirectTo: "first/single-page", terminal: true },
2727
{ path: "first/:id", component: FirstComponent },
2828
{ path: "second/:id", component: SecondComponent },
2929
];
30-
export const SinglePageRouterProviders = [
31-
nsProvideRouter(routes, { enableTracing: false })
32-
];

tests/app/tests/http.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import {assert} from "./test-config";
33
import {
44
async,
55
inject,
6-
beforeEach,
7-
beforeEachProviders
86
} from '@angular/core/testing';
97
import {ReflectiveInjector} from '@angular/core';
108
import {BaseRequestOptions, ConnectionBackend, Http, HTTP_PROVIDERS, Response, ResponseOptions} from '@angular/http';

tests/app/tests/style-properties.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {Red, Lime} from "color/known-colors";
55
import {NativeScriptRenderer, NativeScriptRootRenderer} from "nativescript-angular/renderer";
66
import {NativeScriptAnimationDriver} from "nativescript-angular/animation-driver";
77
import {device} from "platform";
8+
import { ViewEncapsulation } from "@angular/core";
89
import {RenderComponentType} from '@angular/core/src/render/api';
910
import {NgView} from "nativescript-angular/view-util";
1011

@@ -15,8 +16,14 @@ describe("Setting style properties", () => {
1516
beforeEach(() => {
1617
const animationDriver = new NativeScriptAnimationDriver()
1718
const rootRenderer = new NativeScriptRootRenderer(null, device, animationDriver, null);
18-
const componentType = new RenderComponentType("id", "templateUrl", 0,
19-
null, []);
19+
const componentType = new RenderComponentType(
20+
"id",
21+
"templateUrl",
22+
0,
23+
ViewEncapsulation.None,
24+
[],
25+
{}
26+
);
2027
renderer = new NativeScriptRenderer(rootRenderer, componentType, animationDriver, null);
2128
element = <NgView><any>new TextField();
2229
});

0 commit comments

Comments
 (0)