Skip to content

Commit

Permalink
test(tooltip): check scope after hiding and showing
Browse files Browse the repository at this point in the history
Isolate scope contents should be the same after hiding and showing the
tooltip. The isolate scope's parent should also always be set to the
directive's scope correctly.

Reproduces angular-ui#1191
  • Loading branch information
chrisirhc committed Dec 24, 2013
1 parent 41eea51 commit 2d5d632
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion src/tooltip/test/tooltip.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ describe('tooltip', function() {
scope.alt = "Alt Message";

elmBody = $compile( angular.element(
'<div><span alt={{alt}} tooltip="{{tooltipMsg}}">Selector Text</span></div>'
'<div><span alt={{alt}} tooltip="{{tooltipMsg}}" tooltip-animation="false">Selector Text</span></div>'
) )( scope );

$compile( elmBody )( scope );
Expand All @@ -114,6 +114,13 @@ describe('tooltip', function() {
expect( ttScope.content ).toBe( scope.tooltipMsg );

elm.trigger( 'mouseleave' );

//Isolate scope contents should be the same after hiding and showing again (issue 1191)
elm.trigger( 'mouseenter' );

ttScope = angular.element( elmBody.children()[1] ).scope();
expect( ttScope.placement ).toBe( 'top' );
expect( ttScope.content ).toBe( scope.tooltipMsg );
}));

it('should not show tooltips if there is nothing to show - issue #129', inject(function ($compile) {
Expand All @@ -136,6 +143,24 @@ describe('tooltip', function() {
expect( elmBody.children().length ).toBe( 0 );
}));

it('issue 1191 - isolate scope on the popup should always be child of correct element scope', inject( function ( $compile ) {
var ttScope;
elm.trigger( 'mouseenter' );

ttScope = angular.element( elmBody.children()[1] ).scope();
expect( ttScope.$parent ).toBe( elmScope );

elm.trigger( 'mouseleave' );

// After leaving and coming back, the scope's parent should be the same
elm.trigger( 'mouseenter' );

ttScope = angular.element( elmBody.children()[1] ).scope();
expect( ttScope.$parent ).toBe( elmScope );

elm.trigger( 'mouseleave' );
}));

describe('with specified enable expression', function() {

beforeEach(inject(function ($compile) {
Expand Down

0 comments on commit 2d5d632

Please sign in to comment.