@@ -50,7 +50,7 @@ nodeutil.inherits(FakeDuplexify, duplexify);
50
50
var makeWritableStream_Override ;
51
51
var fakeUtil = extend ( { } , util , {
52
52
makeWritableStream : function ( ) {
53
- var args = [ ] . slice . call ( arguments ) ;
53
+ var args = util . toArray ( arguments ) ;
54
54
( makeWritableStream_Override || util . makeWritableStream ) . apply ( null , args ) ;
55
55
makeWritableStream_Override = null ;
56
56
}
@@ -60,7 +60,7 @@ var request_Cached = request;
60
60
var request_Override ;
61
61
62
62
function fakeRequest ( ) {
63
- var args = [ ] . slice . apply ( arguments ) ;
63
+ var args = util . toArray ( arguments ) ;
64
64
var results = ( request_Override || request_Cached ) . apply ( null , args ) ;
65
65
request_Override = null ;
66
66
return results ;
@@ -93,21 +93,24 @@ var File = require('sandboxed-module')
93
93
94
94
describe ( 'File' , function ( ) {
95
95
var FILE_NAME = 'file-name.png' ;
96
- var options = {
97
- makeAuthorizedRequest_ : function ( req , callback ) {
98
- ( callback . onAuthorized || callback ) ( null , req ) ;
99
- }
100
- } ;
101
- var bucket = new Bucket ( options , 'bucket-name' ) ;
102
96
var file ;
103
97
var directoryFile ;
98
+ var bucket ;
104
99
105
100
beforeEach ( function ( ) {
101
+ var options = {
102
+ makeAuthorizedRequest_ : function ( req , callback ) {
103
+ ( callback . onAuthorized || callback ) ( null , req ) ;
104
+ }
105
+ } ;
106
+ bucket = new Bucket ( options , 'bucket-name' ) ;
106
107
file = new File ( bucket , FILE_NAME ) ;
107
108
file . makeReq_ = util . noop ;
108
109
109
110
directoryFile = new File ( bucket , 'directory/file.jpg' ) ;
110
111
directoryFile . makeReq_ = util . noop ;
112
+
113
+ request_Override = null ;
111
114
} ) ;
112
115
113
116
describe ( 'initialization' , function ( ) {
@@ -418,6 +421,53 @@ describe('File', function() {
418
421
} ) ;
419
422
} ) ;
420
423
} ) ;
424
+
425
+ it ( 'should accept a start range' , function ( done ) {
426
+ var startOffset = 100 ;
427
+
428
+ request_Override = function ( opts ) {
429
+ setImmediate ( function ( ) {
430
+ assert . equal ( opts . headers . Range , 'bytes=' + startOffset + '-' ) ;
431
+ done ( ) ;
432
+ } ) ;
433
+ return duplexify ( ) ;
434
+ } ;
435
+
436
+ file . metadata = metadata ;
437
+ file . createReadStream ( { start : startOffset } ) ;
438
+ } ) ;
439
+
440
+ it ( 'should accept an end range' , function ( done ) {
441
+ var endOffset = 100 ;
442
+
443
+ request_Override = function ( opts ) {
444
+ setImmediate ( function ( ) {
445
+ assert . equal ( opts . headers . Range , 'bytes=-' + endOffset ) ;
446
+ done ( ) ;
447
+ } ) ;
448
+ return duplexify ( ) ;
449
+ } ;
450
+
451
+ file . metadata = metadata ;
452
+ file . createReadStream ( { end : endOffset } ) ;
453
+ } ) ;
454
+
455
+ it ( 'should accept both a start and end range' , function ( done ) {
456
+ var startOffset = 100 ;
457
+ var endOffset = 101 ;
458
+
459
+ request_Override = function ( opts ) {
460
+ setImmediate ( function ( ) {
461
+ var expectedRange = 'bytes=' + startOffset + '-' + endOffset ;
462
+ assert . equal ( opts . headers . Range , expectedRange ) ;
463
+ done ( ) ;
464
+ } ) ;
465
+ return duplexify ( ) ;
466
+ } ;
467
+
468
+ file . metadata = metadata ;
469
+ file . createReadStream ( { start : startOffset , end : endOffset } ) ;
470
+ } ) ;
421
471
} ) ;
422
472
423
473
describe ( 'createWriteStream' , function ( ) {
0 commit comments