diff --git a/src/components/input/test/basic-form/app/app.component.ts b/src/components/input/test/basic-form/app/app.component.ts
new file mode 100644
index 0000000000..dcf2f9e7e7
--- /dev/null
+++ b/src/components/input/test/basic-form/app/app.component.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core';
+
+import { RootPage } from '../pages/root-page/root-page';
+
+@Component({
+ template: ''
+})
+export class AppComponent {
+ root = RootPage;
+}
diff --git a/src/components/input/test/basic-form/app/app.module.ts b/src/components/input/test/basic-form/app/app.module.ts
new file mode 100644
index 0000000000..7f76975a26
--- /dev/null
+++ b/src/components/input/test/basic-form/app/app.module.ts
@@ -0,0 +1,19 @@
+import { NgModule } from '@angular/core';
+import { BrowserModule } from '@angular/platform-browser';
+import { IonicApp, IonicModule } from '../../../../..';
+
+import { AppComponent } from './app.component';
+import { RootPageModule } from '../pages/root-page/root-page.module';
+
+@NgModule({
+ declarations: [
+ AppComponent
+ ],
+ imports: [
+ BrowserModule,
+ IonicModule.forRoot(AppComponent),
+ RootPageModule
+ ],
+ bootstrap: [IonicApp]
+})
+export class AppModule {}
diff --git a/src/components/input/test/basic-form/app/main.ts b/src/components/input/test/basic-form/app/main.ts
new file mode 100644
index 0000000000..6af7a5b2ae
--- /dev/null
+++ b/src/components/input/test/basic-form/app/main.ts
@@ -0,0 +1,5 @@
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+
+import { AppModule } from './app.module';
+
+platformBrowserDynamic().bootstrapModule(AppModule);
diff --git a/src/components/input/test/basic-form/pages/root-page/root-page.html b/src/components/input/test/basic-form/pages/root-page/root-page.html
new file mode 100644
index 0000000000..157c10d7be
--- /dev/null
+++ b/src/components/input/test/basic-form/pages/root-page/root-page.html
@@ -0,0 +1,59 @@
+
+
+ Basic Form
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/input/test/basic-form/pages/root-page/root-page.module.ts b/src/components/input/test/basic-form/pages/root-page/root-page.module.ts
new file mode 100644
index 0000000000..85fba79181
--- /dev/null
+++ b/src/components/input/test/basic-form/pages/root-page/root-page.module.ts
@@ -0,0 +1,14 @@
+import { NgModule } from '@angular/core';
+import { IonicPageModule } from '../../../../../..';
+
+import { RootPage } from './root-page';
+
+@NgModule({
+ declarations: [
+ RootPage,
+ ],
+ imports: [
+ IonicPageModule.forChild(RootPage)
+ ]
+})
+export class RootPageModule {}
diff --git a/src/components/input/test/basic-form/pages/root-page/root-page.ts b/src/components/input/test/basic-form/pages/root-page/root-page.ts
new file mode 100644
index 0000000000..87356e41d7
--- /dev/null
+++ b/src/components/input/test/basic-form/pages/root-page/root-page.ts
@@ -0,0 +1,22 @@
+import { Component } from '@angular/core';
+
+@Component({
+ templateUrl: 'root-page.html'
+})
+export class RootPage {
+ myParam = '';
+ minValue = 8;
+ maxValue = 12;
+ stepValue = 2;
+
+ myValues = {
+ value1: 'Dynamic Input',
+ value2: 'Dynamic Textarea'
+ };
+
+ toggleValues() {
+ this.minValue === 8 ? this.minValue = 4 : this.minValue = 8;
+ this.maxValue === 12 ? this.maxValue = 20 : this.maxValue = 12;
+ this.stepValue === 2 ? this.stepValue = 4 : this.stepValue = 2;
+ }
+}