Skip to content

Commit 8a27632

Browse files
authored
Merge branch 'react-component:master' into master
2 parents 6b4019e + b0fb266 commit 8a27632

File tree

3 files changed

+39
-2
lines changed

3 files changed

+39
-2
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rc-upload",
3-
"version": "4.7.0",
3+
"version": "4.8.1",
44
"description": "upload ui component for react",
55
"keywords": [
66
"react",
@@ -27,7 +27,7 @@
2727
"compile": "father build",
2828
"coverage": "rc-test --coverage",
2929
"docs:build": "dumi build",
30-
"docs:deploy": "npm run docs:build && gh-pages -d .doc",
30+
"docs:deploy": "npm run docs:build && gh-pages -d dist",
3131
"lint": "eslint src/ --ext .ts,.tsx,.jsx,.js,.md",
3232
"now-build": "npm run docs:build",
3333
"prepublishOnly": "npm run compile && np --yolo --no-publish",

src/AjaxUploader.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ class AjaxUploader extends Component<UploadProps> {
274274
classNames = {},
275275
disabled,
276276
id,
277+
name,
277278
style,
278279
styles = {},
279280
multiple,
@@ -312,6 +313,11 @@ class AjaxUploader extends Component<UploadProps> {
312313
<input
313314
{...pickAttrs(otherProps, { aria: true, data: true })}
314315
id={id}
316+
/**
317+
* https://github.com/ant-design/ant-design/issues/50643,
318+
* https://github.com/react-component/upload/pull/575#issuecomment-2320646552
319+
*/
320+
name={name}
315321
disabled={disabled}
316322
type="file"
317323
ref={this.saveFileInput}

tests/uploader.spec.tsx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,12 @@ describe('uploader', () => {
152152
expect(container.querySelector('input')!.id).toBe('bamboo');
153153
});
154154

155+
// https://github.com/ant-design/ant-design/issues/50643
156+
it('with name', () => {
157+
const { container } = render(<Upload name="bamboo" />);
158+
expect(container.querySelector('input')!.name).toBe('bamboo');
159+
});
160+
155161
it('should pass through data & aria attributes', () => {
156162
const { container } = render(
157163
<Upload
@@ -369,6 +375,31 @@ describe('uploader', () => {
369375
await new Promise(resolve => setTimeout(resolve, 100));
370376
await new Promise(resolve => setTimeout(resolve, 2000));
371377
});
378+
379+
it('should pass file to request', done => {
380+
const fakeRequest = jest.fn((file) => {
381+
expect(file).toEqual(expect.objectContaining({
382+
filename: 'file', // <= https://github.com/react-component/upload/pull/574
383+
file: expect.any(File),
384+
method: 'post',
385+
onError: expect.any(Function),
386+
onProgress: expect.any(Function),
387+
onSuccess: expect.any(Function),
388+
data: expect.anything(),
389+
}));
390+
391+
done();
392+
});
393+
394+
const { container } = render(<Upload customRequest={fakeRequest} />);
395+
const input = container.querySelector('input')!;
396+
const files = [new File([''], 'success.png', { type: 'image/png' })];
397+
Object.defineProperty(files, 'item', {
398+
value: i => files[i],
399+
});
400+
401+
fireEvent.change(input, { target: { files } });
402+
});
372403
});
373404

374405
describe('directory uploader', () => {

0 commit comments

Comments
 (0)