From 714759100c2a48fe472845ff34050eaac1ce7727 Mon Sep 17 00:00:00 2001
From: Di Peng
Date: Fri, 5 Aug 2011 15:01:58 -0700
Subject: refactor(widgets): remove input[button, submit, reset, image] and
 button windgets
These widgets are useless and only trigger extra $updateViews.
The only reason we had them was to support ng:change on these widgets,
but since there are no bindings present in these cases it doesn't make
sense to support ng:change here. It's likely just a leftover from
getangular.com
Breaking change: ng:change for input[button], input[submit], input[reset], input[image]
and button widgets is not supported any more
---
 src/widgets.js      |  7 +------
 test/widgetsSpec.js | 20 --------------------
 2 files changed, 1 insertion(+), 26 deletions(-)
diff --git a/src/widgets.js b/src/widgets.js
index 04d64eee..8a97f61b 100644
--- a/src/widgets.js
+++ b/src/widgets.js
@@ -447,16 +447,11 @@ function noopAccessor() { return { get: noop, set: noop }; }
  *
  */
 var textWidget = inputWidget('keydown change', modelAccessor, valueAccessor, initWidgetValue(), true),
-    buttonWidget = inputWidget('click', noopAccessor, noopAccessor, noop),
     INPUT_TYPE = {
       'text':            textWidget,
       'textarea':        textWidget,
       'hidden':          textWidget,
       'password':        textWidget,
-      'button':          buttonWidget,
-      'submit':          buttonWidget,
-      'reset':           buttonWidget,
-      'image':           buttonWidget,
       'checkbox':        inputWidget('click', modelFormattedAccessor, checkedAccessor, initWidgetValue(false)),
       'radio':           inputWidget('click', modelFormattedAccessor, radioAccessor, radioInit),
       'select-one':      inputWidget('change', modelAccessor, valueAccessor, initWidgetValue(null)),
@@ -567,7 +562,7 @@ function inputWidgetSelector(element){
 
 angularWidget('input', inputWidgetSelector);
 angularWidget('textarea', inputWidgetSelector);
-angularWidget('button', inputWidgetSelector);
+
 
 /**
  * @workInProgress
diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js
index 225f0a1f..2f0ab6a3 100644
--- a/test/widgetsSpec.js
+++ b/test/widgetsSpec.js
@@ -293,18 +293,6 @@ describe("widget", function(){
       expect(scope.$get('name')).toEqual('Kai');
     });
 
-    it('should call ng:change on button click', function(){
-      compile('');
-      browserTrigger(element);
-      expect(scope.$get('clicked')).toEqual(true);
-    });
-
-    it('should support button alias', function(){
-      compile('');
-      browserTrigger(element);
-      expect(scope.$get('clicked')).toEqual(true);
-      expect(scope.$element.text()).toEqual("Click Me.");
-    });
 
     describe('radio', function(){
 
@@ -417,14 +405,6 @@ describe("widget", function(){
       expect(scope.$service('$log').error.logs.shift()[0]).
         toMatchError(/Syntax Error: Token '''' is an unexpected token/);
     });
-
-    it('should report error on ng:change exception', function(){
-      compile('');
-      browserTrigger(element);
-      expect(element.hasClass('ng-exception')).toBeTruthy();
-      expect(scope.$service('$log').error.logs.shift()[0]).
-        toMatchError(/Syntax Error: Token '=' implies assignment but \[a-2\] can not be assigned to/);
-    });
   });
 
   describe('ng:switch', function(){
-- 
cgit v1.2.3