diff --git a/e2e/components/radio/radio.e2e.ts b/e2e/components/radio/radio.e2e.ts new file mode 100644 index 00000000000..7fccd196a68 --- /dev/null +++ b/e2e/components/radio/radio.e2e.ts @@ -0,0 +1,51 @@ +describe('radio', function () { + + describe('disabling behavior', function () { + beforeEach(function() { + browser.get('/radio'); + }); + + it('should be checked when clicked', function () { + element(by.id('water')).click(); + element(by.id('water')).getAttribute('class').then((value: string) => { + expect(value).toContain('md-radio-checked'); + }); + element(by.css('input[id=water-input]')).getAttribute('checked').then((value: string) => { + expect(value).toBeTruthy(); + }); + element(by.css('input[id=leaf-input]')).getAttribute('checked').then((value: string) => { + expect(value).toBeFalsy(); + }); + + element(by.id('leaf')).click(); + element(by.id('leaf')).getAttribute('class').then((value: string) => { + expect(value).toContain('md-radio-checked'); + }); + element(by.css('input[id=leaf-input]')).getAttribute('checked').then((value: string) => { + expect(value).toBeTruthy(); + }); + element(by.css('input[id=water-input]')).getAttribute('checked').then((value: string) => { + expect(value).toBeFalsy(); + }); + }); + + it('should be disabled when disable the radio group', function () { + element(by.id('toggle-disable')).click(); + element(by.id('water')).click(); + element(by.id('water')).getAttribute('class').then((value: string) => { + expect(value).toContain('md-radio-disabled'); + }); + element(by.css('input[id=water-input]')).getAttribute('disabled').then((value: string) => { + expect(value).toBeTruthy(); + }); + + element(by.id('leaf')).click(); + element(by.id('leaf')).getAttribute('class').then((value: string) => { + expect(value).toContain('md-radio-disabled'); + }); + element(by.css('input[id=leaf-input]')).getAttribute('disabled').then((value: string) => { + expect(value).toBeTruthy(); + }); + }); + }); +}); diff --git a/src/e2e-app/e2e-app-module.ts b/src/e2e-app/e2e-app-module.ts index dc60972c9b8..d73bf9465f7 100644 --- a/src/e2e-app/e2e-app-module.ts +++ b/src/e2e-app/e2e-app-module.ts @@ -5,6 +5,7 @@ import {E2EApp, Home} from './e2e-app/e2e-app'; import {IconE2E} from './icon/icon-e2e'; import {ButtonE2E} from './button/button-e2e'; import {MenuE2E} from './menu/menu-e2e'; +import {SimpleRadioButtons} from './radio/radio-e2e'; import {BasicTabs} from './tabs/tabs-e2e'; import {MaterialModule} from '@angular/material'; import {E2E_APP_ROUTES} from './e2e-app/routes'; @@ -22,6 +23,7 @@ import {E2E_APP_ROUTES} from './e2e-app/routes'; ButtonE2E, MenuE2E, BasicTabs, + SimpleRadioButtons, Home, ], bootstrap: [E2EApp], diff --git a/src/e2e-app/e2e-app/e2e-app.html b/src/e2e-app/e2e-app/e2e-app.html index 8afb09392e2..352774fe7a2 100644 --- a/src/e2e-app/e2e-app/e2e-app.html +++ b/src/e2e-app/e2e-app/e2e-app.html @@ -1,6 +1,7 @@ Button Icon Menu +Radios Tabs diff --git a/src/e2e-app/e2e-app/routes.ts b/src/e2e-app/e2e-app/routes.ts index 78f805ea90d..938eb8ca936 100644 --- a/src/e2e-app/e2e-app/routes.ts +++ b/src/e2e-app/e2e-app/routes.ts @@ -4,11 +4,13 @@ import {ButtonE2E} from '../button/button-e2e'; import {BasicTabs} from '../tabs/tabs-e2e'; import {IconE2E} from '../icon/icon-e2e'; import {MenuE2E} from '../menu/menu-e2e'; +import {SimpleRadioButtons} from '../radio/radio-e2e'; export const E2E_APP_ROUTES: Routes = [ {path: '', component: Home}, {path: 'button', component: ButtonE2E}, {path: 'menu', component: MenuE2E}, {path: 'icon', component: IconE2E}, + {path: 'radio', component: SimpleRadioButtons}, {path: 'tabs', component: BasicTabs} ]; diff --git a/src/e2e-app/radio/radio-e2e.html b/src/e2e-app/radio/radio-e2e.html new file mode 100644 index 00000000000..83d672df16c --- /dev/null +++ b/src/e2e-app/radio/radio-e2e.html @@ -0,0 +1,10 @@ +
+ + Charmander + Squirtle + Bulbasaur + + +
diff --git a/src/e2e-app/radio/radio-e2e.ts b/src/e2e-app/radio/radio-e2e.ts new file mode 100644 index 00000000000..5df27b942fc --- /dev/null +++ b/src/e2e-app/radio/radio-e2e.ts @@ -0,0 +1,10 @@ +import {Component} from '@angular/core'; + +@Component({ + moduleId: module.id, + selector: 'radio-e2e', + templateUrl: 'radio-e2e.html', +}) +export class SimpleRadioButtons { + isGroupDisabled: boolean = false; +}