Skip to content

Commit 366f8dd

Browse files
committed
Merge branch 'master' of github.com:resumable2/resumable.js
2 parents f2be717 + e0a3a88 commit 366f8dd

File tree

5 files changed

+82
-3
lines changed

5 files changed

+82
-3
lines changed

README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,21 @@ Resumable.js does not have any external dependencies other than the `HTML5 File
99

1010
Samples and examples are available in the `samples/` folder. Please push your own as Markdown to help document the project.
1111

12+
## Can i see a demo?
13+
[Resumable.js + angular.js file upload demo](http://resumable2.github.io/ng-resumable/) - ng-resumable extension page https://github.com/resumable2/ng-resumable
14+
15+
JQuery and node.js backend demo https://github.com/resumable2/resumable.js/tree/master/samples/Node.js
16+
17+
## How can I install it?
18+
use bower:
19+
20+
bower install resumable.js#~2
21+
use cdn, look for available packages at http://www.jsdelivr.com/#!resumable.js
22+
23+
or use git clone
24+
25+
git clone https://github.com/resumable2/resumable.js
26+
1227
## How can I use it?
1328

1429
A new `Resumable` object is created with information of what and where to post:

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "resumable.js",
3-
"version": "2.0.0",
3+
"version": "2.0.0-beta",
44
"main": "src/resumable.js",
55
"ignore": [
66
"**/.*",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "resumable.js",
3-
"version": "2.0.0",
3+
"version": "2.0.0-beta",
44
"description": "Resumable.js is a JavaScript library providing multiple simultaneous, stable and resumable uploads via the HTML5 File API",
55
"main": "resumable.js",
66
"scripts": {

test/setupSpec.js

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,67 @@ describe('setup', function() {
3838
expect(resumable.uploadNextChunk()).toBe(false);
3939
});
4040

41+
describe('assignBrowse', function() {
42+
it('assign to input', function() {
43+
var input = document.createElement('input');
44+
var addFiles = jasmine.createSpy('addFiles');
45+
resumable.addFiles = addFiles;
46+
input.type = 'file';
47+
resumable.assignBrowse(input);
48+
expect(input.hasAttribute('multiple')).toBeTruthy();
49+
expect(addFiles).not.toHaveBeenCalled();
50+
var event = document.createEvent('MouseEvents');
51+
event.initEvent('change', true, true);
52+
input.dispatchEvent(event);
53+
expect(addFiles).toHaveBeenCalled();
54+
});
55+
56+
it('assign to div', function() {
57+
var div = document.createElement('div');
58+
var addFiles = jasmine.createSpy('addFiles');
59+
resumable.addFiles = addFiles;
60+
resumable.assignBrowse(div);
61+
expect(div.children.length).toBe(1);
62+
var input = div.children[0];
63+
expect(addFiles).not.toHaveBeenCalled();
64+
var event = document.createEvent('MouseEvents');
65+
event.initEvent('change', true, true);
66+
input.dispatchEvent(event);
67+
expect(addFiles).toHaveBeenCalled();
68+
});
69+
70+
it('single file', function() {
71+
var input = document.createElement('input');
72+
input.type = 'file';
73+
resumable.assignBrowse(input, false, true);
74+
expect(input.hasAttribute('multiple')).toBeFalsy();
75+
});
76+
77+
it('directory', function() {
78+
var input = document.createElement('input');
79+
input.type = 'file';
80+
resumable.assignBrowse(input, true);
81+
expect(input.hasAttribute('webkitdirectory')).toBeTruthy();
82+
});
83+
});
84+
85+
describe('assignDrop', function() {
86+
it('assign to div', function() {
87+
var div = document.createElement('div');
88+
var onDrop = jasmine.createSpy('onDrop');
89+
resumable.onDrop = onDrop;
90+
resumable.assignDrop(div);
91+
var event = document.createEvent('MouseEvents');
92+
event.initEvent('drop', true, true);
93+
event.dataTransfer = {files: []};
94+
div.dispatchEvent(event);
95+
expect(onDrop).toHaveBeenCalled();
96+
expect(onDrop.callCount).toBe(1);
97+
98+
resumable.unAssignDrop(div);
99+
div.dispatchEvent(event);
100+
expect(onDrop.callCount).toBe(1);
101+
});
102+
});
103+
41104
});

test/uploadSpec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,11 @@ describe('upload file', function() {
5656
expect(requests[2].url).toContain('b=2');
5757
expect(requests[2].url).not.toContain('a=1');
5858

59+
resumable.opts.target = 'file?w=w';
5960
resumable.opts.query = undefined;
6061
resumable.files[0].retry();
6162
expect(requests.length).toBe(4);
62-
expect(requests[3].url).toContain('file');
63+
expect(requests[3].url).toContain('file?w=w&');
6364
expect(requests[3].url).not.toContain('a=1');
6465
expect(requests[3].url).not.toContain('b=2');
6566
});

0 commit comments

Comments
 (0)