Comments (5)
@gm-al FYI, we will upgrade the roosterjs-react code to be v9 and use new v9 editor in a near future. Although in this change most logic is not changed, but all the code interfaces will be moved to using v9 types.
So if you are still working on the unit test, you may hold on and wait for this v9 change so that your test can target to the new roosterjs-react code.
from roosterjs.
@gm-al sure please go ahead and our team will be happy to do code review.
from roosterjs.
I'm working on writing the unit tests for the roosterjs-react
, I'm facing some issues related to the webpack config when running tests I wrote for the createPasteOptionPlugin
in the pasteOptions
folder. When I run npm test
I get the following error logs.
An error was thrown in afterAll
Uncaught Error: Module parse failed: Unexpected token (12:12)
You may need an appropriate loader to handle this file type,
currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| import { renderReactComponent } from '../../common/utils/renderReactComponent';
| import { useTheme } from '@fluentui/react/lib/Theme';
> import type { LocalizedStrings, UIUtilities } from '../../common/index';
| import type { Theme } from '@fluentui/react/lib/Theme';
| import type { PasteOptionButtonKeys, PasteOptionStringKeys } from '../type/PasteOptionStringKeys';
an example of a unit test:
describe('createPasteOptionPlugin', () => {
let editor: IEditor;
let plugin: ReactEditorPlugin;
beforeEach(() => {
plugin = createPasteOptionPlugin();
editor = initEditor(div, [plugin]);
plugin.initialize(editor);
});
it('getName', () => {
expect(plugin.getName()).toEqual('PasteOption');
});
});
I'm not sure what I'm missing but the webpack.config
already handles files with ts
extension using ts-loader
. Is there new configuration we need to add to handle these TypeScript files with type imports and update the tsconfig? I would appreciate your help on this @JiuqingSong . Thank you!
from roosterjs.
From the error message, it is complaining the keyword "type". Can you try to remove it?
Currently we didn't force adding "type" import for test code, so we didn't test when adding it if it can pass the build
from roosterjs.
Yes, actually I did that earlier and got another error but now that I am thinking about it, I think webpack is complaining about the code being imported from the fluentui
lib?
Uncaught Error: Module parse failed: Unexpected token (17:55)
You may need an appropriate loader to handle this file type,
currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| import { useTheme } from '@fluentui/react/lib/Theme';
|
> const getPasteOptionClassNames = memoizeFunction((theme: Theme) => {
| const palette = theme.palette;
|
from roosterjs.
Related Issues (20)
- On Safari, inserted new column of a table are not added next to the selected cell
- Enter on expanded selection under list should create new list item HOT 1
- contentModelToText treat some elements as empty string HOT 1
- Make `watermark` property accessible by descendants of WatermarkPlugin (content model packages) HOT 3
- Minimal example for React+TypeScript in a SPA, preferably with FluentUI v9 theming HOT 7
- Watermark plugin doesn't work well with the indentation change when editor doesn't have any content HOT 4
- Some links are pasted as <a> tag even when `autoLink = false` for AutoFormatPlugin HOT 2
- [Safari only] When table context menu is shown, table cell is selected for a moment
- "scrollCaretIntoView" causes unexpected scrolling
- New text overlaps the placeholder text for Android HOT 1
- Content Model convert "dir" attribute to "direction" style HOT 1
- MutationObserver will be triggered by ContentModel frequently
- How to get table border options with new version of rooster. HOT 9
- How to have a functionality to mention users in rooster HOT 1
- How to create an anchor with content-model HOT 7
- cursor move to the left of the link after create it HOT 4
- Assignment of css class (class attribute) in selection HOT 5
- Table size selection shows incorrectly on mobile HOT 1
- Auto correction make list number become default font size HOT 1
- 'imageSelectionBorderColor' config doesn't take effect in Safari HOT 2
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 roosterjs.