diff options
Diffstat (limited to 'tests/download/http_byte_range_test.php')
| -rw-r--r-- | tests/download/http_byte_range_test.php | 62 | 
1 files changed, 55 insertions, 7 deletions
| diff --git a/tests/download/http_byte_range_test.php b/tests/download/http_byte_range_test.php index f920299048..8975ec1799 100644 --- a/tests/download/http_byte_range_test.php +++ b/tests/download/http_byte_range_test.php @@ -45,24 +45,72 @@ class phpbb_download_http_byte_range_test extends phpbb_test_case  	public function parse_range_request_data()  	{  		return array( -			// Does not read until the end of file. +            // Valid request  			array(  				array('3-4'),  				10, -				false, +				array( +					'byte_pos_start'	=> 3, +					'byte_pos_end'		=> 4, +					'bytes_requested'	=> 2, +					'bytes_total'		=> 10, +				),  			), -			// Valid request, handle second range. +            // Get the beginning  			array( -				array('0-0', '120-125'), -				125, +				array('-5'), +				10,  				array( -					'byte_pos_start'	=> 120, -					'byte_pos_end'		=> 124, +					'byte_pos_start'	=> 0, +					'byte_pos_end'		=> 5, +					'bytes_requested'	=> 6, +					'bytes_total'		=> 10, +				), +			), + +            // Get the end +			array( +				array('5-'), +				10, +				array( +					'byte_pos_start'	=> 5, +					'byte_pos_end'		=> 9,  					'bytes_requested'	=> 5, +					'bytes_total'		=> 10, +				), +			), + +            // Overlong request +			array( +				array('3-20'), +				10, +				array( +					'byte_pos_start'	=> 3, +					'byte_pos_end'		=> 9, +					'bytes_requested'	=> 7, +					'bytes_total'		=> 10, +				), +			), + +			// Multiple, contiguous range +			array( +				array('10-20', '21-30'), +				125, +				array( +					'byte_pos_start'	=> 10, +					'byte_pos_end'		=> 30, +					'bytes_requested'	=> 21,  					'bytes_total'		=> 125,  				)  			), + +			// We don't do multiple, non-contiguous range +			array( +				array('0-0', '120-125'), +				125, +				false, +			),  		);  	}  } | 
