mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
265 lines
8.3 KiB
TypeScript
265 lines
8.3 KiB
TypeScript
// import { Button } from '../button';
|
|
// import { Config } from '../../../config/config';
|
|
// import { mockConfig, mockElementRef, mockRenderer } from '../../../util/mock-providers';
|
|
|
|
|
|
// describe('button', () => {
|
|
|
|
// it('should set a different button role', () => {
|
|
// let b = mockButton();
|
|
// b.outline = true;
|
|
// b.small = true;
|
|
// b.full = true;
|
|
// b.color = 'primary';
|
|
// b.setRole('bar-button');
|
|
// b._assignCss(true);
|
|
|
|
// expect(hasClass(b, 'bar-button-outline')).toEqual(true);
|
|
// expect(hasClass(b, 'bar-button-small')).toEqual(true);
|
|
// expect(hasClass(b, 'bar-button-full')).toEqual(true);
|
|
// expect(hasClass(b, 'bar-button-outline-ios-primary')).toEqual(true);
|
|
|
|
// expect(hasClass(b, 'button-outline')).toEqual(false);
|
|
// expect(hasClass(b, 'button-small')).toEqual(false);
|
|
// expect(hasClass(b, 'button-full')).toEqual(false);
|
|
// expect(hasClass(b, 'button-primary')).toEqual(false);
|
|
// });
|
|
|
|
// it('should remove button color attributes and add different role', () => {
|
|
// let b = mockButton();
|
|
// b.outline = true;
|
|
// b.small = true;
|
|
// b.full = true;
|
|
// b.color = 'primary';
|
|
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-outline')).toEqual(true);
|
|
// expect(hasClass(b, 'button-small')).toEqual(true);
|
|
// expect(hasClass(b, 'button-full')).toEqual(true);
|
|
// expect(hasClass(b, 'button-outline-ios-primary')).toEqual(true);
|
|
|
|
// b._assignCss(false);
|
|
// expect(hasClass(b, 'button-outline')).toEqual(false);
|
|
// expect(hasClass(b, 'button-small')).toEqual(false);
|
|
// expect(hasClass(b, 'button-full')).toEqual(false);
|
|
// expect(hasClass(b, 'button-outline-ios-primary')).toEqual(false);
|
|
// });
|
|
|
|
// it('should read button color attributes with styles', () => {
|
|
// let b = mockButton();
|
|
// b.outline = true;
|
|
// b.small = true;
|
|
// b.full = true;
|
|
// b.color = 'primary';
|
|
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button')).toEqual(true);
|
|
// expect(hasClass(b, 'button-outline')).toEqual(true);
|
|
// expect(hasClass(b, 'button-small')).toEqual(true);
|
|
// expect(hasClass(b, 'button-full')).toEqual(true);
|
|
// expect(hasClass(b, 'button-outline-ios-primary')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.clear = true;
|
|
// b.color = 'primary';
|
|
// b.color = 'secondary';
|
|
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button')).toEqual(true);
|
|
// expect(hasClass(b, 'button-clear')).toEqual(true);
|
|
// expect(hasClass(b, 'button-clear-ios-primary')).toEqual(false);
|
|
// expect(hasClass(b, 'button-clear-ios-secondary')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.solid = true;
|
|
// b.color = 'primary';
|
|
// b.color = 'secondary';
|
|
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button')).toEqual(true);
|
|
// expect(hasClass(b, 'button-solid')).toEqual(true);
|
|
// expect(hasClass(b, 'button-ios-primary')).toEqual(false);
|
|
// expect(hasClass(b, 'button-ios-secondary')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.solid = true;
|
|
// b.color = 'primary';
|
|
// b.color = 'secondary';
|
|
|
|
// b.setRole('bar-button');
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'bar-button-solid')).toEqual(true);
|
|
// expect(hasClass(b, 'bar-button-solid-ios-primary')).toEqual(false);
|
|
// expect(hasClass(b, 'bar-button-solid-ios-secondary')).toEqual(true);
|
|
// });
|
|
|
|
// it('should auto add the default style', () => {
|
|
// let b = mockButton();
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button')).toEqual(true);
|
|
// expect(hasClass(b, 'button-default')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.clear = true;
|
|
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button')).toEqual(true);
|
|
// expect(hasClass(b, 'button-default')).toEqual(false);
|
|
// expect(hasClass(b, 'button-clear')).toEqual(true);
|
|
// });
|
|
|
|
// it('should read button color attributes', () => {
|
|
// let b = mockButton();
|
|
// b.color = 'primary';
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-ios-primary')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.color = 'primary';
|
|
// b.color = 'secondary';
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-ios-primary')).toEqual(false);
|
|
// expect(hasClass(b, 'button-ios-secondary')).toEqual(true);
|
|
// });
|
|
|
|
// it('should read button style attributes', () => {
|
|
// let b = mockButton();
|
|
// b.clear = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-clear')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.outline = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-outline')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.solid = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-solid')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.clear = true;
|
|
// b.outline = true;
|
|
// b.small = true;
|
|
// b.full = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-clear')).toEqual(false);
|
|
// expect(hasClass(b, 'button-outline')).toEqual(true);
|
|
// expect(hasClass(b, 'button-small')).toEqual(true);
|
|
// expect(hasClass(b, 'button-full')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.outline = true;
|
|
// b.setRole('bar-button');
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'bar-button-outline')).toEqual(true);
|
|
// });
|
|
|
|
// it('should read button shape attributes', () => {
|
|
// let b = mockButton();
|
|
// b.round = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-round')).toEqual(true);
|
|
// });
|
|
|
|
// it('should read button display attributes', () => {
|
|
// let b = mockButton();
|
|
// b.block = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-block')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.full = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-full')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.block = true;
|
|
// b.full = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-block')).toEqual(false);
|
|
// expect(hasClass(b, 'button-full')).toEqual(true);
|
|
// });
|
|
|
|
// it('should read button size attributes', () => {
|
|
// let b = mockButton();
|
|
// b.small = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-small')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.large = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-large')).toEqual(true);
|
|
|
|
// b = mockButton();
|
|
// b.large = true;
|
|
// b.small = true;
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button-large')).toEqual(false);
|
|
// expect(hasClass(b, 'button-small')).toEqual(true);
|
|
// });
|
|
|
|
// it('should add button css class', () => {
|
|
// let b = mockButton();
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'button')).toEqual(true);
|
|
// });
|
|
|
|
// it('should add disable-hover css class', () => {
|
|
// let config = mockConfig({
|
|
// hoverCSS: false
|
|
// });
|
|
// let b = mockButton(config);
|
|
|
|
// expect(hasClass(b, 'disable-hover')).toEqual(true);
|
|
// });
|
|
|
|
// it('should set defaults', () => {
|
|
// let b = mockButton();
|
|
// expect(b._role).toEqual('button');
|
|
// expect(b._size).toEqual(undefined);
|
|
// expect(b._color).toEqual(undefined);
|
|
// expect(b._style).toEqual('default');
|
|
// expect(b._display).toEqual(undefined);
|
|
// });
|
|
|
|
// it('should set different modes', () => {
|
|
// let b = mockButton();
|
|
|
|
// b._assignCss(true);
|
|
// expect(b._mode).toEqual('ios');
|
|
// expect(hasClass(b, 'button')).toEqual(true);
|
|
// expect(hasClass(b, 'button-ios')).toEqual(true);
|
|
|
|
// b.mode = 'wp';
|
|
// expect(b._mode).toEqual('wp');
|
|
// expect(hasClass(b, 'button-wp')).toEqual(true);
|
|
|
|
// b.mode = 'blah';
|
|
// expect(b._mode).toEqual('blah');
|
|
// expect(hasClass(b, 'button-blah')).toEqual(true);
|
|
// });
|
|
|
|
// it('should add alert-button css class', () => {
|
|
// let b = mockButton(null, 'alert-button');
|
|
// b._assignCss(true);
|
|
// expect(hasClass(b, 'alert-button')).toEqual(true);
|
|
// });
|
|
|
|
// });
|
|
|
|
// function mockButton(config?: Config, ionButton?: string) {
|
|
// config = config || mockConfig();
|
|
// ionButton = ionButton || '';
|
|
// let b = new Button(ionButton, config, mockElementRef(), mockRenderer());
|
|
// b._init = true;
|
|
// b.mode = 'ios';
|
|
// return b;
|
|
// }
|
|
|
|
// function hasClass(button: any, className: string) {
|
|
// return button._elementRef.nativeElement.classList.contains(className);
|
|
// }
|