aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDi Peng2011-07-19 11:45:34 -0700
committerIgor Minar2011-07-26 14:21:13 -0700
commitf3e04fbd6a3ce9d84dec5052233a0712c2273859 (patch)
tree48c26325987846bc8931a490193ae82687d4ffa4 /test
parent00ea08e0ab2a0154e168e63f2505d885bbca9096 (diff)
downloadangular.js-f3e04fbd6a3ce9d84dec5052233a0712c2273859.tar.bz2
fix(ng:show/ng:hide): use jqLite.show/jqLite.hide
The previous implementation didn't handle situation when in css something was hidden with a cascaded display:none rule and then we wanted to show it. Unfortunatelly our test doesn't test this scenario because it's too complicated. :-/
Diffstat (limited to 'test')
-rw-r--r--test/directivesSpec.js46
1 files changed, 32 insertions, 14 deletions
diff --git a/test/directivesSpec.js b/test/directivesSpec.js
index 58e5053f..22d3c84b 100644
--- a/test/directivesSpec.js
+++ b/test/directivesSpec.js
@@ -252,22 +252,40 @@ describe("directive", function(){
expect(element.hasClass('ng-exception')).toBeFalsy();
});
- it('should ng:show', function(){
- var scope = compile('<div ng:hide="hide"></div>');
- scope.$eval();
- expect(isCssVisible(scope.$element)).toEqual(true);
- scope.$set('hide', true);
- scope.$eval();
- expect(isCssVisible(scope.$element)).toEqual(false);
+
+ describe('ng:show', function() {
+ it('should show and hide an element', function(){
+ var element = jqLite('<div ng:show="exp"></div>'),
+ scope = compile(element);
+
+ expect(isCssVisible(element)).toEqual(false);
+ scope.exp = true;
+ scope.$eval();
+ expect(isCssVisible(element)).toEqual(true);
+ });
+
+
+ it('should make hidden element visible', function() {
+ var element = jqLite('<div style="display: none" ng:show="exp"></div>'),
+ scope = compile(element);
+
+ expect(isCssVisible(element)).toBe(false);
+ scope.exp = true;
+ scope.$eval();
+ expect(isCssVisible(element)).toBe(true);
+ });
});
- it('should ng:hide', function(){
- var scope = compile('<div ng:show="show"></div>');
- scope.$eval();
- expect(isCssVisible(scope.$element)).toEqual(false);
- scope.$set('show', true);
- scope.$eval();
- expect(isCssVisible(scope.$element)).toEqual(true);
+ describe('ng:hide', function() {
+ it('should hide an element', function(){
+ var element = jqLite('<div ng:hide="exp"></div>'),
+ scope = compile(element);
+
+ expect(isCssVisible(element)).toBe(true);
+ scope.exp = true;
+ scope.$eval();
+ expect(isCssVisible(element)).toBe(false);
+ });
});
describe('ng:controller', function(){