aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/app/src/app.js23
-rw-r--r--docs/app/src/docs.js27
-rw-r--r--docs/app/test/docsSpec.js33
3 files changed, 59 insertions, 24 deletions
diff --git a/docs/app/src/app.js b/docs/app/src/app.js
new file mode 100644
index 00000000..0ac5f258
--- /dev/null
+++ b/docs/app/src/app.js
@@ -0,0 +1,23 @@
+angular.module('docsApp', [
+ 'ngRoute',
+ 'ngCookies',
+ 'ngSanitize',
+ 'ngAnimate',
+ 'DocsController',
+ 'versionsData',
+ 'pagesData',
+ 'directives',
+ 'errors',
+ 'examples',
+ 'search',
+ 'tutorials',
+ 'versions',
+ 'bootstrap',
+ 'bootstrapPrettify',
+ 'ui.bootstrap.dropdown'
+])
+
+
+.config(function($locationProvider) {
+ $locationProvider.html5Mode(true).hashPrefix('!');
+}); \ No newline at end of file
diff --git a/docs/app/src/docs.js b/docs/app/src/docs.js
index cb4f029f..5163e982 100644
--- a/docs/app/src/docs.js
+++ b/docs/app/src/docs.js
@@ -1,26 +1,4 @@
-angular.module('docsApp', [
- 'ngRoute',
- 'ngCookies',
- 'ngSanitize',
- 'ngAnimate',
- 'versionsData',
- 'pagesData',
- 'directives',
- 'errors',
- 'examples',
- 'search',
- 'tutorials',
- 'versions',
- 'bootstrap',
- 'bootstrapPrettify',
- 'ui.bootstrap.dropdown'
-])
-
-
-.config(function($locationProvider) {
- $locationProvider.html5Mode(true).hashPrefix('!');
-})
-
+angular.module('DocsController', [])
.controller('DocsController', function($scope, $rootScope, $location, $window, $cookies, NG_PAGES, NG_NAVIGATION, NG_VERSION) {
@@ -52,7 +30,8 @@ angular.module('docsApp', [
};
$scope.afterPartialLoaded = function() {
- $window._gaq.push(['_trackPageview', $location.path()]);
+ var pagePath = $scope.currentPage ? $scope.currentPage.path : $location.path();
+ $window._gaq.push(['_trackPageview', pagePath]);
};
/** stores a cookie that is used by apache to decide which manifest ot send */
diff --git a/docs/app/test/docsSpec.js b/docs/app/test/docsSpec.js
new file mode 100644
index 00000000..ea6c6ba9
--- /dev/null
+++ b/docs/app/test/docsSpec.js
@@ -0,0 +1,33 @@
+describe("DocsController", function() {
+ var $scope;
+
+ angular.module('fake', [])
+ .value('$cookies', {})
+ .value('NG_PAGES', {})
+ .value('NG_NAVIGATION', {})
+ .value('NG_VERSION', {});
+
+ beforeEach(module('fake', 'DocsController'));
+ beforeEach(inject(function($rootScope, $controller) {
+ $scope = $rootScope;
+ $controller('DocsController', { $scope: $scope });
+ }));
+
+
+ describe('afterPartialLoaded', function() {
+ it("should update the Google Analytics with currentPage path if currentPage exists", inject(function($window) {
+ $window._gaq = [];
+ $scope.currentPage = { path: 'a/b/c' };
+ $scope.afterPartialLoaded();
+ expect($window._gaq.pop()).toEqual(['_trackPageview', 'a/b/c']);
+ }));
+
+
+ it("should update the Google Analytics with $location.path if currentPage is missing", inject(function($window, $location) {
+ $window._gaq = [];
+ spyOn($location, 'path').andReturn('x/y/z');
+ $scope.afterPartialLoaded();
+ expect($window._gaq.pop()).toEqual(['_trackPageview', 'x/y/z']);
+ }));
+ });
+}); \ No newline at end of file