diff --git a/src/components/loading/test/tabs/app.module.ts b/src/components/loading/test/tabs/app.module.ts
deleted file mode 100644
index 456e73bb09..0000000000
--- a/src/components/loading/test/tabs/app.module.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-import { Component, NgModule } from '@angular/core';
-import { BrowserModule } from '@angular/platform-browser';
-import { IonicApp, IonicModule, LoadingController, NavController } from '../../../..';
-
-
-@Component({
- templateUrl: 'main.html'
-})
-export class E2EPage {
- constructor(public loadingCtrl: LoadingController, public navCtrl: NavController) {}
-
- presentLoading() {
- let loading = this.loadingCtrl.create({
- spinner: 'hide',
- content: 'Loading...',
- duration: 1000
- });
-
- loading.present();
- }
-
- presentLoadingNav() {
- let loading = this.loadingCtrl.create({
- content: 'Please wait...',
- });
-
- loading.present();
-
- setTimeout(() => {
- this.navCtrl.push(Page2);
-
- setTimeout(() => {
- loading.dismiss();
- }, 1000);
- }, 1000);
- }
-
-}
-
-@Component({
- template: `
-
-
- Page 2
-
-
- Some content
- `
-})
-export class Page2 {}
-
-@Component({
- template: `
-
-
-
-
-
- `
-})
-export class TabsPage {
- root1 = E2EPage;
- root2 = Page2;
- root3 = E2EPage;
-}
-
-@Component({
- template: ''
-})
-export class E2EApp {
- root = TabsPage;
-}
-
-@NgModule({
- declarations: [
- E2EApp,
- E2EPage,
- TabsPage,
- Page2
- ],
- imports: [
- BrowserModule,
- IonicModule.forRoot(E2EApp)
- ],
- bootstrap: [IonicApp],
- entryComponents: [
- E2EApp,
- E2EPage,
- TabsPage,
- Page2
- ]
-})
-export class AppModule {}
diff --git a/src/components/loading/test/tabs/app/app.component.ts b/src/components/loading/test/tabs/app/app.component.ts
new file mode 100644
index 0000000000..1049737093
--- /dev/null
+++ b/src/components/loading/test/tabs/app/app.component.ts
@@ -0,0 +1,8 @@
+import { Component } from '@angular/core';
+
+@Component({
+ template: ''
+})
+export class E2EApp {
+ root = 'TabsPage';
+}
diff --git a/src/components/loading/test/tabs/app/app.module.ts b/src/components/loading/test/tabs/app/app.module.ts
new file mode 100644
index 0000000000..0e57783871
--- /dev/null
+++ b/src/components/loading/test/tabs/app/app.module.ts
@@ -0,0 +1,26 @@
+import { NgModule } from '@angular/core';
+import { BrowserModule } from '@angular/platform-browser';
+import { IonicApp, IonicModule } from '../../../../..';
+import { E2EApp } from './app.component';
+
+
+@NgModule({
+ declarations: [
+ E2EApp
+ ],
+ imports: [
+ BrowserModule,
+ IonicModule.forRoot(E2EApp, {}, {
+ links: [
+ { loadChildren: '../pages/main/main.module#E2EPageModule', name: 'E2EPage' },
+ { loadChildren: '../pages/page2/page2.module#Page2Module', name: 'Page2' },
+ { loadChildren: '../pages/tabs/tabs.module#TabsPageModule', name: 'TabsPage' }
+ ]
+ })
+ ],
+ bootstrap: [IonicApp],
+ entryComponents: [
+ E2EApp
+ ]
+})
+export class AppModule {}
diff --git a/src/components/loading/test/tabs/main.ts b/src/components/loading/test/tabs/app/main.ts
similarity index 100%
rename from src/components/loading/test/tabs/main.ts
rename to src/components/loading/test/tabs/app/main.ts
diff --git a/src/components/loading/test/tabs/main.html b/src/components/loading/test/tabs/pages/main/main.html
similarity index 100%
rename from src/components/loading/test/tabs/main.html
rename to src/components/loading/test/tabs/pages/main/main.html
diff --git a/src/components/loading/test/tabs/pages/main/main.module.ts b/src/components/loading/test/tabs/pages/main/main.module.ts
new file mode 100644
index 0000000000..1cc785fd59
--- /dev/null
+++ b/src/components/loading/test/tabs/pages/main/main.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { E2EPage } from './main';
+
+@NgModule({
+ declarations: [
+ E2EPage,
+ ],
+ imports: [
+ DeepLinkModule.forChild(E2EPage)
+ ],
+ entryComponents: [
+ E2EPage,
+ ]
+})
+export class E2EPageModule {}
diff --git a/src/components/loading/test/tabs/pages/main/main.ts b/src/components/loading/test/tabs/pages/main/main.ts
new file mode 100644
index 0000000000..5d8b8a6a11
--- /dev/null
+++ b/src/components/loading/test/tabs/pages/main/main.ts
@@ -0,0 +1,36 @@
+import { Component } from '@angular/core';
+import { LoadingController, NavController } from '../../../../../..';
+
+@Component({
+ templateUrl: 'main.html'
+})
+export class E2EPage {
+ constructor(public loadingCtrl: LoadingController, public navCtrl: NavController) {}
+
+ presentLoading() {
+ let loading = this.loadingCtrl.create({
+ spinner: 'hide',
+ content: 'Loading...',
+ duration: 1000
+ });
+
+ loading.present();
+ }
+
+ presentLoadingNav() {
+ let loading = this.loadingCtrl.create({
+ content: 'Please wait...',
+ });
+
+ loading.present();
+
+ setTimeout(() => {
+ this.navCtrl.push('Page2');
+
+ setTimeout(() => {
+ loading.dismiss();
+ }, 1000);
+ }, 1000);
+ }
+
+}
diff --git a/src/components/loading/test/tabs/pages/page2/page2.module.ts b/src/components/loading/test/tabs/pages/page2/page2.module.ts
new file mode 100644
index 0000000000..0454380308
--- /dev/null
+++ b/src/components/loading/test/tabs/pages/page2/page2.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { Page2 } from './page2';
+
+@NgModule({
+ declarations: [
+ Page2,
+ ],
+ imports: [
+ DeepLinkModule.forChild(Page2)
+ ],
+ entryComponents: [
+ Page2,
+ ]
+})
+export class Page2Module {}
diff --git a/src/components/loading/test/tabs/pages/page2/page2.ts b/src/components/loading/test/tabs/pages/page2/page2.ts
new file mode 100644
index 0000000000..23d24bcc75
--- /dev/null
+++ b/src/components/loading/test/tabs/pages/page2/page2.ts
@@ -0,0 +1,13 @@
+import { Component } from '@angular/core';
+
+@Component({
+ template: `
+
+
+ Page 2
+
+
+ Some content
+ `
+})
+export class Page2 {}
diff --git a/src/components/loading/test/tabs/pages/tabs/tabs.module.ts b/src/components/loading/test/tabs/pages/tabs/tabs.module.ts
new file mode 100644
index 0000000000..75e3e2ff5c
--- /dev/null
+++ b/src/components/loading/test/tabs/pages/tabs/tabs.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { DeepLinkModule } from '../../../../../..';
+
+import { TabsPage } from './tabs';
+
+@NgModule({
+ declarations: [
+ TabsPage,
+ ],
+ imports: [
+ DeepLinkModule.forChild(TabsPage)
+ ],
+ entryComponents: [
+ TabsPage,
+ ]
+})
+export class TabsPageModule {}
diff --git a/src/components/loading/test/tabs/pages/tabs/tabs.ts b/src/components/loading/test/tabs/pages/tabs/tabs.ts
new file mode 100644
index 0000000000..989b1e7cb9
--- /dev/null
+++ b/src/components/loading/test/tabs/pages/tabs/tabs.ts
@@ -0,0 +1,16 @@
+import { Component } from '@angular/core';
+
+@Component({
+ template: `
+
+
+
+
+
+ `
+})
+export class TabsPage {
+ root1 = 'E2EPage';
+ root2 = 'Page2';
+ root3 = 'E2EPage';
+}