From 1bdcf72e456c74256b14f98b26e969b9de637614 Mon Sep 17 00:00:00 2001
From: Misko Hevery
Date: Thu, 13 May 2010 16:40:41 -0700
Subject: put formatters back.
---
 test/widgetsSpec.js | 64 ++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 46 insertions(+), 18 deletions(-)
(limited to 'test/widgetsSpec.js')
diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js
index ecea6223..17120682 100644
--- a/test/widgetsSpec.js
+++ b/test/widgetsSpec.js
@@ -56,14 +56,6 @@ describe("widget", function(){
           expect(scope.$get('list')).toEqual(['1', '2', '3']);
         });
 
-        it("should format booleans", function(){
-          compile('', function(){
-            scope.name = false;
-          });
-          expect(scope.name).toEqual(false);
-          expect(scope.$element[0].checked).toEqual(false);
-        });
-
         it("should come up blank if null", function(){
           compile('', function(){
             scope.age = null;
@@ -123,6 +115,52 @@ describe("widget", function(){
 
       });
 
+      describe("checkbox", function(){
+        it("should format booleans", function(){
+          compile('', function(){
+            scope.name = false;
+          });
+          expect(scope.name).toEqual(false);
+          expect(scope.$element[0].checked).toEqual(false);
+        });
+
+        it('should support type="checkbox"', function(){
+          compile('');
+          expect(scope.checkbox).toEqual(true);
+          click(element);
+          expect(scope.checkbox).toEqual(false);
+          expect(scope.action).toEqual(true);
+          click(element);
+          expect(scope.checkbox).toEqual(true);
+        });
+
+        it("should use ng-format", function(){
+          angularFormatter('testFormat', {
+            parse: function(value){
+              return value ? "Worked" : "Failed";
+            },
+
+            format: function(value) {
+              if (value == undefined) return value;
+              return value == "Worked";
+            }
+
+          });
+          compile('');
+          expect(scope.state).toEqual("Worked");
+          expect(scope.$element[0].checked).toEqual(true);
+
+          click(scope.$element);
+          expect(scope.state).toEqual("Failed");
+          expect(scope.$element[0].checked).toEqual(false);
+
+          scope.state = "Worked";
+          scope.$eval();
+          expect(scope.state).toEqual("Worked");
+          expect(scope.$element[0].checked).toEqual(true);
+        });
+      });
+
       describe("ng-validate", function(){
         it("should process ng-validate", function(){
           compile('');
@@ -212,16 +250,6 @@ describe("widget", function(){
       expect(scope.$get('clicked')).toEqual(true);
     });
 
-    it('should support type="checkbox"', function(){
-      compile('');
-      expect(scope.checkbox).toEqual(true);
-      click(element);
-      expect(scope.checkbox).toEqual(false);
-      expect(scope.action).toEqual(true);
-      click(element);
-      expect(scope.checkbox).toEqual(true);
-    });
-
     describe('radio', function(){
 
       it('should support type="radio"', function(){
-- 
cgit v1.2.3