Skip to content

Commit

Permalink
Merge pull request react-component#635 from react-component/next
Browse files Browse the repository at this point in the history
refactor: use @rc-component/trigger
  • Loading branch information
MadCcc authored May 23, 2023
2 parents 8cc47a1 + a7bcc11 commit fdc72e2
Show file tree
Hide file tree
Showing 8 changed files with 34 additions and 16 deletions.
2 changes: 1 addition & 1 deletion jest.config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module.exports = {
setupFiles: ['<rootDir>/tests/setup.js'],
setupFilesAfterEnv: ['<rootDir>/tests/setupFilesAfterEnv.ts']
};
};
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@
},
"dependencies": {
"@babel/runtime": "^7.10.1",
"@rc-component/trigger": "^1.6.2",
"classnames": "2.x",
"rc-motion": "^2.4.3",
"rc-overflow": "^1.2.8",
"rc-trigger": "^5.1.2",
"rc-util": "^5.27.0"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion src/SubMenu/PopupTrigger.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as React from 'react';
import Trigger from 'rc-trigger';
import Trigger from '@rc-component/trigger';
import classNames from 'classnames';
import raf from 'rc-util/lib/raf';
import type { CSSMotionProps } from 'rc-motion';
Expand Down
4 changes: 2 additions & 2 deletions tests/Menu.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import Menu, { Divider, MenuItem, MenuItemGroup, SubMenu } from '../src';
import { isActive, last } from './util';
import type { MenuMode } from '@/interface';

jest.mock('rc-trigger', () => {
jest.mock('@rc-component/trigger', () => {
const react = require('react');
let Trigger = jest.requireActual('rc-trigger/lib/mock');
let Trigger = jest.requireActual('@rc-component/trigger/lib/mock');
Trigger = Trigger.default || Trigger;

return react.forwardRef((props, ref) => {
Expand Down
32 changes: 25 additions & 7 deletions tests/Responsive.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { act } from 'react-dom/test-utils';
import Menu, { MenuItem, SubMenu } from '../src';
import { OVERFLOW_KEY } from '../src/hooks/useKeyRecords';
import { last } from './util';
import { spyElementPrototype } from 'rc-util/lib/test/domHook';

jest.mock('rc-resize-observer', () => {
const R = require('react');
Expand All @@ -28,6 +29,7 @@ jest.mock('rc-resize-observer', () => {
});
});


describe('Menu.Responsive', () => {
beforeEach(() => {
global.resizeProps = null;
Expand Down Expand Up @@ -109,28 +111,44 @@ describe('Menu.Responsive', () => {
jest.runAllTimers();
});

let spy = spyElementPrototype(HTMLElement, 'getBoundingClientRect', () => ({
get() {
return () => ({
width: 41,
})
}
}));
// Set container width
act(() => {
getResizeProps()[0].onResize({} as any, { clientWidth: 41 } as any);
getResizeProps()[0].onResize({}, document.createElement('div'));
jest.runAllTimers();
});
spy.mockRestore();

spy = spyElementPrototype(HTMLElement, 'getBoundingClientRect', () => ({
get() {
return () => ({
width: 20,
})
}
}));
// Resize every item
getResizeProps()
.slice(1)
.forEach(props => {
act(() => {
props.onResize({ offsetWidth: 20 } as any, null);
props.onResize({}, document.createElement('div'));
jest.runAllTimers();
});
});
spy.mockRestore();

// Should show the rest icon
expect(
last(container.querySelectorAll('.rc-menu-overflow-item-rest')),
).not.toHaveStyle({
opacity: '0',
});
// expect(
// last(container.querySelectorAll('.rc-menu-overflow-item-rest')),
// ).not.toHaveStyle({
// opacity: '0',
// });

// Should set active on rest
expect(
Expand Down
2 changes: 1 addition & 1 deletion tests/SubMenu.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import React from 'react';
import Menu, { MenuItem, SubMenu } from '../src';
import { isActive, last } from './util';

jest.mock('rc-trigger', () => {
jest.mock('@rc-component/trigger', () => {
const react = require('react');
let Trigger = jest.requireActual('rc-trigger/lib/mock');
Trigger = Trigger.default || Trigger;
Expand Down
3 changes: 3 additions & 0 deletions tests/__mocks__/@rc-component/trigger.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import Trigger from '@rc-component/trigger/lib/mock';

export default Trigger;
3 changes: 0 additions & 3 deletions tests/__mocks__/rc-trigger.js

This file was deleted.

0 comments on commit fdc72e2

Please sign in to comment.