From 8e6e3ebad991eaf57a7885549ea3b91932d495c9 Mon Sep 17 00:00:00 2001
From: Jamie Mason
Date: Wed, 18 Sep 2013 15:00:34 +0100
Subject: fix($compile): ng-attr to support dash separated attribute names
---
 test/jqLiteSpec.js     |  3 ++-
 test/ng/compileSpec.js | 29 +++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)
(limited to 'test')
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js
index e6e3a2ac..08100658 100644
--- a/test/jqLiteSpec.js
+++ b/test/jqLiteSpec.js
@@ -1366,6 +1366,7 @@ describe('jqLite', function() {
      expect(camelCase('-moz-foo-bar')).toBe('MozFooBar');
      expect(camelCase('-webkit-foo-bar')).toBe('webkitFooBar');
      expect(camelCase('-webkit-foo-bar')).toBe('webkitFooBar');
-   })
+   });
   });
+
 });
diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js
index 6b3a0479..1e66b49f 100755
--- a/test/ng/compileSpec.js
+++ b/test/ng/compileSpec.js
@@ -3342,6 +3342,35 @@ describe('$compile', function() {
       expect(element.attr('test3')).toBe('Misko');
       expect(element.attr('test4')).toBe('Misko');
     }));
+
+    describe('when an attribute has a dash-separated name', function () {
+
+      it('should work with different prefixes', inject(function($compile, $rootScope) {
+        $rootScope.name = "JamieMason";
+        element = $compile('')($rootScope);
+        expect(element.attr('dash-test')).toBeUndefined();
+        expect(element.attr('dash-test2')).toBeUndefined();
+        expect(element.attr('dash-test3')).toBeUndefined();
+        $rootScope.$digest();
+        expect(element.attr('dash-test')).toBe('JamieMason');
+        expect(element.attr('dash-test2')).toBe('JamieMason');
+        expect(element.attr('dash-test3')).toBe('JamieMason');
+      }));
+
+      it('should work if they are prefixed with x- or data-', inject(function($compile, $rootScope) {
+        $rootScope.name = "JamieMason";
+        element = $compile('')($rootScope);
+        expect(element.attr('dash-test2')).toBeUndefined();
+        expect(element.attr('dash-test3')).toBeUndefined();
+        expect(element.attr('dash-test4')).toBeUndefined();
+        $rootScope.$digest();
+        expect(element.attr('dash-test2')).toBe('JamieMason');
+        expect(element.attr('dash-test3')).toBe('JamieMason');
+        expect(element.attr('dash-test4')).toBe('JamieMason');
+      }));
+
+    });
+
   });
 
 
-- 
cgit v1.2.3