summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Blüm <marius@lineone.io>2016-08-17 09:02:58 +0200
committerGitHub <noreply@github.com>2016-08-17 09:02:58 +0200
commitc1632c3abd0f136b4ecb8d7a5bef5c3c72f9cb95 (patch)
treef39dd2b81c9743d9912359cbd3649101b8db383d
parent0cc8b8b244fe921226a53c9c03c40e13f63b6362 (diff)
parent8f3dc0ba43123915c25ff9b328104d6fe4faf9e9 (diff)
downloadnextcloud-server-c1632c3abd0f136b4ecb8d7a5bef5c3c72f9cb95.tar.gz
nextcloud-server-c1632c3abd0f136b4ecb8d7a5bef5c3c72f9cb95.zip
Merge pull request #893 from nextcloud/ie8_be_gone
IE8 be gone!
-rw-r--r--apps/files/lib/Controller/ViewController.php12
-rw-r--r--apps/files/tests/Controller/ViewControllerTest.php93
-rw-r--r--core/Controller/AvatarController.php5
-rw-r--r--lib/private/AppFramework/Http/Request.php1
-rw-r--r--settings/Controller/CertificateController.php4
-rw-r--r--tests/Settings/Controller/CertificateControllerTest.php12
6 files changed, 26 insertions, 101 deletions
diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php
index 9dbe06ff789..779a2c7aadc 100644
--- a/apps/files/lib/Controller/ViewController.php
+++ b/apps/files/lib/Controller/ViewController.php
@@ -195,18 +195,6 @@ class ViewController extends Controller {
\OCP\Util::addscript('files', 'keyboardshortcuts');
\OCP\Util::addscript('files', 'navigation');
- // if IE8 and "?dir=path&view=someview" was specified, reformat the URL to use a hash like "#?dir=path&view=someview"
- $isIE8 = $this->request->isUserAgent([Request::USER_AGENT_IE_8]);
- if ($isIE8 && ($dir !== '' || $view !== '')) {
- $dir = !empty($dir) ? $dir : '/';
- $view = !empty($view) ? $view : 'files';
- $hash = '#?dir=' . \OCP\Util::encodePath($dir);
- if ($view !== 'files') {
- $hash .= '&view=' . urlencode($view);
- }
- return new RedirectResponse($this->urlGenerator->linkToRoute('files.view.index') . $hash);
- }
-
// mostly for the home storage's free space
// FIXME: Make non static
$storageInfo = $this->getStorageInfo();
diff --git a/apps/files/tests/Controller/ViewControllerTest.php b/apps/files/tests/Controller/ViewControllerTest.php
index 373f8c25152..12ff779d6f1 100644
--- a/apps/files/tests/Controller/ViewControllerTest.php
+++ b/apps/files/tests/Controller/ViewControllerTest.php
@@ -73,22 +73,22 @@ class ViewControllerTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->request = $this->getMock('\OCP\IRequest');
- $this->urlGenerator = $this->getMock('\OCP\IURLGenerator');
- $this->navigationManager = $this->getMock('\OCP\INavigationManager');
- $this->l10n = $this->getMock('\OCP\IL10N');
- $this->config = $this->getMock('\OCP\IConfig');
- $this->eventDispatcher = $this->getMock('\Symfony\Component\EventDispatcher\EventDispatcherInterface');
- $this->userSession = $this->getMock('\OCP\IUserSession');
- $this->appManager = $this->getMock('\OCP\App\IAppManager');
- $this->user = $this->getMock('\OCP\IUser');
+ $this->request = $this->getMockBuilder('\OCP\IRequest')->getMock();
+ $this->urlGenerator = $this->getMockBuilder('\OCP\IURLGenerator')->getMock();
+ $this->navigationManager = $this->getMockBuilder('\OCP\INavigationManager')->getMock();
+ $this->l10n = $this->getMockBuilder('\OCP\IL10N')->getMock();
+ $this->config = $this->getMockBuilder('\OCP\IConfig')->getMock();
+ $this->eventDispatcher = $this->getMockBuilder('\Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock();
+ $this->userSession = $this->getMockBuilder('\OCP\IUserSession')->getMock();
+ $this->appManager = $this->getMockBuilder('\OCP\App\IAppManager')->getMock();
+ $this->user = $this->getMockBuilder('\OCP\IUser')->getMock();
$this->user->expects($this->any())
->method('getUID')
->will($this->returnValue('testuser1'));
$this->userSession->expects($this->any())
->method('getUser')
->will($this->returnValue($this->user));
- $this->rootFolder = $this->getMock('\OCP\Files\Folder');
+ $this->rootFolder = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
$this->viewController = $this->getMockBuilder('\OCA\Files\Controller\ViewController')
->setConstructorArgs([
'files',
@@ -109,60 +109,7 @@ class ViewControllerTest extends TestCase {
->getMock();
}
- public function testIndexWithIE8RedirectAndDirDefined() {
- $this->request
- ->expects($this->once())
- ->method('isUserAgent')
- ->with(['/MSIE 8.0/'])
- ->will($this->returnValue(true));
- $this->urlGenerator
- ->expects($this->once())
- ->method('linkToRoute')
- ->with('files.view.index')
- ->will($this->returnValue('/apps/files/'));
-
- $expected = new Http\RedirectResponse('/apps/files/#?dir=MyDir');
- $this->assertEquals($expected, $this->viewController->index('MyDir'));
- }
-
- public function testIndexWithIE8RedirectAndViewDefined() {
- $this->request
- ->expects($this->once())
- ->method('isUserAgent')
- ->with(['/MSIE 8.0/'])
- ->will($this->returnValue(true));
- $this->urlGenerator
- ->expects($this->once())
- ->method('linkToRoute')
- ->with('files.view.index')
- ->will($this->returnValue('/apps/files/'));
-
- $expected = new Http\RedirectResponse('/apps/files/#?dir=/&view=MyView');
- $this->assertEquals($expected, $this->viewController->index('', 'MyView'));
- }
-
- public function testIndexWithIE8RedirectAndViewAndDirDefined() {
- $this->request
- ->expects($this->once())
- ->method('isUserAgent')
- ->with(['/MSIE 8.0/'])
- ->will($this->returnValue(true));
- $this->urlGenerator
- ->expects($this->once())
- ->method('linkToRoute')
- ->with('files.view.index')
- ->will($this->returnValue('/apps/files/'));
-
- $expected = new RedirectResponse('/apps/files/#?dir=MyDir&view=MyView');
- $this->assertEquals($expected, $this->viewController->index('MyDir', 'MyView'));
- }
-
public function testIndexWithRegularBrowser() {
- $this->request
- ->expects($this->once())
- ->method('isUserAgent')
- ->with(['/MSIE 8.0/'])
- ->will($this->returnValue(false));
$this->viewController
->expects($this->once())
->method('getStorageInfo')
@@ -329,12 +276,12 @@ class ViewControllerTest extends TestCase {
* @dataProvider showFileMethodProvider
*/
public function testShowFileRouteWithFolder($useShowFile) {
- $node = $this->getMock('\OCP\Files\Folder');
+ $node = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
$node->expects($this->once())
->method('getPath')
->will($this->returnValue('/testuser1/files/test/sub'));
- $baseFolder = $this->getMock('\OCP\Files\Folder');
+ $baseFolder = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
$this->rootFolder->expects($this->once())
->method('get')
@@ -368,19 +315,19 @@ class ViewControllerTest extends TestCase {
* @dataProvider showFileMethodProvider
*/
public function testShowFileRouteWithFile($useShowFile) {
- $parentNode = $this->getMock('\OCP\Files\Folder');
+ $parentNode = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
$parentNode->expects($this->once())
->method('getPath')
->will($this->returnValue('testuser1/files/test'));
- $baseFolder = $this->getMock('\OCP\Files\Folder');
+ $baseFolder = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
$this->rootFolder->expects($this->once())
->method('get')
->with('testuser1/files/')
->will($this->returnValue($baseFolder));
- $node = $this->getMock('\OCP\Files\File');
+ $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
$node->expects($this->once())
->method('getParent')
->will($this->returnValue($parentNode));
@@ -415,7 +362,7 @@ class ViewControllerTest extends TestCase {
* @dataProvider showFileMethodProvider
*/
public function testShowFileRouteWithInvalidFileId($useShowFile) {
- $baseFolder = $this->getMock('\OCP\Files\Folder');
+ $baseFolder = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
$this->rootFolder->expects($this->once())
->method('get')
->with('testuser1/files/')
@@ -446,13 +393,13 @@ class ViewControllerTest extends TestCase {
->with('files_trashbin')
->will($this->returnValue(true));
- $parentNode = $this->getMock('\OCP\Files\Folder');
+ $parentNode = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
$parentNode->expects($this->once())
->method('getPath')
->will($this->returnValue('testuser1/files_trashbin/files/test.d1462861890/sub'));
- $baseFolderFiles = $this->getMock('\OCP\Files\Folder');
- $baseFolderTrash = $this->getMock('\OCP\Files\Folder');
+ $baseFolderFiles = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
+ $baseFolderTrash = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
$this->rootFolder->expects($this->at(0))
->method('get')
@@ -468,7 +415,7 @@ class ViewControllerTest extends TestCase {
->with(123)
->will($this->returnValue([]));
- $node = $this->getMock('\OCP\Files\File');
+ $node = $this->getMockBuilder('\OCP\Files\File')->getMock();
$node->expects($this->once())
->method('getParent')
->will($this->returnValue($parentNode));
diff --git a/core/Controller/AvatarController.php b/core/Controller/AvatarController.php
index ed63025aca4..6fc08ec3c18 100644
--- a/core/Controller/AvatarController.php
+++ b/core/Controller/AvatarController.php
@@ -150,14 +150,9 @@ class AvatarController extends Controller {
* @return DataResponse
*/
public function postAvatar($path) {
- $userId = $this->userSession->getUser()->getUID();
$files = $this->request->getUploadedFile('files');
$headers = [];
- if ($this->request->isUserAgent([\OC\AppFramework\Http\Request::USER_AGENT_IE_8])) {
- // due to upload iframe workaround, need to set content-type to text/plain
- $headers['Content-Type'] = 'text/plain';
- }
if (isset($path)) {
$path = stripslashes($path);
diff --git a/lib/private/AppFramework/Http/Request.php b/lib/private/AppFramework/Http/Request.php
index 8fb19f2d9b2..2139ad05c2e 100644
--- a/lib/private/AppFramework/Http/Request.php
+++ b/lib/private/AppFramework/Http/Request.php
@@ -56,7 +56,6 @@ use OCP\Security\ISecureRandom;
class Request implements \ArrayAccess, \Countable, IRequest {
const USER_AGENT_IE = '/(MSIE)|(Trident)/';
- const USER_AGENT_IE_8 = '/MSIE 8.0/';
// Microsoft Edge User Agent from https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx
const USER_AGENT_MS_EDGE = '/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/[0-9.]+ (Mobile Safari|Safari)\/[0-9.]+ Edge\/[0-9.]+$/';
// Firefox User Agent from https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference
diff --git a/settings/Controller/CertificateController.php b/settings/Controller/CertificateController.php
index 4a527036a7f..8121bec2ce1 100644
--- a/settings/Controller/CertificateController.php
+++ b/settings/Controller/CertificateController.php
@@ -86,10 +86,6 @@ class CertificateController extends Controller {
*/
private function addCertificate(ICertificateManager $certificateManager) {
$headers = [];
- if ($this->request->isUserAgent([\OC\AppFramework\Http\Request::USER_AGENT_IE_8])) {
- // due to upload iframe workaround, need to set content-type to text/plain
- $headers['Content-Type'] = 'text/plain';
- }
if ($this->isCertificateImportAllowed() === false) {
return new DataResponse(['message' => 'Individual certificate management disabled'], Http::STATUS_FORBIDDEN, $headers);
diff --git a/tests/Settings/Controller/CertificateControllerTest.php b/tests/Settings/Controller/CertificateControllerTest.php
index c9ea2a4024f..36b5715e734 100644
--- a/tests/Settings/Controller/CertificateControllerTest.php
+++ b/tests/Settings/Controller/CertificateControllerTest.php
@@ -51,11 +51,11 @@ class CertificateControllerTest extends \Test\TestCase {
public function setUp() {
parent::setUp();
- $this->request = $this->getMock('\OCP\IRequest');
- $this->certificateManager = $this->getMock('\OCP\ICertificateManager');
- $this->systemCertificateManager = $this->getMock('\OCP\ICertificateManager');
- $this->l10n = $this->getMock('\OCP\IL10N');
- $this->appManager = $this->getMock('OCP\App\IAppManager');
+ $this->request = $this->getMockBuilder('\OCP\IRequest')->getMock();
+ $this->certificateManager = $this->getMockBuilder('\OCP\ICertificateManager')->getMock();
+ $this->systemCertificateManager = $this->getMockBuilder('\OCP\ICertificateManager')->getMock();
+ $this->l10n = $this->getMockBuilder('\OCP\IL10N')->getMock();
+ $this->appManager = $this->getMockBuilder('OCP\App\IAppManager')->getMock();
$this->certificateController = $this->getMockBuilder('OC\Settings\Controller\CertificateController')
->setConstructorArgs(
@@ -90,7 +90,7 @@ class CertificateControllerTest extends \Test\TestCase {
'name' => 'goodCertificate.crt',
];
- $certificate = $this->getMock('\OCP\ICertificate');
+ $certificate = $this->getMockBuilder('\OCP\ICertificate')->getMock();
$certificate
->expects($this->once())
->method('getName')