[{"data":1,"prerenderedAt":1557},["ShallowReactive",2],{"navigation_docs":3,"-fake-browser-implemented-apis":127,"-fake-browser-implemented-apis-surround":1554},[4,22,51,62,73,84,99,115],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Get Started","/get-started","0.get-started",[9,13,17],{"title":10,"path":11,"stem":12},"Introduction","/get-started/introduction","0.get-started/0.introduction",{"title":14,"path":15,"stem":16},"Browser Support","/get-started/browser-support","0.get-started/1.browser-support",{"title":18,"path":19,"stem":20},"Contributing","/get-started/contributing","0.get-started/2.contributing",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Fake Browser","/fake-browser","fake-browser",[27,31,35,39,43,47],{"title":28,"path":29,"stem":30},"Installation","/fake-browser/installation","fake-browser/0.installation",{"title":32,"path":33,"stem":34},"Testing Frameworks","/fake-browser/testing-frameworks","fake-browser/1.testing-frameworks",{"title":36,"path":37,"stem":38},"Triggering Events","/fake-browser/triggering-events","fake-browser/2.triggering-events",{"title":40,"path":41,"stem":42},"Resetting State","/fake-browser/reseting-state","fake-browser/3.reseting-state",{"title":44,"path":45,"stem":46},"Implemented Apis","/fake-browser/implemented-apis","fake-browser/4.implemented-apis",{"title":48,"path":49,"stem":50},"API Reference","/fake-browser/api","fake-browser/api",{"title":52,"path":53,"stem":54,"children":55,"page":21},"Isolated Element","/isolated-element","isolated-element",[56,59],{"title":28,"path":57,"stem":58},"/isolated-element/installation","isolated-element/0.installation",{"title":48,"path":60,"stem":61},"/isolated-element/api","isolated-element/api",{"title":63,"path":64,"stem":65,"children":66,"page":21},"Job Scheduler","/job-scheduler","job-scheduler",[67,70],{"title":28,"path":68,"stem":69},"/job-scheduler/installation","job-scheduler/0.installation",{"title":48,"path":71,"stem":72},"/job-scheduler/api","job-scheduler/api",{"title":74,"path":75,"stem":76,"children":77,"page":21},"Match Patterns","/match-patterns","match-patterns",[78,81],{"title":28,"path":79,"stem":80},"/match-patterns/installation","match-patterns/0.installation",{"title":48,"path":82,"stem":83},"/match-patterns/api","match-patterns/api",{"title":85,"path":86,"stem":87,"children":88,"page":21},"Messaging","/messaging","messaging",[89,92,96],{"title":28,"path":90,"stem":91},"/messaging/installation","messaging/0.installation",{"title":93,"path":94,"stem":95},"Protocol Maps","/messaging/protocol-maps","messaging/1.protocol-maps",{"title":48,"path":97,"stem":98},"/messaging/api","messaging/api",{"title":100,"path":101,"stem":102,"children":103,"page":21},"Proxy Service","/proxy-service","proxy-service",[104,107,111],{"title":28,"path":105,"stem":106},"/proxy-service/installation","proxy-service/0.installation",{"title":108,"path":109,"stem":110},"Defining Services","/proxy-service/defining-services","proxy-service/1.defining-services",{"title":112,"path":113,"stem":114},"Service Keys","/proxy-service/service-keys","proxy-service/2.service-keys",{"title":116,"path":117,"stem":118,"children":119,"page":21},"Storage","/storage","storage",[120,123],{"title":28,"path":121,"stem":122},"/storage/installation","storage/0.installation",{"title":124,"path":125,"stem":126},"Typescript","/storage/typescript","storage/1.typescript",{"id":128,"title":44,"body":129,"description":226,"extension":1549,"links":1550,"meta":1551,"navigation":342,"path":45,"seo":1552,"stem":46,"__hash__":1553},"docs/fake-browser/4.implemented-apis.md",{"type":130,"value":131,"toc":1538},"minimark",[132,136,149,156,174,179,211,216,1409,1414,1445,1449,1479,1489,1510,1516,1534],[133,134,135],"p",{},"This file lists all the implemented APIs, their caveots, limitations, and example tests. Example tests are written with vitest.",[137,138,139,143,146,148],"warning",{},[140,141,142],"strong",{},"Not all APIs are implemented!",[144,145],"br",{},[144,147],{},"\nFor all APIs not listed here, you will have to mock the functions behavior yourself, or you can submit a PR to add support 😄",[150,151,153],"h2",{"id":152},"alarms",[154,155,152],"code",{},[157,158,159,167],"ul",{},[160,161,162,163,166],"li",{},"All alarms APIs are implemented as in production, except for ",[154,164,165],{},"onAlarm",".",[160,168,169,170,173],{},"You have to manually call ",[154,171,172],{},"onAlarm.trigger()"," for your event listeners to be executed.",[150,175,177],{"id":176},"notifications",[154,178,176],{},[157,180,181,195],{},[160,182,183,186,187,190,191,194],{},[154,184,185],{},"create",", ",[154,188,189],{},"clear",", and ",[154,192,193],{},"getAll"," are fully implemented",[160,196,197,198,186,201,186,204,186,207,210],{},"You have to manually trigger all the events (",[154,199,200],{},"onClosed",[154,202,203],{},"onClicked",[154,205,206],{},"onButtonClicked",[154,208,209],{},"onShown",")",[212,213,215],"h3",{"id":214},"example-tests","Example Tests",[217,218,219,1001],"code-group",{},[220,221,227],"pre",{"className":222,"code":223,"filename":224,"language":225,"meta":226,"style":226},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { describe, it, beforeEach, vi, expect } from 'vitest';\nimport browser, { Notifications } from 'webextension-polyfill';\nimport { fakeBrowser } from '@webext-core/fake-browser';\n\nasync function ensureNotificationExists(\n  id: string,\n  notification: Notifications.CreateNotificationOptions,\n): Promise\u003Cvoid> {\n  const notifications = await browser.notifications.getAll();\n  if (!notifications[id]) await browser.notifications.create(id, notification);\n}\n\ndescribe('ensureNotificationExists', () => {\n  const id = 'some-id';\n  const notification: Notifications.CreateNotificationOptions = {\n    type: 'basic',\n    title: 'Some Title',\n    message: 'Some message...',\n  };\n\n  beforeEach(() => {\n    fakeBrowser.reset();\n  });\n\n  it('should create a notification if it does not exist', async () => {\n    const createSpy = vi.spyOn(browser.notifications, 'create');\n\n    await ensureNotificationExists(id, notification);\n\n    expect(createSpy).toBeCalledTimes(1);\n    expect(createSpy).toBeCalledWith(id, notification);\n  });\n\n  it('should not create the notification if it already exists', async () => {\n    await fakeBrowser.notifications.create(id, notification);\n    const createSpy = vi.spyOn(browser.notifications, 'create');\n\n    await ensureNotificationExists(id, notification);\n\n    expect(createSpy).not.toBeCalled();\n  });\n});\n","ensureNotificationExists.test.ts","ts","",[154,228,229,286,314,337,344,361,378,395,416,447,497,503,508,533,552,571,588,605,622,628,633,647,662,672,677,703,742,747,767,772,800,828,837,842,866,893,928,933,952,957,982,991],{"__ignoreMap":226},[230,231,234,238,242,246,249,252,254,257,259,262,264,267,270,273,276,280,283],"span",{"class":232,"line":233},"line",1,[230,235,237],{"class":236},"s7zQu","import",[230,239,241],{"class":240},"sMK4o"," {",[230,243,245],{"class":244},"sTEyZ"," describe",[230,247,248],{"class":240},",",[230,250,251],{"class":244}," it",[230,253,248],{"class":240},[230,255,256],{"class":244}," beforeEach",[230,258,248],{"class":240},[230,260,261],{"class":244}," vi",[230,263,248],{"class":240},[230,265,266],{"class":244}," expect",[230,268,269],{"class":240}," }",[230,271,272],{"class":236}," from",[230,274,275],{"class":240}," '",[230,277,279],{"class":278},"sfazB","vitest",[230,281,282],{"class":240},"'",[230,284,285],{"class":240},";\n",[230,287,289,291,294,296,298,301,303,305,307,310,312],{"class":232,"line":288},2,[230,290,237],{"class":236},[230,292,293],{"class":244}," browser",[230,295,248],{"class":240},[230,297,241],{"class":240},[230,299,300],{"class":244}," Notifications",[230,302,269],{"class":240},[230,304,272],{"class":236},[230,306,275],{"class":240},[230,308,309],{"class":278},"webextension-polyfill",[230,311,282],{"class":240},[230,313,285],{"class":240},[230,315,317,319,321,324,326,328,330,333,335],{"class":232,"line":316},3,[230,318,237],{"class":236},[230,320,241],{"class":240},[230,322,323],{"class":244}," fakeBrowser",[230,325,269],{"class":240},[230,327,272],{"class":236},[230,329,275],{"class":240},[230,331,332],{"class":278},"@webext-core/fake-browser",[230,334,282],{"class":240},[230,336,285],{"class":240},[230,338,340],{"class":232,"line":339},4,[230,341,343],{"emptyLinePlaceholder":342},true,"\n",[230,345,347,351,354,358],{"class":232,"line":346},5,[230,348,350],{"class":349},"spNyl","async",[230,352,353],{"class":349}," function",[230,355,357],{"class":356},"s2Zo4"," ensureNotificationExists",[230,359,360],{"class":240},"(\n",[230,362,364,368,371,375],{"class":232,"line":363},6,[230,365,367],{"class":366},"sHdIc","  id",[230,369,370],{"class":240},":",[230,372,374],{"class":373},"sBMFI"," string",[230,376,377],{"class":240},",\n",[230,379,381,384,386,388,390,393],{"class":232,"line":380},7,[230,382,383],{"class":366},"  notification",[230,385,370],{"class":240},[230,387,300],{"class":373},[230,389,166],{"class":240},[230,391,392],{"class":373},"CreateNotificationOptions",[230,394,377],{"class":240},[230,396,398,401,404,407,410,413],{"class":232,"line":397},8,[230,399,400],{"class":240},"):",[230,402,403],{"class":373}," Promise",[230,405,406],{"class":240},"\u003C",[230,408,409],{"class":373},"void",[230,411,412],{"class":240},">",[230,414,415],{"class":240}," {\n",[230,417,419,422,425,428,431,433,435,437,439,441,445],{"class":232,"line":418},9,[230,420,421],{"class":349},"  const",[230,423,424],{"class":244}," notifications",[230,426,427],{"class":240}," =",[230,429,430],{"class":236}," await",[230,432,293],{"class":244},[230,434,166],{"class":240},[230,436,176],{"class":244},[230,438,166],{"class":240},[230,440,193],{"class":356},[230,442,444],{"class":443},"swJcz","()",[230,446,285],{"class":240},[230,448,450,453,456,459,461,464,467,470,473,475,477,479,481,483,486,488,490,493,495],{"class":232,"line":449},10,[230,451,452],{"class":236},"  if",[230,454,455],{"class":443}," (",[230,457,458],{"class":240},"!",[230,460,176],{"class":244},[230,462,463],{"class":443},"[",[230,465,466],{"class":244},"id",[230,468,469],{"class":443},"]) ",[230,471,472],{"class":236},"await",[230,474,293],{"class":244},[230,476,166],{"class":240},[230,478,176],{"class":244},[230,480,166],{"class":240},[230,482,185],{"class":356},[230,484,485],{"class":443},"(",[230,487,466],{"class":244},[230,489,248],{"class":240},[230,491,492],{"class":244}," notification",[230,494,210],{"class":443},[230,496,285],{"class":240},[230,498,500],{"class":232,"line":499},11,[230,501,502],{"class":240},"}\n",[230,504,506],{"class":232,"line":505},12,[230,507,343],{"emptyLinePlaceholder":342},[230,509,511,514,516,518,521,523,525,528,531],{"class":232,"line":510},13,[230,512,513],{"class":356},"describe",[230,515,485],{"class":244},[230,517,282],{"class":240},[230,519,520],{"class":278},"ensureNotificationExists",[230,522,282],{"class":240},[230,524,248],{"class":240},[230,526,527],{"class":240}," ()",[230,529,530],{"class":349}," =>",[230,532,415],{"class":240},[230,534,536,538,541,543,545,548,550],{"class":232,"line":535},14,[230,537,421],{"class":349},[230,539,540],{"class":244}," id",[230,542,427],{"class":240},[230,544,275],{"class":240},[230,546,547],{"class":278},"some-id",[230,549,282],{"class":240},[230,551,285],{"class":240},[230,553,555,557,559,561,563,565,567,569],{"class":232,"line":554},15,[230,556,421],{"class":349},[230,558,492],{"class":244},[230,560,370],{"class":240},[230,562,300],{"class":373},[230,564,166],{"class":240},[230,566,392],{"class":373},[230,568,427],{"class":240},[230,570,415],{"class":240},[230,572,574,577,579,581,584,586],{"class":232,"line":573},16,[230,575,576],{"class":443},"    type",[230,578,370],{"class":240},[230,580,275],{"class":240},[230,582,583],{"class":278},"basic",[230,585,282],{"class":240},[230,587,377],{"class":240},[230,589,591,594,596,598,601,603],{"class":232,"line":590},17,[230,592,593],{"class":443},"    title",[230,595,370],{"class":240},[230,597,275],{"class":240},[230,599,600],{"class":278},"Some Title",[230,602,282],{"class":240},[230,604,377],{"class":240},[230,606,608,611,613,615,618,620],{"class":232,"line":607},18,[230,609,610],{"class":443},"    message",[230,612,370],{"class":240},[230,614,275],{"class":240},[230,616,617],{"class":278},"Some message...",[230,619,282],{"class":240},[230,621,377],{"class":240},[230,623,625],{"class":232,"line":624},19,[230,626,627],{"class":240},"  };\n",[230,629,631],{"class":232,"line":630},20,[230,632,343],{"emptyLinePlaceholder":342},[230,634,636,639,641,643,645],{"class":232,"line":635},21,[230,637,638],{"class":356},"  beforeEach",[230,640,485],{"class":443},[230,642,444],{"class":240},[230,644,530],{"class":349},[230,646,415],{"class":240},[230,648,650,653,655,658,660],{"class":232,"line":649},22,[230,651,652],{"class":244},"    fakeBrowser",[230,654,166],{"class":240},[230,656,657],{"class":356},"reset",[230,659,444],{"class":443},[230,661,285],{"class":240},[230,663,665,668,670],{"class":232,"line":664},23,[230,666,667],{"class":240},"  }",[230,669,210],{"class":443},[230,671,285],{"class":240},[230,673,675],{"class":232,"line":674},24,[230,676,343],{"emptyLinePlaceholder":342},[230,678,680,683,685,687,690,692,694,697,699,701],{"class":232,"line":679},25,[230,681,682],{"class":356},"  it",[230,684,485],{"class":443},[230,686,282],{"class":240},[230,688,689],{"class":278},"should create a notification if it does not exist",[230,691,282],{"class":240},[230,693,248],{"class":240},[230,695,696],{"class":349}," async",[230,698,527],{"class":240},[230,700,530],{"class":349},[230,702,415],{"class":240},[230,704,706,709,712,714,716,718,721,723,726,728,730,732,734,736,738,740],{"class":232,"line":705},26,[230,707,708],{"class":349},"    const",[230,710,711],{"class":244}," createSpy",[230,713,427],{"class":240},[230,715,261],{"class":244},[230,717,166],{"class":240},[230,719,720],{"class":356},"spyOn",[230,722,485],{"class":443},[230,724,725],{"class":244},"browser",[230,727,166],{"class":240},[230,729,176],{"class":244},[230,731,248],{"class":240},[230,733,275],{"class":240},[230,735,185],{"class":278},[230,737,282],{"class":240},[230,739,210],{"class":443},[230,741,285],{"class":240},[230,743,745],{"class":232,"line":744},27,[230,746,343],{"emptyLinePlaceholder":342},[230,748,750,753,755,757,759,761,763,765],{"class":232,"line":749},28,[230,751,752],{"class":236},"    await",[230,754,357],{"class":356},[230,756,485],{"class":443},[230,758,466],{"class":244},[230,760,248],{"class":240},[230,762,492],{"class":244},[230,764,210],{"class":443},[230,766,285],{"class":240},[230,768,770],{"class":232,"line":769},29,[230,771,343],{"emptyLinePlaceholder":342},[230,773,775,778,780,783,785,787,790,792,796,798],{"class":232,"line":774},30,[230,776,777],{"class":356},"    expect",[230,779,485],{"class":443},[230,781,782],{"class":244},"createSpy",[230,784,210],{"class":443},[230,786,166],{"class":240},[230,788,789],{"class":356},"toBeCalledTimes",[230,791,485],{"class":443},[230,793,795],{"class":794},"sbssI","1",[230,797,210],{"class":443},[230,799,285],{"class":240},[230,801,803,805,807,809,811,813,816,818,820,822,824,826],{"class":232,"line":802},31,[230,804,777],{"class":356},[230,806,485],{"class":443},[230,808,782],{"class":244},[230,810,210],{"class":443},[230,812,166],{"class":240},[230,814,815],{"class":356},"toBeCalledWith",[230,817,485],{"class":443},[230,819,466],{"class":244},[230,821,248],{"class":240},[230,823,492],{"class":244},[230,825,210],{"class":443},[230,827,285],{"class":240},[230,829,831,833,835],{"class":232,"line":830},32,[230,832,667],{"class":240},[230,834,210],{"class":443},[230,836,285],{"class":240},[230,838,840],{"class":232,"line":839},33,[230,841,343],{"emptyLinePlaceholder":342},[230,843,845,847,849,851,854,856,858,860,862,864],{"class":232,"line":844},34,[230,846,682],{"class":356},[230,848,485],{"class":443},[230,850,282],{"class":240},[230,852,853],{"class":278},"should not create the notification if it already exists",[230,855,282],{"class":240},[230,857,248],{"class":240},[230,859,696],{"class":349},[230,861,527],{"class":240},[230,863,530],{"class":349},[230,865,415],{"class":240},[230,867,869,871,873,875,877,879,881,883,885,887,889,891],{"class":232,"line":868},35,[230,870,752],{"class":236},[230,872,323],{"class":244},[230,874,166],{"class":240},[230,876,176],{"class":244},[230,878,166],{"class":240},[230,880,185],{"class":356},[230,882,485],{"class":443},[230,884,466],{"class":244},[230,886,248],{"class":240},[230,888,492],{"class":244},[230,890,210],{"class":443},[230,892,285],{"class":240},[230,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926],{"class":232,"line":895},36,[230,897,708],{"class":349},[230,899,711],{"class":244},[230,901,427],{"class":240},[230,903,261],{"class":244},[230,905,166],{"class":240},[230,907,720],{"class":356},[230,909,485],{"class":443},[230,911,725],{"class":244},[230,913,166],{"class":240},[230,915,176],{"class":244},[230,917,248],{"class":240},[230,919,275],{"class":240},[230,921,185],{"class":278},[230,923,282],{"class":240},[230,925,210],{"class":443},[230,927,285],{"class":240},[230,929,931],{"class":232,"line":930},37,[230,932,343],{"emptyLinePlaceholder":342},[230,934,936,938,940,942,944,946,948,950],{"class":232,"line":935},38,[230,937,752],{"class":236},[230,939,357],{"class":356},[230,941,485],{"class":443},[230,943,466],{"class":244},[230,945,248],{"class":240},[230,947,492],{"class":244},[230,949,210],{"class":443},[230,951,285],{"class":240},[230,953,955],{"class":232,"line":954},39,[230,956,343],{"emptyLinePlaceholder":342},[230,958,960,962,964,966,968,970,973,975,978,980],{"class":232,"line":959},40,[230,961,777],{"class":356},[230,963,485],{"class":443},[230,965,782],{"class":244},[230,967,210],{"class":443},[230,969,166],{"class":240},[230,971,972],{"class":244},"not",[230,974,166],{"class":240},[230,976,977],{"class":356},"toBeCalled",[230,979,444],{"class":443},[230,981,285],{"class":240},[230,983,985,987,989],{"class":232,"line":984},41,[230,986,667],{"class":240},[230,988,210],{"class":443},[230,990,285],{"class":240},[230,992,994,997,999],{"class":232,"line":993},42,[230,995,996],{"class":240},"}",[230,998,210],{"class":244},[230,1000,285],{"class":240},[220,1002,1005],{"className":222,"code":1003,"filename":1004,"language":225,"meta":226,"style":226},"import { describe, it, beforeEach, vi, expect } from 'vitest';\nimport browser from 'webextension-polyfill';\nimport { fakeBrowser } from '@webext-core/fake-browser';\n\nasync function setupNotificationShownReports(\n  reportEvent: (notificationId: string) => void,\n): Promise\u003Cvoid> {\n  browser.notifications.onShown.addListener((id) => reportEvent(id));\n}\n\ndescribe('setupNotificationShownReports', () => {\n  beforeEach(() => {\n    fakeBrowser.reset();\n  });\n\n  it('should properly report an analytics event when a notification is shown', async () => {\n    const reportAnalyticsEvent = vi.fn();\n    const id = 'notification-id';\n\n    setupNotificationShownReports(reportAnalyticsEvent);\n    await fakeBrowser.notifications.onShown.trigger(id);\n\n    expect(reportAnalyticsEvent).toBeCalledTimes(1);\n    expect(reportAnalyticsEvent).toBeCalledWith(id);\n  });\n});\n","setupNotificationShownReports.test.ts",[154,1006,1007,1043,1061,1081,1085,1096,1121,1135,1175,1179,1183,1204,1216,1228,1236,1240,1263,1283,1300,1304,1318,1345,1349,1371,1393,1401],{"__ignoreMap":226},[230,1008,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027,1029,1031,1033,1035,1037,1039,1041],{"class":232,"line":233},[230,1010,237],{"class":236},[230,1012,241],{"class":240},[230,1014,245],{"class":244},[230,1016,248],{"class":240},[230,1018,251],{"class":244},[230,1020,248],{"class":240},[230,1022,256],{"class":244},[230,1024,248],{"class":240},[230,1026,261],{"class":244},[230,1028,248],{"class":240},[230,1030,266],{"class":244},[230,1032,269],{"class":240},[230,1034,272],{"class":236},[230,1036,275],{"class":240},[230,1038,279],{"class":278},[230,1040,282],{"class":240},[230,1042,285],{"class":240},[230,1044,1045,1047,1050,1053,1055,1057,1059],{"class":232,"line":288},[230,1046,237],{"class":236},[230,1048,1049],{"class":244}," browser ",[230,1051,1052],{"class":236},"from",[230,1054,275],{"class":240},[230,1056,309],{"class":278},[230,1058,282],{"class":240},[230,1060,285],{"class":240},[230,1062,1063,1065,1067,1069,1071,1073,1075,1077,1079],{"class":232,"line":316},[230,1064,237],{"class":236},[230,1066,241],{"class":240},[230,1068,323],{"class":244},[230,1070,269],{"class":240},[230,1072,272],{"class":236},[230,1074,275],{"class":240},[230,1076,332],{"class":278},[230,1078,282],{"class":240},[230,1080,285],{"class":240},[230,1082,1083],{"class":232,"line":339},[230,1084,343],{"emptyLinePlaceholder":342},[230,1086,1087,1089,1091,1094],{"class":232,"line":346},[230,1088,350],{"class":349},[230,1090,353],{"class":349},[230,1092,1093],{"class":356}," setupNotificationShownReports",[230,1095,360],{"class":240},[230,1097,1098,1101,1103,1105,1108,1110,1112,1114,1116,1119],{"class":232,"line":363},[230,1099,1100],{"class":356},"  reportEvent",[230,1102,370],{"class":240},[230,1104,455],{"class":240},[230,1106,1107],{"class":366},"notificationId",[230,1109,370],{"class":240},[230,1111,374],{"class":373},[230,1113,210],{"class":240},[230,1115,530],{"class":349},[230,1117,1118],{"class":373}," void",[230,1120,377],{"class":240},[230,1122,1123,1125,1127,1129,1131,1133],{"class":232,"line":380},[230,1124,400],{"class":240},[230,1126,403],{"class":373},[230,1128,406],{"class":240},[230,1130,409],{"class":373},[230,1132,412],{"class":240},[230,1134,415],{"class":240},[230,1136,1137,1140,1142,1144,1146,1148,1150,1153,1155,1157,1159,1161,1163,1166,1168,1170,1173],{"class":232,"line":397},[230,1138,1139],{"class":244},"  browser",[230,1141,166],{"class":240},[230,1143,176],{"class":244},[230,1145,166],{"class":240},[230,1147,209],{"class":244},[230,1149,166],{"class":240},[230,1151,1152],{"class":356},"addListener",[230,1154,485],{"class":443},[230,1156,485],{"class":240},[230,1158,466],{"class":366},[230,1160,210],{"class":240},[230,1162,530],{"class":349},[230,1164,1165],{"class":356}," reportEvent",[230,1167,485],{"class":443},[230,1169,466],{"class":244},[230,1171,1172],{"class":443},"))",[230,1174,285],{"class":240},[230,1176,1177],{"class":232,"line":418},[230,1178,502],{"class":240},[230,1180,1181],{"class":232,"line":449},[230,1182,343],{"emptyLinePlaceholder":342},[230,1184,1185,1187,1189,1191,1194,1196,1198,1200,1202],{"class":232,"line":499},[230,1186,513],{"class":356},[230,1188,485],{"class":244},[230,1190,282],{"class":240},[230,1192,1193],{"class":278},"setupNotificationShownReports",[230,1195,282],{"class":240},[230,1197,248],{"class":240},[230,1199,527],{"class":240},[230,1201,530],{"class":349},[230,1203,415],{"class":240},[230,1205,1206,1208,1210,1212,1214],{"class":232,"line":505},[230,1207,638],{"class":356},[230,1209,485],{"class":443},[230,1211,444],{"class":240},[230,1213,530],{"class":349},[230,1215,415],{"class":240},[230,1217,1218,1220,1222,1224,1226],{"class":232,"line":510},[230,1219,652],{"class":244},[230,1221,166],{"class":240},[230,1223,657],{"class":356},[230,1225,444],{"class":443},[230,1227,285],{"class":240},[230,1229,1230,1232,1234],{"class":232,"line":535},[230,1231,667],{"class":240},[230,1233,210],{"class":443},[230,1235,285],{"class":240},[230,1237,1238],{"class":232,"line":554},[230,1239,343],{"emptyLinePlaceholder":342},[230,1241,1242,1244,1246,1248,1251,1253,1255,1257,1259,1261],{"class":232,"line":573},[230,1243,682],{"class":356},[230,1245,485],{"class":443},[230,1247,282],{"class":240},[230,1249,1250],{"class":278},"should properly report an analytics event when a notification is shown",[230,1252,282],{"class":240},[230,1254,248],{"class":240},[230,1256,696],{"class":349},[230,1258,527],{"class":240},[230,1260,530],{"class":349},[230,1262,415],{"class":240},[230,1264,1265,1267,1270,1272,1274,1276,1279,1281],{"class":232,"line":590},[230,1266,708],{"class":349},[230,1268,1269],{"class":244}," reportAnalyticsEvent",[230,1271,427],{"class":240},[230,1273,261],{"class":244},[230,1275,166],{"class":240},[230,1277,1278],{"class":356},"fn",[230,1280,444],{"class":443},[230,1282,285],{"class":240},[230,1284,1285,1287,1289,1291,1293,1296,1298],{"class":232,"line":607},[230,1286,708],{"class":349},[230,1288,540],{"class":244},[230,1290,427],{"class":240},[230,1292,275],{"class":240},[230,1294,1295],{"class":278},"notification-id",[230,1297,282],{"class":240},[230,1299,285],{"class":240},[230,1301,1302],{"class":232,"line":624},[230,1303,343],{"emptyLinePlaceholder":342},[230,1305,1306,1309,1311,1314,1316],{"class":232,"line":630},[230,1307,1308],{"class":356},"    setupNotificationShownReports",[230,1310,485],{"class":443},[230,1312,1313],{"class":244},"reportAnalyticsEvent",[230,1315,210],{"class":443},[230,1317,285],{"class":240},[230,1319,1320,1322,1324,1326,1328,1330,1332,1334,1337,1339,1341,1343],{"class":232,"line":635},[230,1321,752],{"class":236},[230,1323,323],{"class":244},[230,1325,166],{"class":240},[230,1327,176],{"class":244},[230,1329,166],{"class":240},[230,1331,209],{"class":244},[230,1333,166],{"class":240},[230,1335,1336],{"class":356},"trigger",[230,1338,485],{"class":443},[230,1340,466],{"class":244},[230,1342,210],{"class":443},[230,1344,285],{"class":240},[230,1346,1347],{"class":232,"line":649},[230,1348,343],{"emptyLinePlaceholder":342},[230,1350,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369],{"class":232,"line":664},[230,1352,777],{"class":356},[230,1354,485],{"class":443},[230,1356,1313],{"class":244},[230,1358,210],{"class":443},[230,1360,166],{"class":240},[230,1362,789],{"class":356},[230,1364,485],{"class":443},[230,1366,795],{"class":794},[230,1368,210],{"class":443},[230,1370,285],{"class":240},[230,1372,1373,1375,1377,1379,1381,1383,1385,1387,1389,1391],{"class":232,"line":674},[230,1374,777],{"class":356},[230,1376,485],{"class":443},[230,1378,1313],{"class":244},[230,1380,210],{"class":443},[230,1382,166],{"class":240},[230,1384,815],{"class":356},[230,1386,485],{"class":443},[230,1388,466],{"class":244},[230,1390,210],{"class":443},[230,1392,285],{"class":240},[230,1394,1395,1397,1399],{"class":232,"line":679},[230,1396,667],{"class":240},[230,1398,210],{"class":443},[230,1400,285],{"class":240},[230,1402,1403,1405,1407],{"class":232,"line":705},[230,1404,996],{"class":240},[230,1406,210],{"class":244},[230,1408,285],{"class":240},[150,1410,1412],{"id":1411},"runtime",[154,1413,1411],{},[157,1415,1416,1423,1432],{},[160,1417,1418,1419,1422],{},"All events have been implemented, but all of them other than ",[154,1420,1421],{},"onMessage"," must be triggered manually.",[160,1424,1425,1428,1429,166],{},[154,1426,1427],{},"runtime.id"," is a hardcoded string. You can set this to whatever you want, but it is reset to the hardcoded value when calling ",[154,1430,1431],{},"reset()",[160,1433,1434,1435,1438,1439,1441,1442,1444],{},"Unlike in a real production, ",[154,1436,1437],{},"sendMessage"," will trigger ",[154,1440,1421],{}," listeners setup in the same JS context. This allows you to add a listener when setting up your test, then call ",[154,1443,1437],{}," to trigger it.",[150,1446,1447],{"id":118},[154,1448,118],{},[157,1450,1451,1467,1476],{},[160,1452,1453,1454,186,1457,186,1460,190,1463,1466],{},"The ",[154,1455,1456],{},"local",[154,1458,1459],{},"sync",[154,1461,1462],{},"session",[154,1464,1465],{},"managed"," storages are all stored separately in memory.",[160,1468,1469,186,1472,1475],{},[154,1470,1471],{},"storage.onChanged",[154,1473,1474],{},"storage.{area}.onChanged"," events are all triggered when updating values.",[160,1477,1478],{},"Each storage area can be reset individually.",[150,1480,1482,1485,1486],{"id":1481},"tabs-and-windows",[154,1483,1484],{},"tabs"," and ",[154,1487,1488],{},"windows",[157,1490,1491,1494],{},[160,1492,1493],{},"Fully implemented.",[160,1495,1496,1497,1499,1500,1502,1503,1485,1506,1509],{},"All methods trigger corresponding ",[154,1498,1484],{}," events AND ",[154,1501,1488],{}," events depending on what happened (ie: closing the last tab of a window would trigger both ",[154,1504,1505],{},"tabs.onRemoved",[154,1507,1508],{},"windows.onRemoved",").",[150,1511,1513],{"id":1512},"webnavigation",[154,1514,1515],{},"webNavigation",[157,1517,1518,1528],{},[160,1519,1520,1521,1485,1524,1527],{},"The two functions, ",[154,1522,1523],{},"getFrame",[154,1525,1526],{},"getAllFrames"," are not implemented. You will have to mock their return values yourself.",[160,1529,1530,1531],{},"All the event listeners are implemented, but none are triggered automatically. They can be triggered manually by calling ",[154,1532,1533],{},"browser.webNavigation.{event}.trigger(...)",[1535,1536,1537],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":226,"searchDepth":288,"depth":288,"links":1539},[1540,1541,1544,1545,1546,1548],{"id":152,"depth":288,"text":152},{"id":176,"depth":288,"text":176,"children":1542},[1543],{"id":214,"depth":316,"text":215},{"id":1411,"depth":288,"text":1411},{"id":118,"depth":288,"text":118},{"id":1481,"depth":288,"text":1547},"tabs and windows",{"id":1512,"depth":288,"text":1515},"md",null,{},{"title":44,"description":226},"2nrL_hAKWaIUgVS1XiFOtCtC_XqgPlOiY84CNCKXPts",[1555,1556],{"title":40,"path":41,"stem":42,"description":226,"children":-1},{"title":48,"path":49,"stem":50,"description":226,"children":-1},1780345581922]