mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-24 05:06:02 +08:00
Add universal google analytics. Modify typedef for 'ga' variable.
This commit is contained in:
@@ -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();
|
||||
|
||||
17
google.analytics/ga.d.ts
vendored
17
google.analytics/ga.d.ts
vendored
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user