Tests for chrome.gcm

This commit is contained in:
Nikolai Ommundsen
2018-08-23 13:54:11 +02:00
parent 56c3bc683e
commit 0aba0089b3
2 changed files with 13 additions and 12 deletions

View File

@@ -4181,16 +4181,9 @@ declare namespace chrome {
*/
const MAX_MESSAGE_SIZE: integer;
interface IGCMData {
'collapse_key'?: never;
'goog'?: never;
'goog.'?: never;
'GOOG'?: never;
'GOOG.'?: never;
'google'?: never;
'GOOGLE'?: never;
[key: string]: any;
}
type DisallowedKeys = 'collapse_key' | 'goog' | 'goog.' | 'GOOG' | 'GOOG.' | 'google' | 'GOOGLE';
type IGCMDataSend = Record<Exclude<DisallowedKeys, string>, any>;
type IGCMDataReceive = Record<string, any>;
interface OutgoingMessage {
/** The ID of the server to send the message to as assigned by Google API Console. */
@@ -4208,12 +4201,12 @@ declare namespace chrome {
*
* Sum of all key/value pairs should not exceed gcm.MAX_MESSAGE_SIZE.
**/
data: IGCMData;
data: IGCMDataSend;
}
interface IncomingMessage {
/** The message data. */
data: IGCMData;
data: IGCMDataReceive;
/**
* Optional.
* The sender who issued the message.

View File

@@ -775,6 +775,14 @@ gcmMessage.data = {
/*goog: 'any', should not be allowed, and it is not :) */
test: true
};
const eventHandler = (message: chrome.gcm.IncomingMessage) => {
console.log('From: ', message.from, 'collapseKey:', message.collapseKey);
return message.data['google'];
}
chrome.gcm.onMessage.addListener(eventHandler);
chrome.gcm.onMessage.removeListener(eventHandler);
chrome.gcm.onMessagesDeleted.addListener(() => { });
chrome.gcm.onSendError.addListener((error) => { console.error(error.detail, error.errorMessage, error.messageId); });
// #endregion