Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Weimann <mail@michael-weimann.eu>2018-08-04 21:39:51 +0300
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-08-20 16:24:10 +0300
commit1d2bc9c45ecbbb7521dbf14dba6560d925691f01 (patch)
treea2f3ba70eb4b38b8b793ed9acd239ec52f98f5b0 /tests/lib/MemoryInfoTest.php
parentc2fced446396dad822404f3fae3ccb1c7df0dc89 (diff)
Adds tests for the setup memory limit checks
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
Diffstat (limited to 'tests/lib/MemoryInfoTest.php')
-rw-r--r--tests/lib/MemoryInfoTest.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/lib/MemoryInfoTest.php b/tests/lib/MemoryInfoTest.php
new file mode 100644
index 00000000000..9cd4fd56038
--- /dev/null
+++ b/tests/lib/MemoryInfoTest.php
@@ -0,0 +1,73 @@
+<?php
+
+namespace Test;
+
+use OC\MemoryInfo;
+
+/**
+ * This class provides tests for the MemoryInfo class.
+ */
+class MemoryInfoTest extends TestCase {
+ /**
+ * @var MemoryInfo
+ */
+ private $memoryInfo;
+
+ /**
+ * The "memory_limit" value before tests.
+ *
+ * @var string
+ */
+ private $iniSettingBeforeTest;
+
+ /**
+ * @beforeClass
+ */
+ public function backupMemoryInfoIniSetting() {
+ $this->iniSettingBeforeTest = ini_get('memory_limit');
+ }
+
+ /**
+ * @afterClass
+ */
+ public function restoreMemoryInfoIniSetting() {
+ ini_set('memory_limit', $this->iniSettingBeforeTest);
+ }
+
+ /**
+ * Setups a MemoryInfo instance for tests.
+ *
+ * @before
+ */
+ public function setupMemoryInfo() {
+ $this->memoryInfo = new MemoryInfo();
+ }
+
+ /**
+ * Provides test data.
+ *
+ * @return array
+ */
+ public function getMemoryLimitTestData(): array {
+ return [
+ 'unlimited' => ['-1', -1,],
+ '0' => ['0', 0,],
+ '134217728 bytes' => ['134217728', 134217728,],
+ '128M' => ['128M', 134217728,],
+ '131072K' => ['131072K', 134217728,],
+ '2G' => ['2G', 2147483648,],
+ ];
+ }
+
+ /**
+ * Tests that getMemoryLimit works as expected.
+ *
+ * @param string $iniValue The "memory_limit" ini data.
+ * @param int $expected The expected detected memory limit.
+ * @dataProvider getMemoryLimitTestData
+ */
+ public function testMemoryLimit($iniValue, $expected) {
+ ini_set('memory_limit', $iniValue);
+ self::assertEquals($expected, $this->memoryInfo->getMemoryLimit());
+ }
+}