diff options
| -rw-r--r-- | docs/app/src/app.js | 23 | ||||
| -rw-r--r-- | docs/app/src/docs.js | 27 | ||||
| -rw-r--r-- | docs/app/test/docsSpec.js | 33 | 
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 | 
