Add universal google analytics. Modify typedef for 'ga' variable.

This commit is contained in:
Pat Kujawa
2014-10-13 12:48:24 -06:00
parent bba33bcb0b
commit d4ce942373
2 changed files with 23 additions and 26 deletions

View File

@@ -1,25 +1,15 @@
/// <reference path="ga.d.ts" />
/// <reference path="../jasmine/jasmine.d.ts" />
describe("tester Google Analytics Tracker _gat object", () => {
it("can set ga script element", () => {
ga = <HTMLScriptElement>document.createElement("script");
describe('UniversalGoogleAnalytics', () => {
it('should be a function', () => {
ga('create', 'UA-65432-1');
ga('send', 'pageview');
});
it("can set aync to true", () => {
ga.async = true;
it('should have methods', () => {
ga.getAll();
ga.getByName('aNamedTracker');
});
it("can set src to string url", () => {
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';;
});
it("can set type", () => {
ga.type = 'text/javascript';
});
});
describe("tester Google Analytics Tracker _gat object", () => {
@@ -27,7 +17,7 @@ describe("tester Google Analytics Tracker _gat object", () => {
_gat._createTracker('UA-65432-1');
_gat._createTracker('UA-65432-2', 't2');
});
it("can create _getTrackerByName", () => {
_gat._getTrackerByName();
_gat._getTrackerByName('t2');
@@ -36,7 +26,7 @@ describe("tester Google Analytics Tracker _gat object", () => {
it("can create _anonymizeIp", () => {
_gat._anonymizeIp();
});
});
describe("tester Google Analytics Code _gaq object", () => {
@@ -50,12 +40,12 @@ describe("tester Google Analytics Code _gaq object", () => {
tracker._trackPageview();
}
);
});
});
});
describe("tester Google Analytics Code Tracker object", () => {
it("can create Tracker object and call methods", () => {
it("can create Tracker object and call methods", () => {
var tracker = _gat._getTrackerByName('UA-65432-1');
tracker._trackPageview();
tracker._getName();

View File

@@ -30,12 +30,19 @@ interface GoogleAnalyticsTracker {
_anonymizeIp(): void;
}
interface GoogleAnalytics {
type: string;
src: string;
async: boolean;
interface UniversalGoogleAnalytics {
(command: string, trackingId:string, opt_configObject?: {}): UniversalTracker;
(command: string, ...rest): void;
getAll(): UniversalTracker[];
getByName(trackerName: string): UniversalTracker;
}
declare var ga: GoogleAnalytics;
interface UniversalTracker {
get(...any): any;
send(...any): any;
set(...any): any;
}
declare var ga: UniversalGoogleAnalytics;
declare var _gaq: GoogleAnalyticsCode;
declare var _gat: GoogleAnalyticsTracker;