Comments (4)
If it is just a case of missing support, I think we can add it. If you want I can make a PR to add these mocks, I looked over the existing source code and I think I understand how this library works.
Yes, please do! I'd love a PR to add support. 🔨
from jest-webextension-mock.
I made the mocks for the windows api (see here) but I just had a question about how jest-webextension-mock
works 🤔 .
In the documentation for the chrome.tab.get
API the callback is passed a Tab
object. But when I look in the mocks I see:
export const tabs = { get: jest.fn((id = '', cb = () => {}) => cb({})), ... }
So I have two questions:
- If the code being tested actually passes in a callback it will expect a Tab object with certain properties but from what I can tell it will always get an empty object?
- How does this deal with the difference between the browser.* and chrome.* APIs? From what I understand the WebExtension API expects promises while the chrome API expects callbacks. So if I understand this correctly if we call
browser.tabs.get
in our code we wont have anything returned?
from jest-webextension-mock.
If the code being tested actually passes in a callback it will expect a Tab object with certain properties but from what I can tell it will always get an empty object?
I'm guessing you'll need to fix that and it was just stubbed out.
How does this deal with the difference between the browser.* and chrome.* APIs? From what I understand the WebExtension API expects promises while the chrome API expects callbacks. So if I understand this correctly if we call
browser.tabs.get
in our code we wont have anything returned?
In a number of places where this is a concern we use a pattern like this:
jest-webextension-mock/src/browserAction.js
Lines 1 to 6 in 3a37dd9
from jest-webextension-mock.
Any progress on this? :)
from jest-webextension-mock.
Related Issues (20)
- Make runtime.onMessage react to tabs.sendMessage HOT 3
- Add support for browser/chrome.management.* APIs
- Add contribution guidelines HOT 1
- chrome.storage.local.get should return a deep copy of objects
- Testing onMessage listeners HOT 3
- onMessageExternal missing from from runtime mock HOT 1
- `browser.permissions` is missing HOT 3
- Question: Is webextension-polyfill 0.9.0 supported? HOT 3
- `This script should only be loaded in a browser extension` HOT 1
- Support for manifest version 3 HOT 1
- Missing onChanged on chrome.storage.sync HOT 1
- Add support for runtime.getManifest HOT 1
- BUG: "Cannot read property 'addListener' of undefined" for `browser.storage.local.onChanged.addListener` HOT 3
- Vitest support HOT 5
- Struggling with ts-jest HOT 2
- chrome.runtime.onMessage inconsistent callback parameters? HOT 1
- throw new Error('Wrong key given'); HOT 1
- Add support for browser.webRequest API HOT 1
- Add `sidePanel` API HOT 1
- Separate storage values by type HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jest-webextension-mock.