* This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. */ namespace Test; use OC\Log; use OCP\IConfig; class NullLogger extends Log { public function __construct($logger = null) { //disable original constructor } public function log(int $level, string $message, array $context = array()) { //noop } } class TempManagerTest extends \Test\TestCase { protected $baseDir = null; protected function setUp() { parent::setUp(); $this->baseDir = $this->getManager()->getTempBaseDir() . $this->getUniqueID('/oc_tmp_test'); if (!is_dir($this->baseDir)) { mkdir($this->baseDir); } } protected function tearDown() { \OC_Helper::rmdirr($this->baseDir); $this->baseDir = null; parent::tearDown(); } /** * @param \OCP\ILogger $logger * @param \OCP\IConfig $config * @return \OC\TempManager */ protected function getManager($logger = null, $config = null) { if (!$logger) { $logger = new NullLogger(); } if (!$config) { $config = $this->createMock(IConfig::class); $config->method('getSystemValue') ->with('tempdirectory', null) ->willReturn('/tmp'); } $manager = new \OC\TempManager($logger, $config); if ($this->baseDir) { $manager->overrideTempBaseDir($this->baseDir); } return $manager; } public function testGetFile() { $manager = $this->getManager(); $file = $manager->getTemporaryFile('txt'); $this->assertStringEndsWith('.txt', $file); $this->assertTrue(is_file($file)); $this->assertTrue(is_writable($file)); file_put_contents($file, 'bar'); $this->assertEquals('bar', file_get_contents($file)); } public function testGetFolder() { $manager = $this->getManager(); $folder = $manager->getTemporaryFolder(); $this->assertStringEndsWith('/', $folder); $this->assertTrue(is_dir($folder)); $this->assertTrue(is_writable($folder)); file_put_contents($folder . 'foo.txt', 'bar'); $this->assertEquals('bar', file_get_contents($folder . 'foo.txt')); } public function testCleanFiles() { $manager = $this->getManager(); $file1 = $manager->getTemporaryFile('txt'); $file2 = $manager->getTemporaryFile('txt'); $this->assertTrue(file_exists($file1)); $this->assertTrue(file_exists($file2)); $manager->clean(); $this->assertFalse(file_exists($file1)); $this->assertFalse(file_exists($file2)); } public function testCleanFolder() { $manager = $this->getManager(); $folder1 = $manager->getTemporaryFolder(); $folder2 = $manager->getTemporaryFolder(); touch($folder1 . 'foo.txt'); touch($folder1 . 'bar.txt'); $this->assertTrue(file_exists($folder1)); $this->assertTrue(file_exists($folder2)); $this->assertTrue(file_exists($folder1 . 'foo.txt')); $this->assertTrue(file_exists($folder1 . 'bar.txt')); $manager->clean(); $this->assertFalse(file_exists($folder1)); $this->assertFalse(file_exists($folder2)); $this->assertFalse(file_exists($folder1 . 'foo.txt')); $this->assertFalse(file_exists($folder1 . 'bar.txt')); } public function testCleanOld() { $manager = $this->getManager(); $oldFile = $manager->getTemporaryFile('txt'); $newFile = $manager->getTemporaryFile('txt'); $folder = $manager->getTemporaryFolder(); $nonOcFile = $this->baseDir . '/foo.txt'; file_put_contents($nonOcFile, 'bar'); $past = time() - 2 * 3600; touch($oldFile, $past); touch($folder, $past); touch($nonOcFile, $past); $manager2 = $this->getManager(); $manager2->cleanOld(); $this->assertFalse(file_exists($oldFile)); $this->assertFalse(file_exists($folder)); $this->assertTrue(file_exists($nonOcFile)); $this->assertTrue(file_exists($newFile)); } public function testLogCantCreateFile() { $this->markTestSkipped('TODO: Disable because fails on drone'); $logger = $this->createMock(NullLogger::class); $manager = $this->getManager($logger); chmod($this->baseDir, 0500); $logger->expects($this->once()) ->method('warning') ->with($this->stringContains('Can not create a temporary file in directory')); $this->assertFalse($manager->getTemporaryFile('txt')); } public function testLogCantCreateFolder() { $this->markTestSkipped('TODO: Disable because fails on drone'); $logger = $this->createMock(NullLogger::class); $manager = $this->getManager($logger); chmod($this->baseDir, 0500); $logger->expects($this->once()) ->method('warning') ->with($this->stringContains('Can not create a temporary folder in directory')); $this->assertFalse($manager->getTemporaryFolder()); } public function testBuildFileNameWithPostfix() { $logger = $this->createMock(NullLogger::class); $tmpManager = self::invokePrivate( $this->getManager($logger), 'buildFileNameWithSuffix', ['/tmp/myTemporaryFile', 'postfix'] ); $this->assertEquals('/tmp/myTemporaryFile-.postfix', $tmpManager); } public function testBuildFileNameWithoutPostfix() { $logger = $this->createMock(NullLogger::class); $tmpManager = self::invokePrivate( $this->getManager($logger), 'buildFileNameWithSuffix', ['/tmp/myTemporaryFile', ''] ); $this->assertEquals('/tmp/myTemporaryFile', $tmpManager); } public function testBuildFileNameWithSuffixPathTraversal() { $logger = $this->createMock(NullLogger::class); $tmpManager = self::invokePrivate( $this->getManager($logger), 'buildFileNameWithSuffix', ['foo', '../Traversal\\../FileName'] ); $this->assertStringEndsNotWith('./Traversal\\../FileName', $tmpManager); $this->assertStringEndsWith('.Traversal..FileName', $tmpManager); } public function testGetTempBaseDirFromConfig() { $dir = $this->getManager()->getTemporaryFolder(); $config = $this->createMock(IConfig::class); $config->expects($this->once()) ->method('getSystemValue') ->with('tempdirectory', null) ->willReturn($dir); $this->baseDir = null; // prevent override $tmpManager = $this->getManager(null, $config); $this->assertEquals($dir, $tmpManager->getTempBaseDir()); } } ogin_flow_v2_sessions'>artonge/fix/login_flow_v2_sessions Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/lib/l10n/bn_BD.js
blob: d8e0abc24b8a560a07e7211450be34d37333ceca (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
OC.L10N.register(
    "lib",
    {
    "Cannot write into \"config\" directory!" : "\"config\" ডিরেক্টরিতে লেখা যায়না!",
    "See %s" : "%s দেখ",
    "Sample configuration detected" : "নমুনা কনফিগারেশন পাওয়া গেছে",
    "Unknown filetype" : "অজানা প্রকৃতির ফাইল",
    "Invalid image" : "অবৈধ চিত্র",
    "Files" : "ফাইল",
    "today" : "আজ",
    "yesterday" : "গতকাল",
    "last month" : "গত মাস",
    "last year" : "গত বছর",
    "seconds ago" : "সেকেন্ড পূর্বে",
    "__language_name__" : "বাংলা ভাষা",
    "Apps" : "অ্যাপ",
    "Settings" : "সেটিংস",
    "Log out" : "প্রস্থান",
    "Email" : "ইমেইল",
    "Phone" : "ফোন",
    "Website" : "ওয়েবসাইট",
    "Address" : "ঠিকানা",
    "About" : "সমপরকে",
    "You are not allowed to share %s" : "আপনি %s ভাগাভাগি করতে পারবেননা",
    "Sunday" : "রবিবার",
    "Monday" : "সোমবার",
    "Tuesday" : "মঙ্গলবার",
    "Wednesday" : "বুধবার",
    "Thursday" : "বৃহস্পতিবার",
    "Friday" : "শুক্রবার",
    "Saturday" : "শনিবার",
    "Sun." : "রবি.",
    "Mon." : "সোম.",
    "Tue." : "মঙ্গল.",
    "Wed." : "বুধ.",
    "Thu." : "বৃহঃ.",
    "Fri." : "শুক্র.",
    "Sat." : "শনি.",
    "January" : "জানুয়ারি",
    "February" : "ফেব্রুয়ারি",
    "March" : "মার্চ",
    "April" : "এপ্রিল",
    "May" : "মে",
    "June" : "জুন",
    "July" : "জুলাই",
    "August" : "অগাষ্ট",
    "September" : "সেপ্টেম্বর",
    "October" : "অক্টোবর",
    "November" : "নভেম্বর",
    "December" : "ডিসেম্বর",
    "Jan." : "জানু.",
    "Feb." : "ফেব্রু.",
    "Mar." : "মার্চ.",
    "Apr." : "এপ্রিল.",
    "May." : "মে.",
    "Jun." : "জুন.",
    "Jul." : "জুলাই.",
    "Aug." : "অগাস্ট.",
    "Sep." : "সেপ্টে.",
    "Oct." : "অক্টো.",
    "Nov." : "নভে.",
    "Dec." : "ডিসে.",
    "Application is not enabled" : "অ্যাপ্লিকেসনটি সক্রিয় নয়",
    "Authentication error" : "অনুমোদন ঘটিত সমস্যা",
    "Token expired. Please reload page." : "টোকেন মেয়াদোত্তীর্ণ। দয়া করে পৃষ্ঠাটি পূনরায় লোড করুন।",
    "Help" : "সহায়িকা",
    "Users" : "ব্যবহারকারী",
    "Unknown user" : "অপরিচিত ব্যবহারকারী"
},
"nplurals=2; plural=(n != 1);");