Browse Source

unit test fix

tags/3.0.0-alpha1
Klimov Paul 7 years ago
parent
commit
37580db6b1
  1. 2
      framework/validators/FileValidator.php
  2. 8
      tests/framework/validators/FileValidatorTest.php

2
framework/validators/FileValidator.php

@ -304,10 +304,12 @@ class FileValidator extends Validator
$limit = $this->maxSize;
}
if (($request = Yii::$app->getRequest()) instanceof \yii\web\Request) {
$maxFileSize = Yii::$app->getRequest()->getBodyParam('MAX_FILE_SIZE', 0);
if ($maxFileSize > 0 && $maxFileSize < $limit) {
$limit = (int)$maxFileSize;
}
}
return $limit;
}

8
tests/framework/validators/FileValidatorTest.php

@ -77,6 +77,8 @@ class FileValidatorTest extends TestCase
public function testGetSizeLimit()
{
$this->mockWebApplication();
$size = min($this->sizeToBytes(ini_get('upload_max_filesize')), $this->sizeToBytes(ini_get('post_max_size')));
$val = new FileValidator();
$this->assertEquals($size, $val->getSizeLimit());
@ -84,10 +86,10 @@ class FileValidatorTest extends TestCase
$this->assertEquals($size, $val->getSizeLimit());
$val->maxSize = abs($size - 1);
$this->assertEquals($size - 1, $val->getSizeLimit());
$_POST['MAX_FILE_SIZE'] = $size + 1;
Yii::$app->request->setBodyParams(['MAX_FILE_SIZE' => $size + 1]);
$this->assertEquals($size - 1, $val->getSizeLimit());
$_POST['MAX_FILE_SIZE'] = abs($size - 2);
$this->assertSame($_POST['MAX_FILE_SIZE'], $val->getSizeLimit());
Yii::$app->request->setBodyParams(['MAX_FILE_SIZE' => abs($size - 2)]);
$this->assertSame(abs($size - 2), $val->getSizeLimit());
}
protected function sizeToBytes($sizeStr)

Loading…
Cancel
Save