diff --git a/lib/directive/ng_show_hide.dart b/lib/directive/ng_show_hide.dart index 68fccfbd1..560cfce76 100644 --- a/lib/directive/ng_show_hide.dart +++ b/lib/directive/ng_show_hide.dart @@ -33,17 +33,15 @@ class NgHideDirective { selector: '[ng-show]', map: const {'ng-show': '=>show'}) class NgShowDirective { - static String NG_SHOW_CLASS = 'ng-show'; - final dom.Element element; NgShowDirective(this.element); set show(value) { if (toBool(value)) { - element.classes.add(NG_SHOW_CLASS); + element.classes.remove(NgHideDirective.NG_HIDE_CLASS); } else { - element.classes.remove(NG_SHOW_CLASS); + element.classes.add(NgHideDirective.NG_HIDE_CLASS); } } } diff --git a/test/core_dom/ng_mustache_spec.dart b/test/core_dom/ng_mustache_spec.dart index 0686d8550..fcd98b5eb 100644 --- a/test/core_dom/ng_mustache_spec.dart +++ b/test/core_dom/ng_mustache_spec.dart @@ -86,39 +86,39 @@ main() { beforeEach(inject((TestBed tb) => _ = tb)); - it('should add/remove ng-show class', () { + it('should add/remove ng-hide class', () { var element = _.compile('
'); - expect(element).not.toHaveClass('ng-show'); + expect(element).not.toHaveClass('ng-hide'); _.rootScope.$apply(() { _.rootScope['isVisible'] = true; }); - expect(element).toHaveClass('ng-show'); + expect(element).not.toHaveClass('ng-hide'); _.rootScope.$apply(() { _.rootScope['isVisible'] = false; }); - expect(element).not.toHaveClass('ng-show'); + expect(element).toHaveClass('ng-hide'); }); it('should work together with ng-class', () { var element = _.compile('
'); expect(element).not.toHaveClass('active'); - expect(element).not.toHaveClass('ng-show'); + expect(element).not.toHaveClass('ng-hide'); _.rootScope.$apply(() { _.rootScope['currentCls'] = 'active'; }); expect(element).toHaveClass('active'); - expect(element).not.toHaveClass('ng-show'); + expect(element).toHaveClass('ng-hide'); _.rootScope.$apply(() { _.rootScope['isVisible'] = true; }); expect(element).toHaveClass('active'); - expect(element).toHaveClass('ng-show'); + expect(element).not.toHaveClass('ng-hide'); }); }); diff --git a/test/directive/ng_show_hide_spec.dart b/test/directive/ng_show_hide_spec.dart index 2cdd0db51..f3e778463 100644 --- a/test/directive/ng_show_hide_spec.dart +++ b/test/directive/ng_show_hide_spec.dart @@ -24,4 +24,25 @@ main() { expect(_.rootElement).not.toHaveClass('ng-hide'); }); }); + + describe('NgShow', () { + TestBed _; + beforeEach(inject((TestBed tb) => _ = tb)); + + it('should add/remove ng-hide class', () { + _.compile('
'); + + expect(_.rootElement).not.toHaveClass('ng-hide'); + + _.rootScope.$apply(() { + _.rootScope['isShown'] = true; + }); + expect(_.rootElement).not.toHaveClass('ng-hide'); + + _.rootScope.$apply(() { + _.rootScope['isShown'] = false; + }); + expect(_.rootElement).toHaveClass('ng-hide'); + }); + }); }