Skip to content

Commit 732f23e

Browse files
caitpnetman92
authored andcommitted
test($compile): make test cases more specific for angular#11326
1 parent 3498b2b commit 732f23e

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

test/ng/compileSpec.js

+24-12
Original file line numberDiff line numberDiff line change
@@ -4198,45 +4198,56 @@ describe('$compile', function() {
41984198

41994199

42004200
it('should respect explicit return value from controller', function() {
4201+
var expectedController;
42014202
module(function() {
42024203
directive('logControllerProp', function(log) {
42034204
return {
42044205
controller: function($scope) {
42054206
this.foo = 'baz'; // value should not be used.
4206-
return {foo: 'bar'};
4207+
return expectedController = {foo: 'bar'};
42074208
},
42084209
link: function(scope, element, attrs, controller) {
4209-
log(controller.foo);
4210+
expect(expectedController).toBeDefined();
4211+
expect(controller).toBe(expectedController);
4212+
expect(controller.foo).toBe('bar');
4213+
log('done');
42104214
}
42114215
};
42124216
});
42134217
});
42144218
inject(function(log, $compile, $rootScope) {
42154219
element = $compile('<log-controller-prop></log-controller-prop>')($rootScope);
4216-
expect(log).toEqual('bar');
4217-
expect(element.data('$logControllerPropController').foo).toEqual('bar');
4220+
expect(log).toEqual('done');
4221+
expect(element.data('$logControllerPropController')).toBe(expectedController);
42184222
});
42194223
});
42204224

42214225

42224226
it('should get explicit return value of required parent controller', function() {
4227+
var expectedController;
42234228
module(function() {
42244229
directive('nested', function(log) {
42254230
return {
42264231
require: '^^?nested',
42274232
controller: function() {
4228-
return {foo: 'bar'};
4233+
if (!expectedController) expectedController = {foo: 'bar'};
4234+
return expectedController;
42294235
},
42304236
link: function(scope, element, attrs, controller) {
4231-
log(!!controller && controller.foo);
4237+
if (element.parent().length) {
4238+
expect(expectedController).toBeDefined();
4239+
expect(controller).toBe(expectedController);
4240+
expect(controller.foo).toBe('bar');
4241+
log('done');
4242+
}
42324243
}
42334244
};
42344245
});
42354246
});
42364247
inject(function(log, $compile, $rootScope) {
42374248
element = $compile('<div nested><div nested></div></div>')($rootScope);
4238-
4239-
expect(log).toEqual('bar; false');
4249+
expect(log).toEqual('done');
4250+
expect(element.data('$nestedController')).toBe(expectedController);
42404251
});
42414252
});
42424253

@@ -4268,11 +4279,10 @@ describe('$compile', function() {
42684279
var expectedController;
42694280
module(function() {
42704281
directive('nester', valueFn({
4271-
transclude: 'content',
4282+
transclude: true,
42724283
controller: function($transclude) {
42734284
this.foo = 'baz';
4274-
expectedController = {transclude:$transclude, foo: 'bar'};
4275-
return expectedController;
4285+
return expectedController = {transclude:$transclude, foo: 'bar'};
42764286
},
42774287
link: function(scope, el, attr, ctrl) {
42784288
ctrl.transclude(cloneAttach);
@@ -4285,6 +4295,7 @@ describe('$compile', function() {
42854295
return {
42864296
require: '^^nester',
42874297
link: function(scope, element, attrs, controller) {
4298+
expect(controller).toBeDefined();
42884299
expect(controller).toBe(expectedController);
42894300
log('done');
42904301
}
@@ -4294,7 +4305,8 @@ describe('$compile', function() {
42944305
inject(function(log, $compile) {
42954306
element = $compile('<div nester><div nested></div></div>')($rootScope);
42964307
$rootScope.$apply();
4297-
expect(log).toEqual('done');
4308+
expect(log.toString()).toBe('done');
4309+
expect(element.data('$nesterController')).toBe(expectedController);
42984310
});
42994311
});
43004312

0 commit comments

Comments
 (0)