diff --git a/packages/core/src/components/modal/test/basic/index.html b/packages/core/src/components/modal/test/basic/index.html
index 417ff0a2d2..0d3e5525b6 100644
--- a/packages/core/src/components/modal/test/basic/index.html
+++ b/packages/core/src/components/modal/test/basic/index.html
@@ -38,9 +38,16 @@
// create component to open
const element = document.createElement('ion-page');
element.innerHTML = `
-
- Close the modal
-
+
+
+ Super Modal
+
+
+
+ Content of doom
+ Here's some more content
+ Dismiss Modal
+
`;
// listen for close event
diff --git a/packages/core/src/components/modal/test/host-elements/index.html b/packages/core/src/components/modal/test/host-elements/index.html
new file mode 100644
index 0000000000..973f09ed1d
--- /dev/null
+++ b/packages/core/src/components/modal/test/host-elements/index.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+ Modal - Basic
+
+
+
+
+
+
+
+
+
+ Modal - Basic
+
+
+
+
+
+
+ Present modal
+
+
+
+
+
+
+
+
diff --git a/packages/core/src/components/nav/test/basic/index.html b/packages/core/src/components/nav/test/basic/index.html
index 9769efa160..634ae35350 100644
--- a/packages/core/src/components/nav/test/basic/index.html
+++ b/packages/core/src/components/nav/test/basic/index.html
@@ -30,7 +30,7 @@
async function loadFirstPage() {
const nav = document.querySelector('ion-nav');
await nav.componentOnReady();
- const firstPage = document.createElement('div');
+ const firstPage = document.createElement('ion-page');
firstPage.classList.add('first-page');
firstPage.innerHTML = `
@@ -54,7 +54,7 @@
}
async function goToPageTwo(nav) {
- const secondPage = document.createElement('div');
+ const secondPage = document.createElement('ion-page');
secondPage.classList.add('second-page');
secondPage.innerHTML = `
@@ -84,7 +84,7 @@
}
async function goToPageThree(nav) {
- const thirdPage = document.createElement('div');
+ const thirdPage = document.createElement('ion-page');
thirdPage.classList.add('third-page');
thirdPage.innerHTML = `
diff --git a/packages/core/src/components/nav/test/host-elements/e2e.js b/packages/core/src/components/nav/test/host-elements/e2e.js
new file mode 100644
index 0000000000..b58f4f1110
--- /dev/null
+++ b/packages/core/src/components/nav/test/host-elements/e2e.js
@@ -0,0 +1,52 @@
+'use strict';
+
+const { register, Page, platforms } = require('../../../../../scripts/e2e');
+const { getElement, waitForTransition } = require('../../../../../scripts/e2e/utils');
+
+class E2ETestPage extends Page {
+ constructor(driver, platform) {
+ super(driver, `http://localhost:3333/src/components/nav/test/host-elements?ionicplatform=${platform}`);
+ }
+}
+
+platforms.forEach(platform => {
+ describe('nav/host-elements', () => {
+
+ register('should init', driver => {
+ const page = new E2ETestPage(driver, platform);
+ return page.navigate();
+ });
+
+ register('should go to page-one, page-two, page-three, then back to page-two, page-one', async (driver, testContext) => {
+
+ testContext.timeout(10000);
+ const page = new E2ETestPage(driver, platform);
+
+ // go to page two
+ const pageOneNextButtonSelector = 'page-one ion-button.next.hydrated';
+ const pageOneNextButton = await getElement(driver, pageOneNextButtonSelector);
+ pageOneNextButton.click();
+ await waitForTransition(600);
+
+ // go to page three
+ const pageTwoNextButtonSelector = 'page-two ion-button.next.hydrated';
+ const pageTwoNextButton = await getElement(driver, pageTwoNextButtonSelector);
+ pageTwoNextButton.click();
+ await waitForTransition(600);
+
+ // go back to page two
+ const pageThreeBackButtonSelector = 'page-three ion-button.previous.hydrated';
+ const pageThreeBackButton = await getElement(driver, pageThreeBackButtonSelector);
+ pageThreeBackButton.click();
+ await waitForTransition(600);
+
+ // go back to page two
+ const pageTwoBackButtonSelector = 'page-two ion-button.previous.hydrated';
+ const pageTwoBackButton = await getElement(driver, pageTwoBackButtonSelector);
+ pageTwoBackButton.click();
+ await waitForTransition(600);
+
+ // we're back on page one now
+ });
+ });
+});
diff --git a/packages/core/src/components/nav/test/host-elements/index.html b/packages/core/src/components/nav/test/host-elements/index.html
new file mode 100644
index 0000000000..0b0a6078b8
--- /dev/null
+++ b/packages/core/src/components/nav/test/host-elements/index.html
@@ -0,0 +1,94 @@
+
+
+
+
+ Nav
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/core/src/utils/dom-framework-delegate.ts b/packages/core/src/utils/dom-framework-delegate.ts
index b15c2c6d02..b9e54c06d9 100644
--- a/packages/core/src/utils/dom-framework-delegate.ts
+++ b/packages/core/src/utils/dom-framework-delegate.ts
@@ -1,5 +1,5 @@
import { FrameworkDelegate, FrameworkMountingData, } from '../index';
-import { isElementModal, isElementNav, isString } from './helpers';
+import { isString } from './helpers';
export class DomFrameworkDelegate implements FrameworkDelegate {
@@ -14,11 +14,10 @@ export class DomFrameworkDelegate implements FrameworkDelegate {
}
}
- const elementToAppend = shouldWrapInIonPage(parentElement) ? createIonPageAndAppendUserElement(usersElement) : usersElement;
- parentElement.appendChild(elementToAppend);
+ parentElement.appendChild(usersElement);
resolve({
- element: elementToAppend
+ element: usersElement
});
});
}
@@ -30,13 +29,3 @@ export class DomFrameworkDelegate implements FrameworkDelegate {
});
}
}
-
-export function shouldWrapInIonPage(element: HTMLElement) {
- return isElementModal(element) || isElementNav(element);
-}
-
-export function createIonPageAndAppendUserElement(userElement: HTMLElement) {
- const wrappingElement = document.createElement('ion-page');
- wrappingElement.appendChild(userElement);
- return wrappingElement;
-}
diff --git a/packages/core/src/utils/helpers.ts b/packages/core/src/utils/helpers.ts
index 3ee36eea0b..80f57160ee 100644
--- a/packages/core/src/utils/helpers.ts
+++ b/packages/core/src/utils/helpers.ts
@@ -24,14 +24,6 @@ export function isStringOrNumber(v: any): v is (string | number) { return isStri
export function isBlank(val: any): val is null { return val === undefined || val === null; }
-export function isElementNav(element: HTMLElement) {
- return element.tagName.toUpperCase() === 'ION-NAV';
-}
-
-export function isElementModal(element: HTMLElement) {
- return element.classList.contains('modal-wrapper');
-}
-
/** @hidden */
export function isCheckedProperty(a: any, b: any): boolean {
if (a === undefined || a === null || a === '') {