aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.slider.js
Commit message (Expand)AuthorAgeFilesLines
* Resizable, Slider: Don't use .hover().Scott González2012-05-211-2/+3
* Slider: Use base destroy method.Scott González2012-05-091-6/+2
* Slider: Remove uses of self var; use new APIs or that var.Scott González2012-05-091-71/+51
* Lint fixes.Scott González2012-04-021-2/+3
* Protect all copyright notices against minificationJo Liss2012-04-021-1/+1
* Updated copyright year.Scott González2012-03-081-1/+1
* Update data naming for Slider. Partial fix for #7810Jörn Zaefferer2012-03-011-3/+3
* Slider: Whitespace cleanupJörn Zaefferer2012-03-011-14/+14
* Slider: Prevent the default action on keydown if we're listening for the pres...Scott González2012-02-091-6/+2
* .attr() -> .prop()Scott González2011-06-081-2/+2
* All: Moved version numbers into prototypes. Fixed #7436 - Widget: Store versi...Scott González2011-05-281-5/+1
* Slider: add handles in single DOM operation. Fixed #7259 - optimize handle cr...Adam Baratz2011-05-111-34/+16
* Slider: Properly handle value and value methods as setters. Fixes #4881 - Sli...Scott González2011-03-281-0/+2
* Fixed #6979 - Several components are leaking variables into the global scopeGilmore Davidson2011-02-231-1/+1
* Updated copyright year.Scott González2011-01-171-1/+1
* Slider: Changed _trimAlignValue function to return the correct inclusive valu...poplix2010-12-061-3/+3
* Slider: Modified handle and scroll content not to jump twice when handle is g...skeetergraphics2010-11-191-1/+3
* All: Added http://jqueryui.com/about to header comments.Scott González2010-07-141-1/+1
* All: Define a local undefined variable inside the main closure.Scott González2010-07-131-1/+1
* Updated copyright headers to make it clear that you can choose between MIT an...Scott González2010-07-091-3/+3
* WhitespaceScott González2010-07-071-1/+0
* Slider: Removed redundant call _normValueFromMouse. Fixed #5796 - Slider: Red...tzkuei2010-07-061-1/+0
* Slider: trim to max and min on UP DOWN LEFT RIGHT. Fixed #5591 - Slider: can ...Richard D. Worth2010-05-111-2/+2
* Slider: fixed step alignment to handle negative fractional values. Fixed #558...Richard D. Worth2010-05-111-3/+3
* Slider: trim value to min and max when page_up or page_down is pressed. Fixed...Richard D. Worth2010-05-111-2/+2
* slider: jslint cleanup (thanks for the start zhaoz) and style changes to meet...Richard D. Worth2010-04-021-334/+382
* slider: corrected a regression introduced by commit 5ffd3abRichard D. Worth2010-04-021-2/+2
* Slider: added support for canceling start event. Fixes #5472 - slider: event ...Richard D. Worth2010-04-011-3/+9
* Align slider value to step. Fixes #5471 - value not aligned to step when set ...Richard D. Worth2010-04-011-19/+22
* Slider: Refactoring _trimValue method to use more sane programming logicjzaefferer2010-03-271-3/+6
* Slider: Refactoring _valueMin and _valueMax methods, removing useless tempora...jzaefferer2010-03-271-4/+2
* Slider: Inlining _step method, was used only oncejzaefferer2010-03-271-6/+1
* Slider: fixed change event to be triggered by keyup and value and values opti...Richard Worth2010-03-171-1/+11
* Fixed #5178 - Slider's change event fires on slideRichard Worth2010-02-151-8/+13
* Slider: added missing comma.Scott González2010-02-051-1/+1
* Fixed event prefix in all plugins that don't use the default prefix.Scott González2010-02-051-2/+2
* Happy New YearRichard Worth2010-01-201-1/+1
* Widget factory: Changed _create to _init.Scott González2010-01-151-1/+1
* Merged in /branches/dev r3251:3620 (excluding autocomplete, modal, tooltip, m...Scott González2010-01-071-17/+16
* Split mouse into its own file and udpdated dependency lists.Scott González2009-12-221-0/+2
* Slider: Added paging - page up/down jumps by 1/5 the size of the range.Scott González2009-11-091-0/+12
* Slider: Fixed values getter to be trimmed by min and max as value method is. ...Richard Worth2009-10-121-15/+35
* slider: Removed undocumented noPropagation last arg from values method as per...Richard Worth2009-10-121-2/+2
* slider: use internal methods _valueMin() and _valueMax()Richard Worth2009-10-121-2/+2
* Slider: Fixed animation to respond to keypress as well as mouse click, animat...Richard Worth2009-10-121-10/+24
* slider: fixed two failing unit testsRichard Worth2009-10-121-0/+2
* slider: fixed disabled on init, methods enable and disableRichard Worth2009-09-191-0/+6
* renamed all ui.*.js files to jquery.ui.*.js, all effects.*.js files to jquery...Richard Worth2009-09-171-0/+559
4/stable28'>backport/47914/stable28 Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/Traits/EncryptionTrait.php
blob: 23f188ccd6673e9557eb9cfbd084899fae107267 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
/**
 * Copyright (c) 2015 Robin Appelman <icewind@owncloud.com>
 * This file is licensed under the Affero General Public License version 3 or
 * later.
 * See the COPYING-README file.
 */

namespace Test\Traits;

use OC\Encryption\EncryptionWrapper;
use OC\Files\SetupManager;
use OC\Memcache\ArrayCache;
use OCA\Encryption\AppInfo\Application;
use OCA\Encryption\KeyManager;
use OCA\Encryption\Users\Setup;
use OCP\Encryption\IManager;
use OCP\IUserManager;
use Psr\Log\LoggerInterface;

/**
 * Enables encryption
 */
trait EncryptionTrait {
	// from MountProviderTrait
	abstract protected function registerStorageWrapper($name, $wrapper);

	// from phpunit
	abstract protected static function markTestSkipped(string $message = ''): void;
	abstract protected static function assertTrue($condition, string $message = ''): void;

	private $encryptionWasEnabled;

	private $originalEncryptionModule;

	/** @var IUserManager */
	private $userManager;
	/** @var SetupManager */
	private $setupManager;

	/**
	 * @var \OCP\IConfig
	 */
	private $config;

	/**
	 * @var \OCA\Encryption\AppInfo\Application
	 */
	private $encryptionApp;

	protected function loginWithEncryption($user = '') {
		\OC_Util::tearDownFS();
		\OC_User::setUserId('');
		// needed for fully logout
		\OC::$server->getUserSession()->setUser(null);

		$this->setupManager->tearDown();

		\OC_User::setUserId($user);
		$this->postLogin();
		\OC_Util::setupFS($user);
		if ($this->userManager->userExists($user)) {
			\OC::$server->getUserFolder($user);
		}
	}

	protected function setupForUser($name, $password) {
		$this->setupManager->tearDown();
		$this->setupManager->setupForUser($this->userManager->get($name));

		$container = $this->encryptionApp->getContainer();
		/** @var KeyManager $keyManager */
		$keyManager = $container->query(KeyManager::class);
		/** @var Setup $userSetup */
		$userSetup = $container->query(Setup::class);
		$userSetup->setupUser($name, $password);
		$encryptionManager = $container->query(IManager::class);
		$this->encryptionApp->setUp($encryptionManager);
		$keyManager->init($name, $password);
	}

	protected function postLogin() {
		$encryptionWrapper = new EncryptionWrapper(
			new ArrayCache(),
			\OC::$server->getEncryptionManager(),
			\OC::$server->get(LoggerInterface::class)
		);

		$this->registerStorageWrapper('oc_encryption', [$encryptionWrapper, 'wrapStorage']);
	}

	protected function setUpEncryptionTrait() {
		$isReady = \OC::$server->getEncryptionManager()->isReady();
		if (!$isReady) {
			$this->markTestSkipped('Encryption not ready');
		}

		$this->userManager = \OC::$server->get(IUserManager::class);
		$this->setupManager = \OC::$server->get(SetupManager::class);

		\OC_App::loadApp('encryption');

		$this->encryptionApp = new Application([], $isReady);

		$this->config = \OC::$server->getConfig();
		$this->encryptionWasEnabled = $this->config->getAppValue('core', 'encryption_enabled', 'no');
		$this->originalEncryptionModule = $this->config->getAppValue('core', 'default_encryption_module');
		$this->config->setAppValue('core', 'default_encryption_module', \OCA\Encryption\Crypto\Encryption::ID);
		$this->config->setAppValue('core', 'encryption_enabled', 'yes');
		$this->assertTrue(\OC::$server->getEncryptionManager()->isEnabled());
	}

	protected function tearDownEncryptionTrait() {
		if ($this->config) {
			$this->config->setAppValue('core', 'encryption_enabled', $this->encryptionWasEnabled);
			$this->config->setAppValue('core', 'default_encryption_module', $this->originalEncryptionModule);
			$this->config->deleteAppValue('encryption', 'useMasterKey');
		}
	}
}