mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-23 12:56:46 +08:00
added google analytics deifintion and test file
This commit is contained in:
76
google.analytics/ga-tests.ts
Normal file
76
google.analytics/ga-tests.ts
Normal file
@@ -0,0 +1,76 @@
|
||||
/// <reference path="ga.d.ts" />
|
||||
/// <reference path="jasmine-1.2.d.ts" />
|
||||
|
||||
describe("tester Google Analytics Tracker _gat object", () => {
|
||||
|
||||
it("can set ga script element", () => {
|
||||
ga = <HTMLScriptElement>document.createElement("script");
|
||||
});
|
||||
|
||||
it("can set aync to true", () => {
|
||||
ga.async = true;
|
||||
});
|
||||
|
||||
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", () => {
|
||||
it("can create _createTracker", () => {
|
||||
_gat._createTracker('UA-65432-1');
|
||||
_gat._createTracker('UA-65432-2', 't2');
|
||||
});
|
||||
|
||||
it("can create _getTrackerByName", () => {
|
||||
_gat._getTrackerByName();
|
||||
_gat._getTrackerByName('t2');
|
||||
});
|
||||
|
||||
it("can create _anonymizeIp", () => {
|
||||
_gat._anonymizeIp();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe("tester Google Analytics Code _gaq object", () => {
|
||||
it("can create _push", () => {
|
||||
_gaq.push(['_setAccount', 'UA-XXXXXXX-YY']);
|
||||
_gaq.push(['_gat._anonymizeIp']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
_gaq.push(() => {
|
||||
var tracker = _gat._getTrackerByName('UA-65432-1');
|
||||
tracker._trackPageview();
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
describe("tester Google Analytics Code Tracker object", () => {
|
||||
it("can create Tracker object and call methods", () => {
|
||||
var tracker = _gat._getTrackerByName('UA-65432-1');
|
||||
tracker._trackPageview();
|
||||
tracker._getName();
|
||||
tracker._getAccount();
|
||||
tracker._getVersion();
|
||||
tracker._getVisitorCustomVar(0);
|
||||
tracker._setAccount();
|
||||
tracker._setCustomVar(0, "name", "value", 1);
|
||||
tracker._setSampleRate("80");
|
||||
tracker._setSessionCookieTimeout(1800000);
|
||||
tracker._setSiteSpeedSampleRate(5);
|
||||
tracker._setVisitorCookieTimeout(63072000000);
|
||||
tracker._trackPageLoadTime();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
41
google.analytics/ga.d.ts
vendored
Normal file
41
google.analytics/ga.d.ts
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
// Type definitions for Google Analytics
|
||||
// Project: https://developers.google.com/analytics/devguides/collection/gajs/
|
||||
// Definitions by: Ronnie Haakon Hegelund <http://ronniehegelund.blogspot.dk>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
class Tracker {
|
||||
_trackPageview(): void;
|
||||
_getName(): string;
|
||||
_getAccount(): string;
|
||||
_getVersion(): string;
|
||||
_getVisitorCustomVar(index: number); string;
|
||||
_setAccount(): string;
|
||||
_setCustomVar(index: number, name: string, value: string, opt_scope?: number): bool;
|
||||
_setSampleRate(newRate: string): void;
|
||||
_setSessionCookieTimeout(cookieTimeoutMillis: number): void;
|
||||
_setSiteSpeedSampleRate(sampleRate: number): void;
|
||||
_setVisitorCookieTimeout(milliseconds: number): void;
|
||||
_trackPageLoadTime(): void;
|
||||
}
|
||||
|
||||
interface GoogleAnalyticsCode {
|
||||
push(commandArray: string[]): void;
|
||||
push(Function): void;
|
||||
}
|
||||
|
||||
interface GoogleAnalyticsTracker {
|
||||
_getTracker(account: string): Tracker;
|
||||
_createTracker(opt_account: string, opt_name?: string): Tracker;
|
||||
_getTrackerByName(opt_name?: string): Tracker;
|
||||
_anonymizeIp(): void;
|
||||
}
|
||||
|
||||
interface GoogleAnalytics {
|
||||
type: string;
|
||||
src: string;
|
||||
async: bool;
|
||||
}
|
||||
|
||||
declare var ga: GoogleAnalytics;
|
||||
declare var _gaq: GoogleAnalyticsCode;
|
||||
declare var _gat: GoogleAnalyticsTracker;
|
||||
Reference in New Issue
Block a user