From b5c7ab2e989975055658c38baffeeab7f0d3e8f6 Mon Sep 17 00:00:00 2001 From: Manuel Mtz-Almeida Date: Tue, 28 Mar 2017 21:21:37 +0200 Subject: [PATCH] misc changes --- src/components/datetime/test/datetime.spec.ts | 2 ++ src/util/base-input.ts | 10 +++++++--- src/util/input-tester.ts | 4 ++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/components/datetime/test/datetime.spec.ts b/src/components/datetime/test/datetime.spec.ts index b56c77b4ec..3bfaf241f2 100644 --- a/src/components/datetime/test/datetime.spec.ts +++ b/src/components/datetime/test/datetime.spec.ts @@ -8,6 +8,8 @@ import { mockApp, mockConfig, mockElementRef, mockRenderer } from '../../../util describe('DateTime', () => { + // TODO + // pass commonInputTest() describe('validate', () => { diff --git a/src/util/base-input.ts b/src/util/base-input.ts index f1247ed2bf..55e8d5e59f 100644 --- a/src/util/base-input.ts +++ b/src/util/base-input.ts @@ -1,4 +1,4 @@ -import { ElementRef, EventEmitter, Input, Output, Renderer } from '@angular/core'; +import { NgZone, ElementRef, EventEmitter, Input, Output, Renderer } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { NgControl } from '@angular/forms'; @@ -174,10 +174,12 @@ export class BaseInput extends Ion implements CommonInput { /** * @hidden */ - _setFocus() { + _inputFireFocus() { if (this._isFocus) { return; } + assert(NgZone.isInAngularZone(), 'callback should be zoned'); + this._isFocus = true; this.ionFocus.emit(this); this._inputUpdated(); @@ -186,10 +188,12 @@ export class BaseInput extends Ion implements CommonInput { /** * @hidden */ - _setBlur() { + _inputFireBlur() { if (!this._isFocus) { return; } + assert(NgZone.isInAngularZone(), 'callback should be zoned'); + this._isFocus = false; this.ionBlur.emit(this); this._inputUpdated(); diff --git a/src/util/input-tester.ts b/src/util/input-tester.ts index 94b41c3d2a..0ae6927937 100644 --- a/src/util/input-tester.ts +++ b/src/util/input-tester.ts @@ -5,9 +5,9 @@ import { assert } from './util'; const lorem_ipsum = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi maximus nisl lobortis interdum condimentum. Cras volutpat, massa quis vehicula eleifend, turpis mauris sodales erat, ut varius ligula ipsum et turpis. Aliquam erat volutpat. Maecenas sodales pellentesque auctor. Suspendisse faucibus a erat sit amet pretium. Vestibulum nec tempus tellus. Mauris fringilla faucibus dui sed vestibulum. Curabitur porttitor consectetur nisl. Nulla porta, neque sed congue tempus, erat nunc rutrum diam, eu elementum sapien leo quis eros. Donec non convallis felis. Nam eu pharetra sapien.'; export const TEXT_CORPUS: any = [ + ['hola', 'hola'], ['', ''], [' ', ' '], - ['hola', 'hola'], ['adiós', 'adiós'], ['hola y adiós', 'hola y adiós'], [lorem_ipsum, lorem_ipsum] @@ -142,7 +142,7 @@ function testWriteValue(input: BaseInput, config: TestConfig, isInit: bool } assertEqual(OnChangeCalled, 1, 'loop: OnChangeCalled was not called'); assertEqual(OnTouchedCalled, 1, 'loop: OnTouchedCalled was not called'); - + OnTouchedCalled = OnChangeCalled = ionChangeCalled = 0; console.log(test[0], input.value);