]> BookStack Code Mirror - bookstack/commitdiff
Added test to check custom theme lang items
authorDan Brown <redacted>
Sat, 26 Oct 2019 11:35:38 +0000 (12:35 +0100)
committerDan Brown <redacted>
Sat, 26 Oct 2019 17:07:14 +0000 (18:07 +0100)
tests/ThemeTest.php [new file with mode: 0644]

diff --git a/tests/ThemeTest.php b/tests/ThemeTest.php
new file mode 100644 (file)
index 0000000..51fdfe7
--- /dev/null
@@ -0,0 +1,43 @@
+<?php namespace Tests;
+
+use File;
+
+class ThemeTest extends TestCase
+{
+    protected $themeFolderName;
+    protected $themeFolderPath;
+
+    public function setUp(): void
+    {
+        parent::setUp();
+
+        // Create a folder and configure a theme
+        $this->themeFolderName = 'testing_theme_' . rtrim(base64_encode(time()), "=");
+        config()->set('view.theme', $this->themeFolderName);
+        $this->themeFolderPath = theme_path('');
+        File::makeDirectory($this->themeFolderPath);
+    }
+
+    public function tearDown(): void
+    {
+        // Cleanup the custom theme folder we created
+        File::deleteDirectory($this->themeFolderPath);
+
+        parent::tearDown();
+    }
+
+    public function test_translation_text_can_be_overriden_via_theme()
+    {
+        $translationPath = theme_path('/lang/en');
+        File::makeDirectory($translationPath, 0777, true);
+
+        $customTranslations = '<?php
+            return [\'books\' => \'Sandwiches\'];
+        ';
+        file_put_contents($translationPath . '/entities.php', $customTranslations);
+
+        $homeRequest = $this->actingAs($this->getViewer())->get('/');
+        $homeRequest->assertElementContains('header nav', 'Sandwiches');
+    }
+
+}
\ No newline at end of file