diff options
| author | Jamie Mason | 2013-09-18 15:00:34 +0100 | 
|---|---|---|
| committer | Brian Ford | 2013-10-02 10:52:31 -0700 | 
| commit | 8e6e3ebad991eaf57a7885549ea3b91932d495c9 (patch) | |
| tree | 9af852154bef89ea424c17302c5a47da894364c2 /test | |
| parent | ac72bee40085ea79759eec3543be8175236103ef (diff) | |
| download | angular.js-8e6e3ebad991eaf57a7885549ea3b91932d495c9.tar.bz2 | |
fix($compile): ng-attr to support dash separated attribute names
Diffstat (limited to 'test')
| -rw-r--r-- | test/jqLiteSpec.js | 3 | ||||
| -rwxr-xr-x | test/ng/compileSpec.js | 29 | 
2 files changed, 31 insertions, 1 deletions
| 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('<span ng:attr:dash-test="{{name}}" ng-Attr-dash-test2="{{name}}" ng_Attr_dash-test3="{{name}}"></span>')($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('<span data-ng-attr-dash-test2="{{name}}" x-ng-attr-dash-test3="{{name}}" data-ng:attr-dash-test4="{{name}}"></span>')($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'); +      })); + +    }); +    }); | 
