[SignalingServer] Optimize dependent modules
[platform/framework/web/wrtjs.git] / signaling_server / service / node_modules / blob / test / index.js
1 var Blob = require('../');\r
2 var expect = require('expect.js');\r
3 \r
4 describe('blob', function() {\r
5   if (!Blob) {\r
6     it('should not have a blob or a blob builder in the global namespace, or blob should not be a constructor function if the module exports false', function() {\r
7       try {\r
8         var ab = (new Uint8Array(5)).buffer;\r
9         global.Blob([ab]);\r
10         expect().fail('Blob shouldn\'t be constructable');\r
11       } catch (e) {}\r
12 \r
13       var BlobBuilder = global.BlobBuilder\r
14         || global.WebKitBlobBuilder\r
15         || global.MSBlobBuilder\r
16         || global.MozBlobBuilder;\r
17       expect(BlobBuilder).to.be(undefined);\r
18     });\r
19   } else {\r
20     it('should encode a proper sized blob when given a string argument', function() {\r
21       var b = new Blob(['hi']);\r
22       expect(b.size).to.be(2);\r
23     });\r
24 \r
25     it('should encode a blob with proper size when given two strings as arguments', function() {\r
26       var b = new Blob(['hi', 'hello']);\r
27       expect(b.size).to.be(7);\r
28     });\r
29 \r
30     it('should encode arraybuffers with right content', function(done) {\r
31       var ary = new Uint8Array(5);\r
32       for (var i = 0; i < 5; i++) ary[i] = i;\r
33       var b = new Blob([ary.buffer]);\r
34       var fr = new FileReader();\r
35       fr.onload = function() {\r
36         var newAry = new Uint8Array(this.result);\r
37         for (var i = 0; i < 5; i++) expect(newAry[i]).to.be(i);\r
38         done();\r
39       };\r
40       fr.readAsArrayBuffer(b);\r
41     });\r
42 \r
43     it('should encode typed arrays with right content', function(done) {\r
44       var ary = new Uint8Array(5);\r
45       for (var i = 0; i < 5; i++) ary[i] = i;\r
46       var b = new Blob([ary]);\r
47       var fr = new FileReader();\r
48       fr.onload = function() {\r
49         var newAry = new Uint8Array(this.result);\r
50         for (var i = 0; i < 5; i++) expect(newAry[i]).to.be(i);\r
51         done();\r
52       };\r
53       fr.readAsArrayBuffer(b);\r
54     });\r
55 \r
56     it('should encode sliced typed arrays with right content', function(done) {\r
57       var ary = new Uint8Array(5);\r
58       for (var i = 0; i < 5; i++) ary[i] = i;\r
59       var b = new Blob([ary.subarray(2)]);\r
60       var fr = new FileReader();\r
61       fr.onload = function() {\r
62         var newAry = new Uint8Array(this.result);\r
63         for (var i = 0; i < 3; i++) expect(newAry[i]).to.be(i + 2);\r
64         done();\r
65       };\r
66       fr.readAsArrayBuffer(b);\r
67     });\r
68 \r
69     it('should encode with blobs', function(done) {\r
70       var ary = new Uint8Array(5);\r
71       for (var i = 0; i < 5; i++) ary[i] = i;\r
72       var b = new Blob([new Blob([ary.buffer])]);\r
73       var fr = new FileReader();\r
74       fr.onload = function() {\r
75         var newAry = new Uint8Array(this.result);\r
76         for (var i = 0; i < 5; i++) expect(newAry[i]).to.be(i);\r
77         done();\r
78       };\r
79       fr.readAsArrayBuffer(b);\r
80     });\r
81 \r
82     it('should enode mixed contents to right size', function() {\r
83       var ary = new Uint8Array(5);\r
84       for (var i = 0; i < 5; i++) ary[i] = i;\r
85       var b = new Blob([ary.buffer, 'hello']);\r
86       expect(b.size).to.be(10);\r
87     });\r
88 \r
89     it('should accept mime type', function() {\r
90       var b = new Blob(['hi', 'hello'], { type: 'text/html' });\r
91       expect(b.type).to.be('text/html');\r
92     });\r
93 \r
94     it('should be an instance of constructor', function() {\r
95       var b = new Blob(['hi']);\r
96       expect(b).to.be.a(Blob);\r
97       expect(b).to.be.a(global.Blob);\r
98     });\r
99   }\r
100 });\r