From 60743fc52aea9eabee58258a31f4ba465013cb4e Mon Sep 17 00:00:00 2001
From: Vojta Jina
Date: Sun, 19 Feb 2012 12:59:10 -0800
Subject: feat(ng:include) Fire $contentLoaded event
+ refactor unload to listen on this event -> we can use unload with ng:view as well
Closes #743
---
test/widgetsSpec.js | 36 ++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
(limited to 'test')
diff --git a/test/widgetsSpec.js b/test/widgetsSpec.js
index d9517866..f75d81c2 100644
--- a/test/widgetsSpec.js
+++ b/test/widgetsSpec.js
@@ -119,6 +119,22 @@ describe('widget', function() {
}));
+ it('should fire $contentLoaded event after linking the content', inject(
+ function($rootScope, $compile, $templateCache) {
+ var contentLoadedSpy = jasmine.createSpy('content loaded').andCallFake(function() {
+ expect(element.text()).toBe('partial content');
+ });
+
+ $templateCache.put('url', [200, 'partial content', {}]);
+ $rootScope.$on('$contentLoaded', contentLoadedSpy);
+
+ element = $compile('')($rootScope);
+ $rootScope.$digest();
+
+ expect(contentLoadedSpy).toHaveBeenCalledOnce();
+ }));
+
+
it('should evaluate onload expression when a partial is loaded', inject(
putIntoCache('myUrl', 'my partial'),
function($rootScope, $compile, $browser) {
@@ -620,7 +636,7 @@ describe('widget', function() {
describe('ng:view', function() {
beforeEach(module(function() {
return function($rootScope, $compile) {
- element = $compile('')($rootScope);
+ element = $compile('')($rootScope);
};
}));
@@ -847,7 +863,7 @@ describe('widget', function() {
$routeProvider.when('/foo', {controller: noop, template: 'myUrl1'});
});
- inject(function($route, $rootScope, $location, $templateCache, $browser) {
+ inject(function($route, $rootScope, $location, $templateCache) {
$templateCache.put('myUrl1', [200, 'my partial', {}]);
$location.path('/foo');
@@ -1004,6 +1020,22 @@ describe('widget', function() {
expect(log).toEqual(['init-foo', 'route-update', 'destroy-foo', 'init-bar']);
});
});
+
+
+ it('should evaluate onload expression after linking the content', function() {
+ module(function($routeProvider) {
+ $routeProvider.when('/foo', {template: 'tpl.html'});
+ });
+
+ inject(function($templateCache, $location, $rootScope) {
+ $templateCache.put('tpl.html', [200, '{{1+1}}', {}]);
+ $rootScope.load = jasmine.createSpy('onload');
+
+ $location.url('/foo');
+ $rootScope.$digest();
+ expect($rootScope.load).toHaveBeenCalledOnce();
+ });
+ })
});
--
cgit v1.2.3