Passed
Push — main ( 525366...99eb4f )
by Thierry
03:58
created
jaxon-core/src/App/View/Helper/HtmlAttrHelper.php 1 patch
Switch Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -203,12 +203,12 @@
 block discarded – undo
203 203
         $sCode = match($sType) {
204 204
             'html' => jaxon()->package($sClass)?->getHtml() ?? '',
205 205
             'ready' => jaxon()->package($sClass)?->getReadyScript() ?? '',
206
-            default => ''
207
-        };
208
-        $sCode = trim($sCode);
206
+default => ''
207
+};
208
+$sCode = trim($sCode);
209 209
 
210
-        return $sType !== 'ready' || $sCode === '' ? $sCode :
211
-            // Call the ready code with the jaxon.dom.ready function.
212
-            "jaxon.dom.ready(() => $sCode)";
213
-    }
210
+return $sType !== 'ready' || $sCode === '' ? $sCode :
211
+// Call the ready code with the jaxon.dom.ready function.
212
+"jaxon.dom.ready(() => $sCode)";
213
+}
214 214
 }
Please login to merge, or discard this patch.
jaxon-core/src/App/View/ViewRenderer.php 1 patch
Switch Indentation   +151 added lines, -151 removed lines patch added patch discarded remove patch
@@ -16,58 +16,58 @@  discard block
 block discarded – undo
16 16
 
17 17
 class ViewRenderer
18 18
 {
19
-    /**
19
+/**
20 20
      * @var Container
21 21
      */
22
-    protected $di;
22
+protected $di;
23 23
 
24
-    /**
24
+/**
25 25
      * The view data store
26 26
      *
27 27
      * @var Store
28 28
      */
29
-    protected $xStore = null;
29
+protected $xStore = null;
30 30
 
31
-    /**
31
+/**
32 32
      * The view data store
33 33
      *
34 34
      * @var Store
35 35
      */
36
-    protected $xEmptyStore = null;
36
+protected $xEmptyStore = null;
37 37
 
38
-    /**
38
+/**
39 39
      * The view namespaces
40 40
      *
41 41
      * @var array
42 42
      */
43
-    protected $aNamespaces = [];
43
+protected $aNamespaces = [];
44 44
 
45
-    /**
45
+/**
46 46
      * The default namespace
47 47
      *
48 48
      * @var string
49 49
      */
50
-    protected $sDefaultNamespace = 'jaxon';
50
+protected $sDefaultNamespace = 'jaxon';
51 51
 
52
-    /**
52
+/**
53 53
      * The view global data
54 54
      *
55 55
      * @var array
56 56
      */
57
-    protected $aViewData = [];
57
+protected $aViewData = [];
58 58
 
59
-    /**
59
+/**
60 60
      * The class constructor
61 61
      *
62 62
      * @param Container $di
63 63
      */
64
-    public function __construct(Container $di)
65
-    {
66
-        $this->di = $di;
67
-        $this->xEmptyStore = new Store();
68
-    }
64
+public function __construct(Container $di)
65
+{
66
+$this->di = $di;
67
+$this->xEmptyStore = new Store();
68
+}
69 69
 
70
-    /**
70
+/**
71 71
      * Add a view namespace, and set the corresponding renderer.
72 72
      *
73 73
      * @param string $sNamespace    The namespace name
@@ -77,59 +77,59 @@  discard block
 block discarded – undo
77 77
      *
78 78
      * @return void
79 79
      */
80
-    public function addNamespace(string $sNamespace, string $sDirectory,
81
-        string $sExtension, string $sRenderer): void
82
-    {
83
-        $aNamespace = [
84
-            'directory' => $sDirectory,
85
-            'extension' => $sExtension,
86
-            'renderer' => $sRenderer,
87
-        ];
88
-        $this->aNamespaces[$sNamespace] = $aNamespace;
89
-    }
80
+public function addNamespace(string $sNamespace, string $sDirectory,
81
+string $sExtension, string $sRenderer): void
82
+{
83
+$aNamespace = [
84
+'directory' => $sDirectory,
85
+'extension' => $sExtension,
86
+'renderer' => $sRenderer,
87
+];
88
+$this->aNamespaces[$sNamespace] = $aNamespace;
89
+}
90 90
 
91
-    /**
91
+/**
92 92
      * Set the view namespaces.
93 93
      *
94 94
      * @param Config $xAppConfig    The config options provided in the library
95 95
      *
96 96
      * @return void
97 97
      */
98
-    public function addNamespaces(Config $xAppConfig): void
99
-    {
100
-        if(empty($aNamespaces = $xAppConfig->getOptionNames('views')))
101
-        {
102
-            return;
103
-        }
98
+public function addNamespaces(Config $xAppConfig): void
99
+{
100
+if(empty($aNamespaces = $xAppConfig->getOptionNames('views')))
101
+{
102
+return;
103
+}
104 104
 
105
-        $sPackage = $xAppConfig->getOption('package', '');
106
-        foreach($aNamespaces as $sNamespace => $sOption)
107
-        {
108
-            // Save the namespace
109
-            $aNamespace = $xAppConfig->getOption($sOption);
110
-            $aNamespace['package'] = $sPackage;
111
-            if(!isset($aNamespace['renderer']))
112
-            {
113
-                $aNamespace['renderer'] = 'jaxon'; // 'jaxon' is the default renderer.
114
-            }
115
-            $this->aNamespaces[$sNamespace] = $aNamespace;
116
-        }
117
-    }
105
+$sPackage = $xAppConfig->getOption('package', '');
106
+foreach($aNamespaces as $sNamespace => $sOption)
107
+{
108
+// Save the namespace
109
+$aNamespace = $xAppConfig->getOption($sOption);
110
+$aNamespace['package'] = $sPackage;
111
+if(!isset($aNamespace['renderer']))
112
+{
113
+    $aNamespace['renderer'] = 'jaxon'; // 'jaxon' is the default renderer.
114
+}
115
+$this->aNamespaces[$sNamespace] = $aNamespace;
116
+}
117
+}
118 118
 
119
-    /**
119
+/**
120 120
      * Get the view renderer
121 121
      *
122 122
      * @param string $sId    The unique identifier of the view renderer
123 123
      *
124 124
      * @return ViewInterface
125 125
      */
126
-    public function getRenderer(string $sId): ViewInterface
127
-    {
128
-        // Return the view renderer with the given id
129
-        return $this->di->g("jaxon.app.view.$sId");
130
-    }
126
+public function getRenderer(string $sId): ViewInterface
127
+{
128
+// Return the view renderer with the given id
129
+return $this->di->g("jaxon.app.view.$sId");
130
+}
131 131
 
132
-    /**
132
+/**
133 133
      * Add a view renderer with an id
134 134
      *
135 135
      * @param string $sId    The unique identifier of the view renderer
@@ -137,25 +137,25 @@  discard block
 block discarded – undo
137 137
      *
138 138
      * @return void
139 139
      */
140
-    public function addRenderer(string $sId, Closure $xClosure): void
141
-    {
142
-        // Return the initialized view renderer
143
-        $this->di->set("jaxon.app.view.$sId", function($di) use($sId, $xClosure) {
144
-            // Get the defined renderer
145
-            $xRenderer = $xClosure($di);
146
-            // Init the renderer with the template namespaces
147
-            $aNamespaces = array_filter($this->aNamespaces, function($aOptions) use($sId) {
148
-                return $aOptions['renderer'] === $sId;
149
-            });
150
-            foreach($aNamespaces as $sName => $aOptions)
151
-            {
152
-                $xRenderer->addNamespace($sName, $aOptions['directory'], $aOptions['extension']);
153
-            }
154
-            return $xRenderer;
155
-        });
156
-    }
140
+public function addRenderer(string $sId, Closure $xClosure): void
141
+{
142
+// Return the initialized view renderer
143
+$this->di->set("jaxon.app.view.$sId", function($di) use($sId, $xClosure) {
144
+// Get the defined renderer
145
+$xRenderer = $xClosure($di);
146
+// Init the renderer with the template namespaces
147
+$aNamespaces = array_filter($this->aNamespaces, function($aOptions) use($sId) {
148
+    return $aOptions['renderer'] === $sId;
149
+});
150
+foreach($aNamespaces as $sName => $aOptions)
151
+{
152
+    $xRenderer->addNamespace($sName, $aOptions['directory'], $aOptions['extension']);
153
+}
154
+return $xRenderer;
155
+});
156
+}
157 157
 
158
-    /**
158
+/**
159 159
      * Add a view renderer with an id
160 160
      *
161 161
      * @param string $sId    The unique identifier of the view renderer
@@ -164,55 +164,55 @@  discard block
 block discarded – undo
164 164
      *
165 165
      * @return void
166 166
      */
167
-    public function setDefaultRenderer(string $sId, string $sExtension, Closure $xClosure): void
168
-    {
169
-        $this->setDefaultNamespace($sId);
170
-        $this->addNamespace($sId, '', $sExtension, $sId);
171
-        $this->addRenderer($sId, $xClosure);
172
-    }
167
+public function setDefaultRenderer(string $sId, string $sExtension, Closure $xClosure): void
168
+{
169
+$this->setDefaultNamespace($sId);
170
+$this->addNamespace($sId, '', $sExtension, $sId);
171
+$this->addRenderer($sId, $xClosure);
172
+}
173 173
 
174
-    /**
174
+/**
175 175
      * Get the view renderer for a given namespace
176 176
      *
177 177
      * @param string $sNamespace    The namespace name
178 178
      *
179 179
      * @return ViewInterface|null
180 180
      */
181
-    public function getNamespaceRenderer(string $sNamespace): ?ViewInterface
182
-    {
183
-        if(!isset($this->aNamespaces[$sNamespace]))
184
-        {
185
-            return null;
186
-        }
187
-        // Return the view renderer with the configured id
188
-        return $this->getRenderer($this->aNamespaces[$sNamespace]['renderer']);
189
-    }
181
+public function getNamespaceRenderer(string $sNamespace): ?ViewInterface
182
+{
183
+if(!isset($this->aNamespaces[$sNamespace]))
184
+{
185
+return null;
186
+}
187
+// Return the view renderer with the configured id
188
+return $this->getRenderer($this->aNamespaces[$sNamespace]['renderer']);
189
+}
190 190
 
191
-    /**
191
+/**
192 192
      * Set the default namespace
193 193
      *
194 194
      * @param string $sDefaultNamespace
195 195
      */
196
-    public function setDefaultNamespace(string $sDefaultNamespace): void
197
-    {
198
-        $this->sDefaultNamespace = $sDefaultNamespace;
199
-    }
196
+public function setDefaultNamespace(string $sDefaultNamespace): void
197
+{
198
+$this->sDefaultNamespace = $sDefaultNamespace;
199
+}
200 200
 
201
-    /**
201
+/**
202 202
      * Get the current store or create a new store
203 203
      *
204 204
      * @return Store
205 205
      */
206
-    protected function store(): Store
207
-    {
208
-        if(!$this->xStore)
209
-        {
210
-            $this->xStore = new Store();
211
-        }
212
-        return $this->xStore;
213
-    }
206
+protected function store(): Store
207
+{
208
+if(!$this->xStore)
209
+{
210
+$this->xStore = new Store();
211
+}
212
+return $this->xStore;
213
+}
214 214
 
215
-    /**
215
+/**
216 216
      * Make a piece of data available for the rendered view
217 217
      *
218 218
      * @param string $sName    The data name
@@ -220,13 +220,13 @@  discard block
 block discarded – undo
220 220
      *
221 221
      * @return ViewRenderer
222 222
      */
223
-    public function set(string $sName, $xValue): ViewRenderer
224
-    {
225
-        $this->store()->with($sName, $xValue);
226
-        return $this;
227
-    }
223
+public function set(string $sName, $xValue): ViewRenderer
224
+{
225
+$this->store()->with($sName, $xValue);
226
+return $this;
227
+}
228 228
 
229
-    /**
229
+/**
230 230
      * Make a piece of data available for all views
231 231
      *
232 232
      * @param string $sName    The data name
@@ -234,29 +234,29 @@  discard block
 block discarded – undo
234 234
      *
235 235
      * @return ViewRenderer
236 236
      */
237
-    public function share(string $sName, $xValue): ViewRenderer
238
-    {
239
-        $this->aViewData[$sName] = $xValue;
240
-        return $this;
241
-    }
237
+public function share(string $sName, $xValue): ViewRenderer
238
+{
239
+$this->aViewData[$sName] = $xValue;
240
+return $this;
241
+}
242 242
 
243
-    /**
243
+/**
244 244
      * Make an array of data available for all views
245 245
      *
246 246
      * @param array $aValues    The data values
247 247
      *
248 248
      * @return ViewRenderer
249 249
      */
250
-    public function shareValues(array $aValues): ViewRenderer
251
-    {
252
-        foreach($aValues as $sName => $xValue)
253
-        {
254
-            $this->share($sName, $xValue);
255
-        }
256
-        return $this;
257
-    }
250
+public function shareValues(array $aValues): ViewRenderer
251
+{
252
+foreach($aValues as $sName => $xValue)
253
+{
254
+$this->share($sName, $xValue);
255
+}
256
+return $this;
257
+}
258 258
 
259
-    /**
259
+/**
260 260
      * Render a view using a store
261 261
      *
262 262
      * The store returned by this function will later be used with the make() method to render the view.
@@ -266,32 +266,32 @@  discard block
 block discarded – undo
266 266
      *
267 267
      * @return Store   A store populated with the view data
268 268
      */
269
-    public function render(string $sViewName, array $aViewData = []): Store
270
-    {
271
-        $xStore = $this->store();
272
-        // Get the default view namespace
273
-        $sNamespace = $this->sDefaultNamespace;
274
-        // Get the namespace from the view name
275
-        $nSeparatorPosition = strrpos($sViewName, '::');
276
-        if($nSeparatorPosition !== false)
277
-        {
278
-            $sNamespace = substr($sViewName, 0, $nSeparatorPosition);
279
-            $sViewName = substr($sViewName, $nSeparatorPosition + 2);
280
-        }
269
+public function render(string $sViewName, array $aViewData = []): Store
270
+{
271
+$xStore = $this->store();
272
+// Get the default view namespace
273
+$sNamespace = $this->sDefaultNamespace;
274
+// Get the namespace from the view name
275
+$nSeparatorPosition = strrpos($sViewName, '::');
276
+if($nSeparatorPosition !== false)
277
+{
278
+$sNamespace = substr($sViewName, 0, $nSeparatorPosition);
279
+$sViewName = substr($sViewName, $nSeparatorPosition + 2);
280
+}
281 281
 
282
-        $xRenderer = $this->getNamespaceRenderer($sNamespace);
283
-        if(!$xRenderer)
284
-        {
285
-            // Cannot render a view if there's no renderer corresponding to the namespace.
286
-            return $this->xEmptyStore;
287
-        }
282
+$xRenderer = $this->getNamespaceRenderer($sNamespace);
283
+if(!$xRenderer)
284
+{
285
+// Cannot render a view if there's no renderer corresponding to the namespace.
286
+return $this->xEmptyStore;
287
+}
288 288
 
289
-        $xStore->setData(array_merge($this->aViewData, $aViewData))
290
-            ->setView($xRenderer, $sNamespace, $sViewName);
289
+$xStore->setData(array_merge($this->aViewData, $aViewData))
290
+->setView($xRenderer, $sNamespace, $sViewName);
291 291
 
292
-        // Set the store to null so a new store will be created for the next view.
293
-        $this->xStore = null;
294
-        // Return the store
295
-        return $xStore;
296
-    }
292
+// Set the store to null so a new store will be created for the next view.
293
+$this->xStore = null;
294
+// Return the store
295
+return $xStore;
296
+}
297 297
 }
Please login to merge, or discard this patch.
jaxon-core/src/App/PageComponent.php 1 patch
Switch Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -6,53 +6,53 @@
 block discarded – undo
6 6
 
7 7
 abstract class PageComponent extends NodeComponent
8 8
 {
9
-    /**
9
+/**
10 10
      * The current page number.
11 11
      *
12 12
      * @var int
13 13
      */
14
-    private int $currentPage = 1;
14
+private int $currentPage = 1;
15 15
 
16
-    /**
16
+/**
17 17
      * Get the total number of items to paginate.
18 18
      *
19 19
      * @return int
20 20
      */
21
-    abstract protected function count(): int;
21
+abstract protected function count(): int;
22 22
 
23
-    /**
23
+/**
24 24
      * Get the max number of items per page.
25 25
      *
26 26
      * @return int
27 27
      */
28
-    abstract protected function limit(): int;
28
+abstract protected function limit(): int;
29 29
 
30
-    /**
30
+/**
31 31
      * Get the paginator for the component.
32 32
      *
33 33
      * @param int $pageNumber
34 34
      *
35 35
      * @return Paginator
36 36
      */
37
-    protected function paginator(int $pageNumber): Paginator
38
-    {
39
-        return $this->cl(Component\Pagination::class)
40
-            // Use the js class name as component item identifier.
41
-            ->item($this->rq()->_class())
42
-            ->paginator($pageNumber > 0 ? $pageNumber : 1, $this->limit(), $this->count())
43
-            // This callback will receive the final value of the current page number.
44
-            ->page(function(int $currentPage) {
45
-                $this->currentPage = $currentPage;
46
-            });
47
-    }
37
+protected function paginator(int $pageNumber): Paginator
38
+{
39
+return $this->cl(Component\Pagination::class)
40
+// Use the js class name as component item identifier.
41
+->item($this->rq()->_class())
42
+->paginator($pageNumber > 0 ? $pageNumber : 1, $this->limit(), $this->count())
43
+// This callback will receive the final value of the current page number.
44
+->page(function(int $currentPage) {
45
+    $this->currentPage = $currentPage;
46
+});
47
+}
48 48
 
49
-    /**
49
+/**
50 50
      * Get the current page number
51 51
      *
52 52
      * @return int
53 53
      */
54
-    protected function currentPage(): int
55
-    {
56
-        return $this->currentPage;
57
-    }
54
+protected function currentPage(): int
55
+{
56
+return $this->currentPage;
57
+}
58 58
 }
Please login to merge, or discard this patch.
jaxon-core/src/App/PageDatabagTrait.php 1 patch
Switch Indentation   +37 added lines, -37 removed lines patch added patch discarded remove patch
@@ -6,81 +6,81 @@
 block discarded – undo
6 6
 
7 7
 trait PageDatabagTrait
8 8
 {
9
-    /**
9
+/**
10 10
      * The current page number.
11 11
      *
12 12
      * @var int
13 13
      */
14
-    private int $currentPage = 1;
14
+private int $currentPage = 1;
15 15
 
16
-    /**
16
+/**
17 17
      * Get the pagination databag name.
18 18
      *
19 19
      * @return string
20 20
      */
21
-    abstract protected function bagName(): string;
21
+abstract protected function bagName(): string;
22 22
 
23
-    /**
23
+/**
24 24
      * Get the pagination databag attribute.
25 25
      *
26 26
      * @return string
27 27
      */
28
-    abstract protected function bagAttr(): string;
28
+abstract protected function bagAttr(): string;
29 29
 
30
-    /**
30
+/**
31 31
      * Get the page number.
32 32
      *
33 33
      * @param int $pageNumber
34 34
      *
35 35
      * @return int
36 36
      */
37
-    private function getPageNumber(int $pageNumber): int
38
-    {
39
-        // If no page number is provided, then get the value from the databag.
40
-        return $pageNumber > 0 ? $pageNumber :
41
-            (int)$this->bag($this->bagName())->get($this->bagAttr(), 1);
42
-    }
37
+private function getPageNumber(int $pageNumber): int
38
+{
39
+// If no page number is provided, then get the value from the databag.
40
+return $pageNumber > 0 ? $pageNumber :
41
+(int)$this->bag($this->bagName())->get($this->bagAttr(), 1);
42
+}
43 43
 
44
-    /**
44
+/**
45 45
      * Set the page number.
46 46
      *
47 47
      * @param int $currentPage
48 48
      *
49 49
      * @return void
50 50
      */
51
-    private function setCurrentPage(int $currentPage): void
52
-    {
53
-        // Save the current page in the databag.
54
-        $this->bag($this->bagName())->set($this->bagAttr(), $currentPage);
55
-        $this->currentPage = $currentPage;
56
-    }
51
+private function setCurrentPage(int $currentPage): void
52
+{
53
+// Save the current page in the databag.
54
+$this->bag($this->bagName())->set($this->bagAttr(), $currentPage);
55
+$this->currentPage = $currentPage;
56
+}
57 57
 
58
-    /**
58
+/**
59 59
      * Get the paginator for the component.
60 60
      *
61 61
      * @param int $pageNumber
62 62
      *
63 63
      * @return Paginator
64 64
      */
65
-    protected function paginator(int $pageNumber): Paginator
66
-    {
67
-        return $this->cl(Component\Pagination::class)
68
-            // Use the js class name as component item identifier.
69
-            ->item($this->rq()->_class())
70
-            ->paginator($this->getPageNumber($pageNumber), $this->limit(), $this->count())
71
-            // This callback will receive the final value of the current page number.
72
-            ->page(function(int $currentPage) {
73
-                $this->setCurrentPage($currentPage);
74
-            });
75
-    }
65
+protected function paginator(int $pageNumber): Paginator
66
+{
67
+return $this->cl(Component\Pagination::class)
68
+// Use the js class name as component item identifier.
69
+->item($this->rq()->_class())
70
+->paginator($this->getPageNumber($pageNumber), $this->limit(), $this->count())
71
+// This callback will receive the final value of the current page number.
72
+->page(function(int $currentPage) {
73
+    $this->setCurrentPage($currentPage);
74
+});
75
+}
76 76
 
77
-    /**
77
+/**
78 78
      * Get the current page number
79 79
      *
80 80
      * @return int
81 81
      */
82
-    protected function currentPage(): int
83
-    {
84
-        return $this->currentPage;
85
-    }
82
+protected function currentPage(): int
83
+{
84
+return $this->currentPage;
85
+}
86 86
 }
Please login to merge, or discard this patch.
jaxon-dialogs/tests/TestDialog/SetupTest.php 1 patch
Switch Indentation   +367 added lines, -367 removed lines patch added patch discarded remove patch
@@ -24,383 +24,383 @@
 block discarded – undo
24 24
 
25 25
 class SetupTest extends TestCase
26 26
 {
27
-    /**
27
+/**
28 28
      * @throws SetupException
29 29
      */
30
-    public function setUp(): void
31
-    {
32
-        _register();
33
-        jaxon()->setOption('core.prefix.class', '');
34
-        jaxon()->setOption('core.request.uri', 'http://example.test/path');
35
-        jaxon()->register(Jaxon::CALLABLE_CLASS, Dialog::class);
36
-    }
37
-
38
-    /**
30
+public function setUp(): void
31
+{
32
+_register();
33
+jaxon()->setOption('core.prefix.class', '');
34
+jaxon()->setOption('core.request.uri', 'http://example.test/path');
35
+jaxon()->register(Jaxon::CALLABLE_CLASS, Dialog::class);
36
+}
37
+
38
+/**
39 39
      * @throws SetupException
40 40
      */
41
-    public function tearDown(): void
42
-    {
43
-        jaxon()->reset();
44
-        parent::tearDown();
45
-    }
46
-
47
-    public function testDialogSettings()
48
-    {
49
-        $this->assertEquals('', dialog()->getConfirmLibrary()->getName());
50
-        $this->assertEquals(Alert::class, get_class(dialog()->getConfirmLibrary()));
51
-        $this->assertEquals(Alert::class, get_class(dialog()->getAlertLibrary()));
52
-        $this->assertEquals(null, dialog()->getModalLibrary());
53
-
54
-        jaxon()->setAppOptions([
55
-            'modal' => 'alertify',
56
-            'alert' => 'alertify',
57
-            'confirm' => 'alertify',
58
-        ], 'dialogs.default');
59
-        $this->assertEquals(Alertify::class, get_class(dialog()->getConfirmLibrary()));
60
-        $this->assertEquals(Alertify::class, get_class(dialog()->getAlertLibrary()));
61
-        $this->assertEquals(Alertify::class, get_class(dialog()->getModalLibrary()));
62
-
63
-        jaxon()->setAppOptions([
64
-            'modal' => 'bootbox',
65
-            'alert' => 'bootbox',
66
-            'confirm' => 'bootbox',
67
-        ], 'dialogs.default');
68
-        $this->assertEquals(Bootbox::class, get_class(dialog()->getConfirmLibrary()));
69
-        $this->assertEquals(Bootbox::class, get_class(dialog()->getAlertLibrary()));
70
-        $this->assertEquals(Bootbox::class, get_class(dialog()->getModalLibrary()));
71
-    }
72
-
73
-    public function testDialogOptions()
74
-    {
75
-        jaxon()->app()->setup(__DIR__ . '/../config/dialog.php');
76
-        $this->assertStringContainsString('toast-top-center', jaxon()->script());
77
-
78
-        /** @var DialogPlugin */
79
-        $xDialogPlugin = jaxon()->di()->g(DialogPlugin::class);
80
-        $this->assertStringContainsString('5.0.0', $xDialogPlugin->getHash());
81
-    }
82
-
83
-    public function testDialogDefaultMethods()
84
-    {
85
-        dialog()->registerLibrary(TestDialogLibrary::class, TestDialogLibrary::NAME);
86
-        // Registering a library twice should not cause any issue.
87
-        dialog()->registerLibrary(TestDialogLibrary::class, TestDialogLibrary::NAME);
88
-        jaxon()->setAppOption('dialogs.default.confirm', TestDialogLibrary::NAME);
89
-        $xConfirmLibrary = dialog()->getConfirmLibrary();
90
-        $this->assertEquals('', $xConfirmLibrary->getUri());
91
-        $this->assertEquals('', $xConfirmLibrary->getJs());
92
-        $this->assertEquals('', $xConfirmLibrary->getScript());
93
-        $this->assertEquals('', $xConfirmLibrary->getJsCode()->sJs);
94
-        $this->assertEquals('', $xConfirmLibrary->getJsCode()->sJsBefore);
95
-        $this->assertEquals('', $xConfirmLibrary->getJsCode()->sJsAfter);
96
-    }
97
-
98
-    public function testExtDialogLibrary()
99
-    {
100
-        dialog()->registerLibrary(TestDialogLibrary::class, TestDialogLibrary::NAME);
101
-        jaxon()->setAppOption('dialogs.default.confirm', TestDialogLibrary::NAME);
102
-        $this->assertEquals(TestDialogLibrary::class, get_class(dialog()->getConfirmLibrary()));
103
-    }
104
-
105
-    public function testExtDialogLibraryConfigSet()
106
-    {
107
-        jaxon()->setAppOption('dialogs.lib.ext', [
108
-            TestDialogLibrary::NAME => TestDialogLibrary::class,
109
-        ]);
110
-        jaxon()->setAppOption('dialogs.default.confirm', TestDialogLibrary::NAME);
111
-        $this->assertEquals(TestDialogLibrary::class, get_class(dialog()->getConfirmLibrary()));
112
-    }
113
-
114
-    public function testExtDialogLibraryConfigFile()
115
-    {
116
-        jaxon()->app()->setup(__DIR__ . '/../config/ext.php');
117
-        $this->assertEquals(TestDialogLibrary::class, get_class(dialog()->getConfirmLibrary()));
118
-    }
119
-
120
-    public function testDialogJsCode()
121
-    {
122
-        jaxon()->setAppOption('dialogs.lib.use', ['bootbox', 'alertify', 'cute']);
123
-        $sJsCode = jaxon()->js();
124
-        $this->assertStringContainsString('bootbox.min.js', $sJsCode);
125
-        $this->assertStringContainsString('alertify.min.js', $sJsCode);
126
-        $this->assertStringContainsString('cute-alert.js', $sJsCode);
127
-    }
128
-
129
-    public function testDialogCssCode()
130
-    {
131
-        jaxon()->setAppOption('dialogs.lib.use', ['alertify', 'cute']);
132
-        $sCssCode = jaxon()->css();
133
-        $this->assertStringContainsString('alertify.min.css', $sCssCode);
134
-        $this->assertStringContainsString('cute-alert/style.css', $sCssCode);
135
-    }
136
-
137
-    /**
41
+public function tearDown(): void
42
+{
43
+jaxon()->reset();
44
+parent::tearDown();
45
+}
46
+
47
+public function testDialogSettings()
48
+{
49
+$this->assertEquals('', dialog()->getConfirmLibrary()->getName());
50
+$this->assertEquals(Alert::class, get_class(dialog()->getConfirmLibrary()));
51
+$this->assertEquals(Alert::class, get_class(dialog()->getAlertLibrary()));
52
+$this->assertEquals(null, dialog()->getModalLibrary());
53
+
54
+jaxon()->setAppOptions([
55
+'modal' => 'alertify',
56
+'alert' => 'alertify',
57
+'confirm' => 'alertify',
58
+], 'dialogs.default');
59
+$this->assertEquals(Alertify::class, get_class(dialog()->getConfirmLibrary()));
60
+$this->assertEquals(Alertify::class, get_class(dialog()->getAlertLibrary()));
61
+$this->assertEquals(Alertify::class, get_class(dialog()->getModalLibrary()));
62
+
63
+jaxon()->setAppOptions([
64
+'modal' => 'bootbox',
65
+'alert' => 'bootbox',
66
+'confirm' => 'bootbox',
67
+], 'dialogs.default');
68
+$this->assertEquals(Bootbox::class, get_class(dialog()->getConfirmLibrary()));
69
+$this->assertEquals(Bootbox::class, get_class(dialog()->getAlertLibrary()));
70
+$this->assertEquals(Bootbox::class, get_class(dialog()->getModalLibrary()));
71
+}
72
+
73
+public function testDialogOptions()
74
+{
75
+jaxon()->app()->setup(__DIR__ . '/../config/dialog.php');
76
+$this->assertStringContainsString('toast-top-center', jaxon()->script());
77
+
78
+/** @var DialogPlugin */
79
+$xDialogPlugin = jaxon()->di()->g(DialogPlugin::class);
80
+$this->assertStringContainsString('5.0.0', $xDialogPlugin->getHash());
81
+}
82
+
83
+public function testDialogDefaultMethods()
84
+{
85
+dialog()->registerLibrary(TestDialogLibrary::class, TestDialogLibrary::NAME);
86
+// Registering a library twice should not cause any issue.
87
+dialog()->registerLibrary(TestDialogLibrary::class, TestDialogLibrary::NAME);
88
+jaxon()->setAppOption('dialogs.default.confirm', TestDialogLibrary::NAME);
89
+$xConfirmLibrary = dialog()->getConfirmLibrary();
90
+$this->assertEquals('', $xConfirmLibrary->getUri());
91
+$this->assertEquals('', $xConfirmLibrary->getJs());
92
+$this->assertEquals('', $xConfirmLibrary->getScript());
93
+$this->assertEquals('', $xConfirmLibrary->getJsCode()->sJs);
94
+$this->assertEquals('', $xConfirmLibrary->getJsCode()->sJsBefore);
95
+$this->assertEquals('', $xConfirmLibrary->getJsCode()->sJsAfter);
96
+}
97
+
98
+public function testExtDialogLibrary()
99
+{
100
+dialog()->registerLibrary(TestDialogLibrary::class, TestDialogLibrary::NAME);
101
+jaxon()->setAppOption('dialogs.default.confirm', TestDialogLibrary::NAME);
102
+$this->assertEquals(TestDialogLibrary::class, get_class(dialog()->getConfirmLibrary()));
103
+}
104
+
105
+public function testExtDialogLibraryConfigSet()
106
+{
107
+jaxon()->setAppOption('dialogs.lib.ext', [
108
+TestDialogLibrary::NAME => TestDialogLibrary::class,
109
+]);
110
+jaxon()->setAppOption('dialogs.default.confirm', TestDialogLibrary::NAME);
111
+$this->assertEquals(TestDialogLibrary::class, get_class(dialog()->getConfirmLibrary()));
112
+}
113
+
114
+public function testExtDialogLibraryConfigFile()
115
+{
116
+jaxon()->app()->setup(__DIR__ . '/../config/ext.php');
117
+$this->assertEquals(TestDialogLibrary::class, get_class(dialog()->getConfirmLibrary()));
118
+}
119
+
120
+public function testDialogJsCode()
121
+{
122
+jaxon()->setAppOption('dialogs.lib.use', ['bootbox', 'alertify', 'cute']);
123
+$sJsCode = jaxon()->js();
124
+$this->assertStringContainsString('bootbox.min.js', $sJsCode);
125
+$this->assertStringContainsString('alertify.min.js', $sJsCode);
126
+$this->assertStringContainsString('cute-alert.js', $sJsCode);
127
+}
128
+
129
+public function testDialogCssCode()
130
+{
131
+jaxon()->setAppOption('dialogs.lib.use', ['alertify', 'cute']);
132
+$sCssCode = jaxon()->css();
133
+$this->assertStringContainsString('alertify.min.css', $sCssCode);
134
+$this->assertStringContainsString('cute-alert/style.css', $sCssCode);
135
+}
136
+
137
+/**
138 138
      * @throws UriException
139 139
      */
140
-    public function testDialogScriptCode()
141
-    {
142
-        jaxon()->setAppOptions([
143
-            'default' => [
144
-                'modal' => 'alertify',
145
-                'alert' => 'alertify',
146
-                'confirm' => 'alertify',
147
-            ],
148
-            'lib' => [
149
-                'use' => ['bootbox', 'cute', 'jalert'],
150
-            ],
151
-        ], 'dialogs');
152
-
153
-        $sScriptCode = jaxon()->getScript();
154
-        $this->assertStringContainsString("jaxon.dialog.register('alertify'", $sScriptCode);
155
-        $this->assertStringContainsString("jaxon.dialog.register('bootbox'", $sScriptCode);
156
-        $this->assertStringContainsString("jaxon.dialog.register('cute'", $sScriptCode);
157
-        $this->assertStringContainsString("jaxon.dialog.register('jalert'", $sScriptCode);
158
-    }
159
-
160
-    /**
140
+public function testDialogScriptCode()
141
+{
142
+jaxon()->setAppOptions([
143
+'default' => [
144
+    'modal' => 'alertify',
145
+    'alert' => 'alertify',
146
+    'confirm' => 'alertify',
147
+],
148
+'lib' => [
149
+    'use' => ['bootbox', 'cute', 'jalert'],
150
+],
151
+], 'dialogs');
152
+
153
+$sScriptCode = jaxon()->getScript();
154
+$this->assertStringContainsString("jaxon.dialog.register('alertify'", $sScriptCode);
155
+$this->assertStringContainsString("jaxon.dialog.register('bootbox'", $sScriptCode);
156
+$this->assertStringContainsString("jaxon.dialog.register('cute'", $sScriptCode);
157
+$this->assertStringContainsString("jaxon.dialog.register('jalert'", $sScriptCode);
158
+}
159
+
160
+/**
161 161
      * @throws UriException
162 162
      */
163
-    public function testDialogScriptFile()
164
-    {
165
-        jaxon()->setOptions([
166
-            'export' => true,
167
-            'minify' => false,
168
-            'file' => 'app',
169
-            'dir' => __DIR__ . '/../js',
170
-            'uri' => 'http://localhost',
171
-        ], 'js.app');
172
-        jaxon()->setAppOptions([
173
-            'default' => [
174
-                'modal' => 'alertify',
175
-                'alert' => 'alertify',
176
-                'confirm' => 'alertify',
177
-            ],
178
-            'lib' => [
179
-                'use' => ['bootbox', 'cute', 'jalert'],
180
-            ],
181
-        ], 'dialogs');
182
-
183
-        $sScriptCode = jaxon()->getScript();
184
-        $this->assertStringNotContainsString("jaxon.dialog.register('alertify'", $sScriptCode);
185
-        $this->assertStringNotContainsString("jaxon.dialog.register('bootbox'", $sScriptCode);
186
-        $this->assertStringNotContainsString("jaxon.dialog.register('cute'", $sScriptCode);
187
-        $this->assertStringNotContainsString("jaxon.dialog.register('jalert'", $sScriptCode);
188
-
189
-        $this->assertStringContainsString('/js/alertify.js', $sScriptCode);
190
-        $this->assertStringContainsString('/js/bootbox.js', $sScriptCode);
191
-        $this->assertStringContainsString('/js/cute.js', $sScriptCode);
192
-        $this->assertStringContainsString('/js/jalert.js', $sScriptCode);
193
-    }
194
-
195
-    /**
163
+public function testDialogScriptFile()
164
+{
165
+jaxon()->setOptions([
166
+'export' => true,
167
+'minify' => false,
168
+'file' => 'app',
169
+'dir' => __DIR__ . '/../js',
170
+'uri' => 'http://localhost',
171
+], 'js.app');
172
+jaxon()->setAppOptions([
173
+'default' => [
174
+    'modal' => 'alertify',
175
+    'alert' => 'alertify',
176
+    'confirm' => 'alertify',
177
+],
178
+'lib' => [
179
+    'use' => ['bootbox', 'cute', 'jalert'],
180
+],
181
+], 'dialogs');
182
+
183
+$sScriptCode = jaxon()->getScript();
184
+$this->assertStringNotContainsString("jaxon.dialog.register('alertify'", $sScriptCode);
185
+$this->assertStringNotContainsString("jaxon.dialog.register('bootbox'", $sScriptCode);
186
+$this->assertStringNotContainsString("jaxon.dialog.register('cute'", $sScriptCode);
187
+$this->assertStringNotContainsString("jaxon.dialog.register('jalert'", $sScriptCode);
188
+
189
+$this->assertStringContainsString('/js/alertify.js', $sScriptCode);
190
+$this->assertStringContainsString('/js/bootbox.js', $sScriptCode);
191
+$this->assertStringContainsString('/js/cute.js', $sScriptCode);
192
+$this->assertStringContainsString('/js/jalert.js', $sScriptCode);
193
+}
194
+
195
+/**
196 196
      * @throws UriException
197 197
      */
198
-    public function testDialogScriptMinFile()
199
-    {
200
-        jaxon()->setOptions([
201
-            'export' => true,
202
-            'minify' => true,
203
-            'file' => 'app',
204
-            'dir' => __DIR__ . '/../js',
205
-            'uri' => 'http://localhost',
206
-        ], 'js.app');
207
-        jaxon()->setAppOptions([
208
-            'default' => [
209
-                'modal' => 'alertify',
210
-                'alert' => 'alertify',
211
-                'confirm' => 'alertify',
212
-            ],
213
-            'lib' => [
214
-                'use' => ['bootbox', 'cute', 'jalert'],
215
-            ],
216
-        ], 'dialogs');
217
-
218
-        $sScriptCode = jaxon()->getScript();
219
-        $this->assertStringNotContainsString("jaxon.dialog.register('alertify'", $sScriptCode);
220
-        $this->assertStringNotContainsString("jaxon.dialog.register('bootbox'", $sScriptCode);
221
-        $this->assertStringNotContainsString("jaxon.dialog.register('cute'", $sScriptCode);
222
-        $this->assertStringNotContainsString("jaxon.dialog.register('jalert'", $sScriptCode);
223
-
224
-        $this->assertStringContainsString('/js/alertify.min.js', $sScriptCode);
225
-        $this->assertStringContainsString('/js/bootbox.min.js', $sScriptCode);
226
-        $this->assertStringContainsString('/js/cute.min.js', $sScriptCode);
227
-        $this->assertStringContainsString('/js/jalert.min.js', $sScriptCode);
228
-    }
229
-
230
-    public function testAlertifyLibrary()
231
-    {
232
-        jaxon()->setAppOption('dialogs.lib.use', ['alertify']);
233
-
234
-        $this->assertStringContainsString('alertify.min.js', jaxon()->js());
235
-        $this->assertStringContainsString('css/alertify.min.css', jaxon()->css());
236
-        $this->assertStringContainsString('css/themes/default.min.css', jaxon()->css());
237
-        $this->assertStringContainsString("jaxon.dialog.register('alertify'", jaxon()->script());
238
-    }
239
-
240
-    public function testBootboxLibrary()
241
-    {
242
-        jaxon()->setAppOption('dialogs.lib.use', ['bootbox']);
243
-
244
-        $this->assertStringContainsString('bootbox.min.js', jaxon()->js());
245
-        $this->assertStringContainsString("jaxon.dialog.register('bootbox'", jaxon()->script());
246
-    }
247
-
248
-    public function testBootstrap3Library()
249
-    {
250
-        jaxon()->setAppOption('dialogs.lib.use', ['bootstrap3']);
251
-
252
-        $this->assertStringContainsString("jaxon.dialog.register('bootstrap3'", jaxon()->script());
253
-    }
254
-
255
-    public function testBootstrap4Library()
256
-    {
257
-        jaxon()->setAppOption('dialogs.lib.use', ['bootstrap4']);
258
-
259
-        $this->assertStringContainsString("jaxon.dialog.register('bootstrap4'", jaxon()->script());
260
-    }
261
-
262
-    public function testBootstrap5Library()
263
-    {
264
-        jaxon()->setAppOption('dialogs.lib.use', ['bootstrap5']);
265
-
266
-        $this->assertStringContainsString("jaxon.dialog.register('bootstrap5'", jaxon()->script());
267
-    }
268
-
269
-    public function testButterupLibrary()
270
-    {
271
-        jaxon()->setAppOption('dialogs.lib.use', ['butterup']);
272
-
273
-        $this->assertStringContainsString('butterup.min.js', jaxon()->js());
274
-        $this->assertStringContainsString('butterup.min.css', jaxon()->css());
275
-        $this->assertStringContainsString("jaxon.dialog.register('butterup'", jaxon()->script());
276
-    }
277
-
278
-    public function testCuteAlertLibrary()
279
-    {
280
-        jaxon()->setAppOption('dialogs.lib.use', ['cute']);
281
-
282
-        $this->assertStringContainsString('cute-alert/cute-alert.js', jaxon()->js());
283
-        $this->assertStringContainsString('cute-alert/style.css', jaxon()->css());
284
-        $this->assertStringContainsString("jaxon.dialog.register('cute'", jaxon()->script());
285
-    }
286
-
287
-    public function testIziToastLibrary()
288
-    {
289
-        jaxon()->setAppOption('dialogs.lib.use', ['izitoast']);
290
-
291
-        $this->assertStringContainsString('js/iziToast.min.js', jaxon()->js());
292
-        $this->assertStringContainsString('css/iziToast.min.css', jaxon()->css());
293
-        $this->assertStringContainsString("jaxon.dialog.register('izitoast'", jaxon()->script());
294
-    }
295
-
296
-    public function testJAlertLibrary()
297
-    {
298
-        jaxon()->setAppOption('dialogs.lib.use', ['jalert']);
299
-
300
-        $this->assertStringContainsString('jAlert.min.js', jaxon()->js());
301
-        $this->assertStringContainsString('jAlert.min.css', jaxon()->css());
302
-        $this->assertStringContainsString("jaxon.dialog.register('jalert'", jaxon()->script());
303
-    }
304
-
305
-    public function testJQueryConfirmLibrary()
306
-    {
307
-        jaxon()->setAppOption('dialogs.lib.use', ['jconfirm']);
308
-
309
-        $this->assertStringContainsString('jquery-confirm.min.js', jaxon()->js());
310
-        $this->assertStringContainsString('jquery-confirm.min.css', jaxon()->css());
311
-        $this->assertStringContainsString("jaxon.dialog.register('jconfirm'", jaxon()->script());
312
-    }
313
-
314
-    public function testNotifyLibrary()
315
-    {
316
-        jaxon()->setAppOption('dialogs.lib.use', ['notify']);
317
-
318
-        $this->assertStringContainsString('notify.min.js', jaxon()->js());
319
-        $this->assertStringContainsString("jaxon.dialog.register('notify'", jaxon()->script());
320
-    }
321
-
322
-    public function testNotyLibrary()
323
-    {
324
-        jaxon()->setAppOption('dialogs.lib.use', ['noty']);
325
-
326
-        $this->assertStringContainsString('noty.min.js', jaxon()->js());
327
-        $this->assertStringContainsString('noty.min.css', jaxon()->css());
328
-        $this->assertStringContainsString("jaxon.dialog.register('noty'", jaxon()->script());
329
-    }
330
-
331
-    public function testNotyfLibrary()
332
-    {
333
-        jaxon()->setAppOption('dialogs.lib.use', ['notyf']);
334
-
335
-        $this->assertStringContainsString('notyf.min.js', jaxon()->js());
336
-        $this->assertStringContainsString('notyf.min.css', jaxon()->css());
337
-        $this->assertStringContainsString("jaxon.dialog.register('notyf'", jaxon()->script());
338
-    }
339
-
340
-    public function testQuantumLibrary()
341
-    {
342
-        jaxon()->setAppOption('dialogs.lib.use', ['quantum']);
343
-
344
-        $this->assertStringContainsString('minfile/quantumalert.js', jaxon()->js());
345
-        $this->assertStringContainsString("jaxon.dialog.register('quantum'", jaxon()->script());
346
-    }
347
-
348
-    public function testSweetAlertLibrary()
349
-    {
350
-        jaxon()->setAppOption('dialogs.lib.use', ['sweetalert']);
351
-
352
-        $this->assertStringContainsString('sweetalert.min.js', jaxon()->js());
353
-        $this->assertStringContainsString("jaxon.dialog.register('sweetalert'", jaxon()->script());
354
-    }
355
-
356
-    public function testTingleLibrary()
357
-    {
358
-        jaxon()->setAppOption('dialogs.lib.use', ['tingle']);
359
-
360
-        $this->assertStringContainsString('tingle.min.js', jaxon()->js());
361
-        $this->assertStringContainsString('tingle.min.css', jaxon()->css());
362
-        $this->assertStringContainsString("jaxon.dialog.register('tingle'", jaxon()->script());
363
-    }
364
-
365
-    public function testToastrLibrary()
366
-    {
367
-        jaxon()->setAppOption('dialogs.lib.use', ['toastr']);
368
-
369
-        $this->assertStringContainsString('toastr.min.js', jaxon()->js());
370
-        $this->assertStringContainsString('build/toastr.min.css', jaxon()->css());
371
-        $this->assertStringContainsString("jaxon.dialog.register('toastr'", jaxon()->script());
372
-    }
373
-
374
-    /**
198
+public function testDialogScriptMinFile()
199
+{
200
+jaxon()->setOptions([
201
+'export' => true,
202
+'minify' => true,
203
+'file' => 'app',
204
+'dir' => __DIR__ . '/../js',
205
+'uri' => 'http://localhost',
206
+], 'js.app');
207
+jaxon()->setAppOptions([
208
+'default' => [
209
+    'modal' => 'alertify',
210
+    'alert' => 'alertify',
211
+    'confirm' => 'alertify',
212
+],
213
+'lib' => [
214
+    'use' => ['bootbox', 'cute', 'jalert'],
215
+],
216
+], 'dialogs');
217
+
218
+$sScriptCode = jaxon()->getScript();
219
+$this->assertStringNotContainsString("jaxon.dialog.register('alertify'", $sScriptCode);
220
+$this->assertStringNotContainsString("jaxon.dialog.register('bootbox'", $sScriptCode);
221
+$this->assertStringNotContainsString("jaxon.dialog.register('cute'", $sScriptCode);
222
+$this->assertStringNotContainsString("jaxon.dialog.register('jalert'", $sScriptCode);
223
+
224
+$this->assertStringContainsString('/js/alertify.min.js', $sScriptCode);
225
+$this->assertStringContainsString('/js/bootbox.min.js', $sScriptCode);
226
+$this->assertStringContainsString('/js/cute.min.js', $sScriptCode);
227
+$this->assertStringContainsString('/js/jalert.min.js', $sScriptCode);
228
+}
229
+
230
+public function testAlertifyLibrary()
231
+{
232
+jaxon()->setAppOption('dialogs.lib.use', ['alertify']);
233
+
234
+$this->assertStringContainsString('alertify.min.js', jaxon()->js());
235
+$this->assertStringContainsString('css/alertify.min.css', jaxon()->css());
236
+$this->assertStringContainsString('css/themes/default.min.css', jaxon()->css());
237
+$this->assertStringContainsString("jaxon.dialog.register('alertify'", jaxon()->script());
238
+}
239
+
240
+public function testBootboxLibrary()
241
+{
242
+jaxon()->setAppOption('dialogs.lib.use', ['bootbox']);
243
+
244
+$this->assertStringContainsString('bootbox.min.js', jaxon()->js());
245
+$this->assertStringContainsString("jaxon.dialog.register('bootbox'", jaxon()->script());
246
+}
247
+
248
+public function testBootstrap3Library()
249
+{
250
+jaxon()->setAppOption('dialogs.lib.use', ['bootstrap3']);
251
+
252
+$this->assertStringContainsString("jaxon.dialog.register('bootstrap3'", jaxon()->script());
253
+}
254
+
255
+public function testBootstrap4Library()
256
+{
257
+jaxon()->setAppOption('dialogs.lib.use', ['bootstrap4']);
258
+
259
+$this->assertStringContainsString("jaxon.dialog.register('bootstrap4'", jaxon()->script());
260
+}
261
+
262
+public function testBootstrap5Library()
263
+{
264
+jaxon()->setAppOption('dialogs.lib.use', ['bootstrap5']);
265
+
266
+$this->assertStringContainsString("jaxon.dialog.register('bootstrap5'", jaxon()->script());
267
+}
268
+
269
+public function testButterupLibrary()
270
+{
271
+jaxon()->setAppOption('dialogs.lib.use', ['butterup']);
272
+
273
+$this->assertStringContainsString('butterup.min.js', jaxon()->js());
274
+$this->assertStringContainsString('butterup.min.css', jaxon()->css());
275
+$this->assertStringContainsString("jaxon.dialog.register('butterup'", jaxon()->script());
276
+}
277
+
278
+public function testCuteAlertLibrary()
279
+{
280
+jaxon()->setAppOption('dialogs.lib.use', ['cute']);
281
+
282
+$this->assertStringContainsString('cute-alert/cute-alert.js', jaxon()->js());
283
+$this->assertStringContainsString('cute-alert/style.css', jaxon()->css());
284
+$this->assertStringContainsString("jaxon.dialog.register('cute'", jaxon()->script());
285
+}
286
+
287
+public function testIziToastLibrary()
288
+{
289
+jaxon()->setAppOption('dialogs.lib.use', ['izitoast']);
290
+
291
+$this->assertStringContainsString('js/iziToast.min.js', jaxon()->js());
292
+$this->assertStringContainsString('css/iziToast.min.css', jaxon()->css());
293
+$this->assertStringContainsString("jaxon.dialog.register('izitoast'", jaxon()->script());
294
+}
295
+
296
+public function testJAlertLibrary()
297
+{
298
+jaxon()->setAppOption('dialogs.lib.use', ['jalert']);
299
+
300
+$this->assertStringContainsString('jAlert.min.js', jaxon()->js());
301
+$this->assertStringContainsString('jAlert.min.css', jaxon()->css());
302
+$this->assertStringContainsString("jaxon.dialog.register('jalert'", jaxon()->script());
303
+}
304
+
305
+public function testJQueryConfirmLibrary()
306
+{
307
+jaxon()->setAppOption('dialogs.lib.use', ['jconfirm']);
308
+
309
+$this->assertStringContainsString('jquery-confirm.min.js', jaxon()->js());
310
+$this->assertStringContainsString('jquery-confirm.min.css', jaxon()->css());
311
+$this->assertStringContainsString("jaxon.dialog.register('jconfirm'", jaxon()->script());
312
+}
313
+
314
+public function testNotifyLibrary()
315
+{
316
+jaxon()->setAppOption('dialogs.lib.use', ['notify']);
317
+
318
+$this->assertStringContainsString('notify.min.js', jaxon()->js());
319
+$this->assertStringContainsString("jaxon.dialog.register('notify'", jaxon()->script());
320
+}
321
+
322
+public function testNotyLibrary()
323
+{
324
+jaxon()->setAppOption('dialogs.lib.use', ['noty']);
325
+
326
+$this->assertStringContainsString('noty.min.js', jaxon()->js());
327
+$this->assertStringContainsString('noty.min.css', jaxon()->css());
328
+$this->assertStringContainsString("jaxon.dialog.register('noty'", jaxon()->script());
329
+}
330
+
331
+public function testNotyfLibrary()
332
+{
333
+jaxon()->setAppOption('dialogs.lib.use', ['notyf']);
334
+
335
+$this->assertStringContainsString('notyf.min.js', jaxon()->js());
336
+$this->assertStringContainsString('notyf.min.css', jaxon()->css());
337
+$this->assertStringContainsString("jaxon.dialog.register('notyf'", jaxon()->script());
338
+}
339
+
340
+public function testQuantumLibrary()
341
+{
342
+jaxon()->setAppOption('dialogs.lib.use', ['quantum']);
343
+
344
+$this->assertStringContainsString('minfile/quantumalert.js', jaxon()->js());
345
+$this->assertStringContainsString("jaxon.dialog.register('quantum'", jaxon()->script());
346
+}
347
+
348
+public function testSweetAlertLibrary()
349
+{
350
+jaxon()->setAppOption('dialogs.lib.use', ['sweetalert']);
351
+
352
+$this->assertStringContainsString('sweetalert.min.js', jaxon()->js());
353
+$this->assertStringContainsString("jaxon.dialog.register('sweetalert'", jaxon()->script());
354
+}
355
+
356
+public function testTingleLibrary()
357
+{
358
+jaxon()->setAppOption('dialogs.lib.use', ['tingle']);
359
+
360
+$this->assertStringContainsString('tingle.min.js', jaxon()->js());
361
+$this->assertStringContainsString('tingle.min.css', jaxon()->css());
362
+$this->assertStringContainsString("jaxon.dialog.register('tingle'", jaxon()->script());
363
+}
364
+
365
+public function testToastrLibrary()
366
+{
367
+jaxon()->setAppOption('dialogs.lib.use', ['toastr']);
368
+
369
+$this->assertStringContainsString('toastr.min.js', jaxon()->js());
370
+$this->assertStringContainsString('build/toastr.min.css', jaxon()->css());
371
+$this->assertStringContainsString("jaxon.dialog.register('toastr'", jaxon()->script());
372
+}
373
+
374
+/**
375 375
      * @throws SetupException
376 376
      */
377
-    public function testErrorRegisterIncorrectDialogClass()
378
-    {
379
-        $this->expectException(SetupException::class);
380
-        dialog()->registerLibrary(Dialog::class, 'incorrect');
381
-    }
382
-
383
-    public function testErrorRegisterIncorrectDialogClassWithInterface()
384
-    {
385
-        $this->expectException(SetupException::class);
386
-        dialog()->registerLibrary(ClassWithInterface::class, 'incorrect');
387
-    }
388
-
389
-    public function testErrorSetWrongAlertLibrary()
390
-    {
391
-        $this->expectException(SetupException::class);
392
-        jaxon()->setAppOption('dialogs.default.alert', 'incorrect');
393
-    }
394
-
395
-    public function testErrorSetWrongModalLibrary()
396
-    {
397
-        $this->expectException(SetupException::class);
398
-        jaxon()->setAppOption('dialogs.default.modal', 'incorrect');
399
-    }
400
-
401
-    public function testErrorSetWrongConfirmLibrary()
402
-    {
403
-        $this->expectException(SetupException::class);
404
-        jaxon()->setAppOption('dialogs.default.confirm', 'incorrect');
405
-    }
377
+public function testErrorRegisterIncorrectDialogClass()
378
+{
379
+$this->expectException(SetupException::class);
380
+dialog()->registerLibrary(Dialog::class, 'incorrect');
381
+}
382
+
383
+public function testErrorRegisterIncorrectDialogClassWithInterface()
384
+{
385
+$this->expectException(SetupException::class);
386
+dialog()->registerLibrary(ClassWithInterface::class, 'incorrect');
387
+}
388
+
389
+public function testErrorSetWrongAlertLibrary()
390
+{
391
+$this->expectException(SetupException::class);
392
+jaxon()->setAppOption('dialogs.default.alert', 'incorrect');
393
+}
394
+
395
+public function testErrorSetWrongModalLibrary()
396
+{
397
+$this->expectException(SetupException::class);
398
+jaxon()->setAppOption('dialogs.default.modal', 'incorrect');
399
+}
400
+
401
+public function testErrorSetWrongConfirmLibrary()
402
+{
403
+$this->expectException(SetupException::class);
404
+jaxon()->setAppOption('dialogs.default.confirm', 'incorrect');
405
+}
406 406
 }
Please login to merge, or discard this patch.
jaxon-dialogs/tests/TestDialog/CallTest.php 1 patch
Switch Indentation   +431 added lines, -431 removed lines patch added patch discarded remove patch
@@ -21,472 +21,472 @@
 block discarded – undo
21 21
 
22 22
 class CallTest extends TestCase
23 23
 {
24
-    /**
24
+/**
25 25
      * @throws SetupException
26 26
      */
27
-    public function setUp(): void
28
-    {
29
-        _register();
30
-        jaxon()->setOption('core.prefix.class', '');
31
-        jaxon()->setOption('core.request.uri', 'http://example.test/path');
32
-        jaxon()->register(Jaxon::CALLABLE_CLASS, Dialog::class);
33
-        dialog()->registerLibrary(TestDialogLibrary::class, TestDialogLibrary::NAME);
34
-    }
35
-
36
-    /**
27
+public function setUp(): void
28
+{
29
+_register();
30
+jaxon()->setOption('core.prefix.class', '');
31
+jaxon()->setOption('core.request.uri', 'http://example.test/path');
32
+jaxon()->register(Jaxon::CALLABLE_CLASS, Dialog::class);
33
+dialog()->registerLibrary(TestDialogLibrary::class, TestDialogLibrary::NAME);
34
+}
35
+
36
+/**
37 37
      * @throws SetupException
38 38
      */
39
-    public function tearDown(): void
40
-    {
41
-        jaxon()->reset();
42
-        parent::tearDown();
43
-    }
39
+public function tearDown(): void
40
+{
41
+jaxon()->reset();
42
+parent::tearDown();
43
+}
44 44
 
45
-    /**
45
+/**
46 46
      * @throws RequestException
47 47
      */
48
-    public function testDefaultDialogSuccess()
49
-    {
50
-        // The server request
51
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
52
-            return $c->g(ServerRequestCreator::class)
53
-                ->fromGlobals()
54
-                ->withQueryParams([
55
-                    'jxncall' => json_encode([
56
-                        'type' => 'class',
57
-                        'name' => 'Dialog',
58
-                        'method' => 'success',
59
-                        'args' => [],
60
-                    ]),
61
-                ]);
62
-        });
63
-
64
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
65
-        jaxon()->di()->getRequestHandler()->processRequest();
66
-
67
-        $aCommands = jaxon()->getResponse()->getCommands();
68
-        $this->assertCount(1, $aCommands);
69
-        $this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
70
-    }
71
-
72
-    /**
48
+public function testDefaultDialogSuccess()
49
+{
50
+// The server request
51
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
52
+return $c->g(ServerRequestCreator::class)
53
+    ->fromGlobals()
54
+    ->withQueryParams([
55
+        'jxncall' => json_encode([
56
+            'type' => 'class',
57
+            'name' => 'Dialog',
58
+            'method' => 'success',
59
+            'args' => [],
60
+        ]),
61
+    ]);
62
+});
63
+
64
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
65
+jaxon()->di()->getRequestHandler()->processRequest();
66
+
67
+$aCommands = jaxon()->getResponse()->getCommands();
68
+$this->assertCount(1, $aCommands);
69
+$this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
70
+}
71
+
72
+/**
73 73
      * @throws RequestException
74 74
      */
75
-    public function testDialogLibrarySuccess()
76
-    {
77
-        jaxon()->setAppOptions([
78
-            'modal' => 'alertify',
79
-            'alert' => 'alertify',
80
-            'confirm' => 'alertify',
81
-        ], 'dialogs.default');
82
-        // The server request
83
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
84
-            return $c->g(ServerRequestCreator::class)
85
-                ->fromGlobals()
86
-                ->withQueryParams([
87
-                    'jxncall' => json_encode([
88
-                        'type' => 'class',
89
-                        'name' => 'Dialog',
90
-                        'method' => 'success',
91
-                        'args' => [],
92
-                    ]),
93
-                ]);
94
-        });
95
-
96
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
97
-        jaxon()->di()->getRequestHandler()->processRequest();
98
-
99
-        $aCommands = jaxon()->getResponse()->getCommands();
100
-        $this->assertCount(1, $aCommands);
101
-        $this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
102
-        $this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
103
-    }
104
-
105
-    /**
75
+public function testDialogLibrarySuccess()
76
+{
77
+jaxon()->setAppOptions([
78
+'modal' => 'alertify',
79
+'alert' => 'alertify',
80
+'confirm' => 'alertify',
81
+], 'dialogs.default');
82
+// The server request
83
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
84
+return $c->g(ServerRequestCreator::class)
85
+    ->fromGlobals()
86
+    ->withQueryParams([
87
+        'jxncall' => json_encode([
88
+            'type' => 'class',
89
+            'name' => 'Dialog',
90
+            'method' => 'success',
91
+            'args' => [],
92
+        ]),
93
+    ]);
94
+});
95
+
96
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
97
+jaxon()->di()->getRequestHandler()->processRequest();
98
+
99
+$aCommands = jaxon()->getResponse()->getCommands();
100
+$this->assertCount(1, $aCommands);
101
+$this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
102
+$this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
103
+}
104
+
105
+/**
106 106
      * @throws RequestException
107 107
      */
108
-    public function testDefaultDialogWarning()
109
-    {
110
-        // The server request
111
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
112
-            return $c->g(ServerRequestCreator::class)
113
-                ->fromGlobals()
114
-                ->withQueryParams([
115
-                    'jxncall' => json_encode([
116
-                        'type' => 'class',
117
-                        'name' => 'Dialog',
118
-                        'method' => 'warning',
119
-                        'args' => [],
120
-                    ]),
121
-                ]);
122
-        });
123
-
124
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
125
-        jaxon()->di()->getRequestHandler()->processRequest();
126
-
127
-        $aCommands = jaxon()->getResponse()->getCommands();
128
-        $this->assertCount(1, $aCommands);
129
-        $this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
130
-    }
131
-
132
-    /**
108
+public function testDefaultDialogWarning()
109
+{
110
+// The server request
111
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
112
+return $c->g(ServerRequestCreator::class)
113
+    ->fromGlobals()
114
+    ->withQueryParams([
115
+        'jxncall' => json_encode([
116
+            'type' => 'class',
117
+            'name' => 'Dialog',
118
+            'method' => 'warning',
119
+            'args' => [],
120
+        ]),
121
+    ]);
122
+});
123
+
124
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
125
+jaxon()->di()->getRequestHandler()->processRequest();
126
+
127
+$aCommands = jaxon()->getResponse()->getCommands();
128
+$this->assertCount(1, $aCommands);
129
+$this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
130
+}
131
+
132
+/**
133 133
      * @throws RequestException
134 134
      */
135
-    public function testDialogLibraryWarning()
136
-    {
137
-        jaxon()->setAppOptions([
138
-            'modal' => 'alertify',
139
-            'alert' => 'alertify',
140
-            'confirm' => 'alertify',
141
-        ], 'dialogs.default');
142
-        // The server request
143
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
144
-            return $c->g(ServerRequestCreator::class)
145
-                ->fromGlobals()
146
-                ->withQueryParams([
147
-                    'jxncall' => json_encode([
148
-                        'type' => 'class',
149
-                        'name' => 'Dialog',
150
-                        'method' => 'warning',
151
-                        'args' => [],
152
-                    ]),
153
-                ]);
154
-        });
155
-
156
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
157
-        jaxon()->di()->getRequestHandler()->processRequest();
158
-
159
-        $aCommands = jaxon()->getResponse()->getCommands();
160
-        $this->assertCount(1, $aCommands);
161
-        $this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
162
-        $this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
163
-    }
164
-
165
-    /**
135
+public function testDialogLibraryWarning()
136
+{
137
+jaxon()->setAppOptions([
138
+'modal' => 'alertify',
139
+'alert' => 'alertify',
140
+'confirm' => 'alertify',
141
+], 'dialogs.default');
142
+// The server request
143
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
144
+return $c->g(ServerRequestCreator::class)
145
+    ->fromGlobals()
146
+    ->withQueryParams([
147
+        'jxncall' => json_encode([
148
+            'type' => 'class',
149
+            'name' => 'Dialog',
150
+            'method' => 'warning',
151
+            'args' => [],
152
+        ]),
153
+    ]);
154
+});
155
+
156
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
157
+jaxon()->di()->getRequestHandler()->processRequest();
158
+
159
+$aCommands = jaxon()->getResponse()->getCommands();
160
+$this->assertCount(1, $aCommands);
161
+$this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
162
+$this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
163
+}
164
+
165
+/**
166 166
      * @throws RequestException
167 167
      */
168
-    public function testDefaultDialogInfo()
169
-    {
170
-        // The server request
171
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
172
-            return $c->g(ServerRequestCreator::class)
173
-                ->fromGlobals()
174
-                ->withQueryParams([
175
-                    'jxncall' => json_encode([
176
-                        'type' => 'class',
177
-                        'name' => 'Dialog',
178
-                        'method' => 'info',
179
-                        'args' => [],
180
-                    ]),
181
-                ]);
182
-        });
183
-
184
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
185
-        jaxon()->di()->getRequestHandler()->processRequest();
186
-
187
-        $aCommands = jaxon()->getResponse()->getCommands();
188
-        $this->assertCount(1, $aCommands);
189
-        $this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
190
-    }
191
-
192
-    /**
168
+public function testDefaultDialogInfo()
169
+{
170
+// The server request
171
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
172
+return $c->g(ServerRequestCreator::class)
173
+    ->fromGlobals()
174
+    ->withQueryParams([
175
+        'jxncall' => json_encode([
176
+            'type' => 'class',
177
+            'name' => 'Dialog',
178
+            'method' => 'info',
179
+            'args' => [],
180
+        ]),
181
+    ]);
182
+});
183
+
184
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
185
+jaxon()->di()->getRequestHandler()->processRequest();
186
+
187
+$aCommands = jaxon()->getResponse()->getCommands();
188
+$this->assertCount(1, $aCommands);
189
+$this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
190
+}
191
+
192
+/**
193 193
      * @throws RequestException
194 194
      */
195
-    public function testDialogLibraryInfo()
196
-    {
197
-        jaxon()->setAppOptions([
198
-            'modal' => 'alertify',
199
-            'alert' => 'alertify',
200
-            'confirm' => 'alertify',
201
-        ], 'dialogs.default');
202
-        // The server request
203
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
204
-            return $c->g(ServerRequestCreator::class)
205
-                ->fromGlobals()
206
-                ->withQueryParams([
207
-                    'jxncall' => json_encode([
208
-                        'type' => 'class',
209
-                        'name' => 'Dialog',
210
-                        'method' => 'info',
211
-                        'args' => [],
212
-                    ]),
213
-                ]);
214
-        });
215
-
216
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
217
-        jaxon()->di()->getRequestHandler()->processRequest();
218
-
219
-        $aCommands = jaxon()->getResponse()->getCommands();
220
-        $this->assertCount(1, $aCommands);
221
-        $this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
222
-        $this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
223
-    }
224
-
225
-    /**
195
+public function testDialogLibraryInfo()
196
+{
197
+jaxon()->setAppOptions([
198
+'modal' => 'alertify',
199
+'alert' => 'alertify',
200
+'confirm' => 'alertify',
201
+], 'dialogs.default');
202
+// The server request
203
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
204
+return $c->g(ServerRequestCreator::class)
205
+    ->fromGlobals()
206
+    ->withQueryParams([
207
+        'jxncall' => json_encode([
208
+            'type' => 'class',
209
+            'name' => 'Dialog',
210
+            'method' => 'info',
211
+            'args' => [],
212
+        ]),
213
+    ]);
214
+});
215
+
216
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
217
+jaxon()->di()->getRequestHandler()->processRequest();
218
+
219
+$aCommands = jaxon()->getResponse()->getCommands();
220
+$this->assertCount(1, $aCommands);
221
+$this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
222
+$this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
223
+}
224
+
225
+/**
226 226
      * @throws RequestException
227 227
      */
228
-    public function testDefaultDialogError()
229
-    {
230
-        // The server request
231
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
232
-            return $c->g(ServerRequestCreator::class)
233
-                ->fromGlobals()
234
-                ->withQueryParams([
235
-                    'jxncall' => json_encode([
236
-                        'type' => 'class',
237
-                        'name' => 'Dialog',
238
-                        'method' => 'error',
239
-                        'args' => [],
240
-                    ]),
241
-                ]);
242
-        });
243
-
244
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
245
-        jaxon()->di()->getRequestHandler()->processRequest();
246
-
247
-        $aCommands = jaxon()->getResponse()->getCommands();
248
-        $this->assertCount(1, $aCommands);
249
-        $this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
250
-    }
251
-
252
-    /**
228
+public function testDefaultDialogError()
229
+{
230
+// The server request
231
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
232
+return $c->g(ServerRequestCreator::class)
233
+    ->fromGlobals()
234
+    ->withQueryParams([
235
+        'jxncall' => json_encode([
236
+            'type' => 'class',
237
+            'name' => 'Dialog',
238
+            'method' => 'error',
239
+            'args' => [],
240
+        ]),
241
+    ]);
242
+});
243
+
244
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
245
+jaxon()->di()->getRequestHandler()->processRequest();
246
+
247
+$aCommands = jaxon()->getResponse()->getCommands();
248
+$this->assertCount(1, $aCommands);
249
+$this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
250
+}
251
+
252
+/**
253 253
      * @throws RequestException
254 254
      */
255
-    public function testDialogLibraryError()
256
-    {
257
-        jaxon()->setAppOptions([
258
-            'modal' => 'alertify',
259
-            'alert' => 'alertify',
260
-            'confirm' => 'alertify',
261
-        ], 'dialogs.default');
262
-        // The server request
263
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
264
-            return $c->g(ServerRequestCreator::class)
265
-            ->fromGlobals()
266
-            ->withQueryParams([
267
-                'jxncall' => json_encode([
268
-                    'type' => 'class',
269
-                    'name' => 'Dialog',
270
-                    'method' => 'error',
271
-                    'args' => [],
272
-                ]),
273
-            ]);
274
-        });
275
-
276
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
277
-        jaxon()->di()->getRequestHandler()->processRequest();
278
-
279
-        $aCommands = jaxon()->getResponse()->getCommands();
280
-        $this->assertCount(1, $aCommands);
281
-        $this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
282
-        $this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
283
-    }
284
-
285
-    /**
255
+public function testDialogLibraryError()
256
+{
257
+jaxon()->setAppOptions([
258
+'modal' => 'alertify',
259
+'alert' => 'alertify',
260
+'confirm' => 'alertify',
261
+], 'dialogs.default');
262
+// The server request
263
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
264
+return $c->g(ServerRequestCreator::class)
265
+->fromGlobals()
266
+->withQueryParams([
267
+    'jxncall' => json_encode([
268
+        'type' => 'class',
269
+        'name' => 'Dialog',
270
+        'method' => 'error',
271
+        'args' => [],
272
+    ]),
273
+]);
274
+});
275
+
276
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
277
+jaxon()->di()->getRequestHandler()->processRequest();
278
+
279
+$aCommands = jaxon()->getResponse()->getCommands();
280
+$this->assertCount(1, $aCommands);
281
+$this->assertEquals('dialog.alert.show', $aCommands[0]['name']);
282
+$this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
283
+}
284
+
285
+/**
286 286
      * @throws RequestException
287 287
      */
288
-    public function testDialogLibraryShow()
289
-    {
290
-        jaxon()->setAppOptions([
291
-            'modal' => 'alertify',
292
-            'alert' => 'alertify',
293
-            'confirm' => 'alertify',
294
-        ], 'dialogs.default');
295
-        // The server request
296
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
297
-            return $c->g(ServerRequestCreator::class)
298
-                ->fromGlobals()
299
-                ->withQueryParams([
300
-                    'jxncall' => json_encode([
301
-                        'type' => 'class',
302
-                        'name' => 'Dialog',
303
-                        'method' => 'show',
304
-                        'args' => [],
305
-                    ]),
306
-                ]);
307
-        });
308
-
309
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
310
-        jaxon()->di()->getRequestHandler()->processRequest();
311
-
312
-        $aCommands = jaxon()->getResponse()->getCommands();
313
-        $this->assertCount(1, $aCommands);
314
-        $this->assertEquals('dialog.modal.show', $aCommands[0]['name']);
315
-        $this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
316
-    }
317
-
318
-    /**
288
+public function testDialogLibraryShow()
289
+{
290
+jaxon()->setAppOptions([
291
+'modal' => 'alertify',
292
+'alert' => 'alertify',
293
+'confirm' => 'alertify',
294
+], 'dialogs.default');
295
+// The server request
296
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
297
+return $c->g(ServerRequestCreator::class)
298
+    ->fromGlobals()
299
+    ->withQueryParams([
300
+        'jxncall' => json_encode([
301
+            'type' => 'class',
302
+            'name' => 'Dialog',
303
+            'method' => 'show',
304
+            'args' => [],
305
+        ]),
306
+    ]);
307
+});
308
+
309
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
310
+jaxon()->di()->getRequestHandler()->processRequest();
311
+
312
+$aCommands = jaxon()->getResponse()->getCommands();
313
+$this->assertCount(1, $aCommands);
314
+$this->assertEquals('dialog.modal.show', $aCommands[0]['name']);
315
+$this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
316
+}
317
+
318
+/**
319 319
      * @throws RequestException
320 320
      */
321
-    public function testBootboxLibraryShow()
322
-    {
323
-        jaxon()->setAppOptions([
324
-            'modal' => 'alertify',
325
-            'alert' => 'alertify',
326
-            'confirm' => 'alertify',
327
-        ], 'dialogs.default');
328
-        // The server request
329
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
330
-            return $c->g(ServerRequestCreator::class)
331
-                ->fromGlobals()
332
-                ->withQueryParams([
333
-                    'jxncall' => json_encode([
334
-                        'type' => 'class',
335
-                        'name' => 'Dialog',
336
-                        'method' => 'show',
337
-                        'args' => [],
338
-                    ]),
339
-                ]);
340
-        });
341
-
342
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
343
-        jaxon()->di()->getRequestHandler()->processRequest();
344
-
345
-        $aCommands = jaxon()->getResponse()->getCommands();
346
-        $this->assertCount(1, $aCommands);
347
-        $this->assertEquals('dialog.modal.show', $aCommands[0]['name']);
348
-    }
349
-
350
-    /**
321
+public function testBootboxLibraryShow()
322
+{
323
+jaxon()->setAppOptions([
324
+'modal' => 'alertify',
325
+'alert' => 'alertify',
326
+'confirm' => 'alertify',
327
+], 'dialogs.default');
328
+// The server request
329
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
330
+return $c->g(ServerRequestCreator::class)
331
+    ->fromGlobals()
332
+    ->withQueryParams([
333
+        'jxncall' => json_encode([
334
+            'type' => 'class',
335
+            'name' => 'Dialog',
336
+            'method' => 'show',
337
+            'args' => [],
338
+        ]),
339
+    ]);
340
+});
341
+
342
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
343
+jaxon()->di()->getRequestHandler()->processRequest();
344
+
345
+$aCommands = jaxon()->getResponse()->getCommands();
346
+$this->assertCount(1, $aCommands);
347
+$this->assertEquals('dialog.modal.show', $aCommands[0]['name']);
348
+}
349
+
350
+/**
351 351
      * @throws RequestException
352 352
      */
353
-    public function testDialogLibraryShowWith()
354
-    {
355
-        jaxon()->setAppOptions([
356
-            'modal' => 'alertify',
357
-            'alert' => 'alertify',
358
-            'confirm' => 'alertify',
359
-        ], 'dialogs.default');
360
-        // The server request
361
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
362
-            return $c->g(ServerRequestCreator::class)
363
-                ->fromGlobals()
364
-                ->withQueryParams([
365
-                    'jxncall' => json_encode([
366
-                        'type' => 'class',
367
-                        'name' => 'Dialog',
368
-                        'method' => 'showWith',
369
-                        'args' => [],
370
-                    ]),
371
-                ]);
372
-        });
373
-
374
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
375
-        jaxon()->di()->getRequestHandler()->processRequest();
376
-
377
-        $aCommands = jaxon()->getResponse()->getCommands();
378
-        $this->assertCount(1, $aCommands);
379
-        $this->assertEquals('dialog.modal.show', $aCommands[0]['name']);
380
-    }
381
-
382
-    /**
353
+public function testDialogLibraryShowWith()
354
+{
355
+jaxon()->setAppOptions([
356
+'modal' => 'alertify',
357
+'alert' => 'alertify',
358
+'confirm' => 'alertify',
359
+], 'dialogs.default');
360
+// The server request
361
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
362
+return $c->g(ServerRequestCreator::class)
363
+    ->fromGlobals()
364
+    ->withQueryParams([
365
+        'jxncall' => json_encode([
366
+            'type' => 'class',
367
+            'name' => 'Dialog',
368
+            'method' => 'showWith',
369
+            'args' => [],
370
+        ]),
371
+    ]);
372
+});
373
+
374
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
375
+jaxon()->di()->getRequestHandler()->processRequest();
376
+
377
+$aCommands = jaxon()->getResponse()->getCommands();
378
+$this->assertCount(1, $aCommands);
379
+$this->assertEquals('dialog.modal.show', $aCommands[0]['name']);
380
+}
381
+
382
+/**
383 383
      * @throws RequestException
384 384
      */
385
-    public function testDialogLibraryHide()
386
-    {
387
-        jaxon()->setAppOptions([
388
-            'modal' => 'alertify',
389
-            'alert' => 'alertify',
390
-            'confirm' => 'alertify',
391
-        ], 'dialogs.default');
392
-        // The server request
393
-        jaxon()->di()->set(ServerRequestInterface::class, function($c) {
394
-            return $c->g(ServerRequestCreator::class)
395
-                ->fromGlobals()
396
-                ->withQueryParams([
397
-                    'jxncall' => json_encode([
398
-                        'type' => 'class',
399
-                        'name' => 'Dialog',
400
-                        'method' => 'hide',
401
-                        'args' => [],
402
-                    ]),
403
-                ]);
404
-        });
405
-
406
-        $this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
407
-        jaxon()->di()->getRequestHandler()->processRequest();
408
-
409
-        $aCommands = jaxon()->getResponse()->getCommands();
410
-        $this->assertCount(1, $aCommands);
411
-        $this->assertEquals('dialog.modal.hide', $aCommands[0]['name']);
412
-        $this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
413
-    }
414
-
415
-    /**
385
+public function testDialogLibraryHide()
386
+{
387
+jaxon()->setAppOptions([
388
+'modal' => 'alertify',
389
+'alert' => 'alertify',
390
+'confirm' => 'alertify',
391
+], 'dialogs.default');
392
+// The server request
393
+jaxon()->di()->set(ServerRequestInterface::class, function($c) {
394
+return $c->g(ServerRequestCreator::class)
395
+    ->fromGlobals()
396
+    ->withQueryParams([
397
+        'jxncall' => json_encode([
398
+            'type' => 'class',
399
+            'name' => 'Dialog',
400
+            'method' => 'hide',
401
+            'args' => [],
402
+        ]),
403
+    ]);
404
+});
405
+
406
+$this->assertTrue(jaxon()->di()->getRequestHandler()->canProcessRequest());
407
+jaxon()->di()->getRequestHandler()->processRequest();
408
+
409
+$aCommands = jaxon()->getResponse()->getCommands();
410
+$this->assertCount(1, $aCommands);
411
+$this->assertEquals('dialog.modal.hide', $aCommands[0]['name']);
412
+$this->assertEquals('dialog', $aCommands[0]['options']['plugin']);
413
+}
414
+
415
+/**
416 416
      * @throws SetupException
417 417
      */
418
-    public function testConfirmMessageSuccess()
419
-    {
420
-        jaxon()->register(Jaxon::CALLABLE_CLASS, 'SampleDialog', __DIR__ . '/../src/sample.php');
421
-        jaxon()->setAppOption('dialogs.default.alert', 'cute');
422
-        jaxon()->setAppOption('dialogs.default.confirm', 'noty');
423
-        $this->assertEquals(
424
-            'jaxon.exec({"_type":"expr","calls":[{"_type":"func","_name":"SampleDialog.method",' .
425
-                '"args":[{"_type":"html","_name":"elt_id"}]}],' .
426
-                '"confirm":{"lib":"noty","question":{"title":"","phrase":{"str":"Really?","args":[]}}},' .
427
-                '"alert":{"lib":"cute","message":{"type":"success","title":"","phrase":{"str":"No confirm","args":[]}}}})',
428
-            rq('SampleDialog')->method(pm()->html('elt_id'))->confirm("Really?")
429
-                ->elseSuccess("No confirm")->__toString()
430
-        );
431
-    }
432
-
433
-    /**
418
+public function testConfirmMessageSuccess()
419
+{
420
+jaxon()->register(Jaxon::CALLABLE_CLASS, 'SampleDialog', __DIR__ . '/../src/sample.php');
421
+jaxon()->setAppOption('dialogs.default.alert', 'cute');
422
+jaxon()->setAppOption('dialogs.default.confirm', 'noty');
423
+$this->assertEquals(
424
+'jaxon.exec({"_type":"expr","calls":[{"_type":"func","_name":"SampleDialog.method",' .
425
+    '"args":[{"_type":"html","_name":"elt_id"}]}],' .
426
+    '"confirm":{"lib":"noty","question":{"title":"","phrase":{"str":"Really?","args":[]}}},' .
427
+    '"alert":{"lib":"cute","message":{"type":"success","title":"","phrase":{"str":"No confirm","args":[]}}}})',
428
+rq('SampleDialog')->method(pm()->html('elt_id'))->confirm("Really?")
429
+    ->elseSuccess("No confirm")->__toString()
430
+);
431
+}
432
+
433
+/**
434 434
      * @throws SetupException
435 435
      */
436
-    public function testConfirmMessageInfo()
437
-    {
438
-        jaxon()->register(Jaxon::CALLABLE_CLASS, 'SampleDialog', __DIR__ . '/../src/sample.php');
439
-        jaxon()->setAppOptions([
440
-            'alert' => 'cute',
441
-            'confirm' => 'noty',
442
-        ], 'dialogs.default');
443
-        $this->assertEquals(
444
-            'jaxon.exec({"_type":"expr","calls":[{"_type":"func","_name":"SampleDialog.method",' .
445
-                '"args":[{"_type":"html","_name":"elt_id"}]}],' .
446
-                '"confirm":{"lib":"noty","question":{"title":"","phrase":{"str":"Really?","args":[]}}},' .
447
-                '"alert":{"lib":"cute","message":{"type":"info","title":"","phrase":{"str":"No confirm","args":[]}}}})',
448
-            rq('SampleDialog')->method(pm()->html('elt_id'))->confirm("Really?")
449
-                ->elseInfo("No confirm")->__toString()
450
-        );
451
-    }
452
-
453
-    /**
436
+public function testConfirmMessageInfo()
437
+{
438
+jaxon()->register(Jaxon::CALLABLE_CLASS, 'SampleDialog', __DIR__ . '/../src/sample.php');
439
+jaxon()->setAppOptions([
440
+'alert' => 'cute',
441
+'confirm' => 'noty',
442
+], 'dialogs.default');
443
+$this->assertEquals(
444
+'jaxon.exec({"_type":"expr","calls":[{"_type":"func","_name":"SampleDialog.method",' .
445
+    '"args":[{"_type":"html","_name":"elt_id"}]}],' .
446
+    '"confirm":{"lib":"noty","question":{"title":"","phrase":{"str":"Really?","args":[]}}},' .
447
+    '"alert":{"lib":"cute","message":{"type":"info","title":"","phrase":{"str":"No confirm","args":[]}}}})',
448
+rq('SampleDialog')->method(pm()->html('elt_id'))->confirm("Really?")
449
+    ->elseInfo("No confirm")->__toString()
450
+);
451
+}
452
+
453
+/**
454 454
      * @throws SetupException
455 455
      */
456
-    public function testConfirmMessageWarning()
457
-    {
458
-        jaxon()->register(Jaxon::CALLABLE_CLASS, 'SampleDialog', __DIR__ . '/../src/sample.php');
459
-        jaxon()->setAppOptions([
460
-            'alert' => 'cute',
461
-            'confirm' => 'noty',
462
-        ], 'dialogs.default');
463
-        $this->assertEquals(
464
-            'jaxon.exec({"_type":"expr","calls":[{"_type":"func","_name":"SampleDialog.method",' .
465
-                '"args":[{"_type":"html","_name":"elt_id"}]}],' .
466
-                '"confirm":{"lib":"noty","question":{"title":"","phrase":{"str":"Really?","args":[]}}},' .
467
-                '"alert":{"lib":"cute","message":{"type":"warning","title":"","phrase":{"str":"No confirm","args":[]}}}})',
468
-            rq('SampleDialog')->method(pm()->html('elt_id'))->confirm("Really?")
469
-                ->elseWarning("No confirm")->__toString()
470
-        );
471
-    }
472
-
473
-    /**
456
+public function testConfirmMessageWarning()
457
+{
458
+jaxon()->register(Jaxon::CALLABLE_CLASS, 'SampleDialog', __DIR__ . '/../src/sample.php');
459
+jaxon()->setAppOptions([
460
+'alert' => 'cute',
461
+'confirm' => 'noty',
462
+], 'dialogs.default');
463
+$this->assertEquals(
464
+'jaxon.exec({"_type":"expr","calls":[{"_type":"func","_name":"SampleDialog.method",' .
465
+    '"args":[{"_type":"html","_name":"elt_id"}]}],' .
466
+    '"confirm":{"lib":"noty","question":{"title":"","phrase":{"str":"Really?","args":[]}}},' .
467
+    '"alert":{"lib":"cute","message":{"type":"warning","title":"","phrase":{"str":"No confirm","args":[]}}}})',
468
+rq('SampleDialog')->method(pm()->html('elt_id'))->confirm("Really?")
469
+    ->elseWarning("No confirm")->__toString()
470
+);
471
+}
472
+
473
+/**
474 474
      * @throws SetupException
475 475
      */
476
-    public function testConfirmMessageError()
477
-    {
478
-        jaxon()->register(Jaxon::CALLABLE_CLASS, 'SampleDialog', __DIR__ . '/../src/sample.php');
479
-        jaxon()->setAppOptions([
480
-            'alert' => 'cute',
481
-            'confirm' => 'noty',
482
-        ], 'dialogs.default');
483
-        $this->assertEquals(
484
-            'jaxon.exec({"_type":"expr","calls":[{"_type":"func","_name":"SampleDialog.method",' .
485
-                '"args":[{"_type":"html","_name":"elt_id"}]}],' .
486
-                '"confirm":{"lib":"noty","question":{"title":"","phrase":{"str":"Really?","args":[]}}},' .
487
-                '"alert":{"lib":"cute","message":{"type":"error","title":"","phrase":{"str":"No confirm","args":[]}}}})',
488
-            rq('SampleDialog')->method(pm()->html('elt_id'))->confirm("Really?")
489
-                ->elseError("No confirm")->__toString()
490
-        );
491
-    }
476
+public function testConfirmMessageError()
477
+{
478
+jaxon()->register(Jaxon::CALLABLE_CLASS, 'SampleDialog', __DIR__ . '/../src/sample.php');
479
+jaxon()->setAppOptions([
480
+'alert' => 'cute',
481
+'confirm' => 'noty',
482
+], 'dialogs.default');
483
+$this->assertEquals(
484
+'jaxon.exec({"_type":"expr","calls":[{"_type":"func","_name":"SampleDialog.method",' .
485
+    '"args":[{"_type":"html","_name":"elt_id"}]}],' .
486
+    '"confirm":{"lib":"noty","question":{"title":"","phrase":{"str":"Really?","args":[]}}},' .
487
+    '"alert":{"lib":"cute","message":{"type":"error","title":"","phrase":{"str":"No confirm","args":[]}}}})',
488
+rq('SampleDialog')->method(pm()->html('elt_id'))->confirm("Really?")
489
+    ->elseError("No confirm")->__toString()
490
+);
491
+}
492 492
 }
Please login to merge, or discard this patch.
jaxon-dialogs/tests/src/sample.php 1 patch
Switch Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -4,9 +4,9 @@
 block discarded – undo
4 4
 
5 5
 class SampleDialog
6 6
 {
7
-    public function myMethod()
8
-    {
9
-        $xResponse = jaxon()->getResponse();
10
-        $xResponse->alert('This is a response!!');
11
-    }
7
+public function myMethod()
8
+{
9
+$xResponse = jaxon()->getResponse();
10
+$xResponse->alert('This is a response!!');
11
+}
12 12
 }
Please login to merge, or discard this patch.
jaxon-dialogs/tests/src/dialog.php 1 patch
Switch Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -7,69 +7,69 @@
 block discarded – undo
7 7
 
8 8
 class Dialog extends CallableClass
9 9
 {
10
-    public function success()
11
-    {
12
-        $this->response->dialog->title('Success')->success('This is a message!!');
13
-    }
10
+public function success()
11
+{
12
+$this->response->dialog->title('Success')->success('This is a message!!');
13
+}
14 14
 
15
-    public function info()
16
-    {
17
-        $this->response->dialog->title('Info')->info('This is a message!!');
18
-    }
15
+public function info()
16
+{
17
+$this->response->dialog->title('Info')->info('This is a message!!');
18
+}
19 19
 
20
-    public function warning()
21
-    {
22
-        $this->response->dialog->title('Warning')->warning('This is a message!!');
23
-    }
20
+public function warning()
21
+{
22
+$this->response->dialog->title('Warning')->warning('This is a message!!');
23
+}
24 24
 
25
-    public function error()
26
-    {
27
-        $this->response->dialog->title('Error')->error('This is a message!!');
28
-    }
25
+public function error()
26
+{
27
+$this->response->dialog->title('Error')->error('This is a message!!');
28
+}
29 29
 
30
-    public function show()
31
-    {
32
-        $this->response->dialog->show('Dialog', 'This is the dialog content!!',
33
-            [['title' => 'Save', 'class' => 'btn', 'click' => $this->rq()->save()->confirm('Save?')]]);
34
-    }
30
+public function show()
31
+{
32
+$this->response->dialog->show('Dialog', 'This is the dialog content!!',
33
+[['title' => 'Save', 'class' => 'btn', 'click' => $this->rq()->save()->confirm('Save?')]]);
34
+}
35 35
 
36
-    public function showWith()
37
-    {
38
-        $this->response->dialog->with('bootbox')->show('Dialog', 'This is the dialog content!!',
39
-            [['title' => 'Save', 'class' => 'btn', 'click' => $this->rq()->save()->confirm('Save?')]]);
40
-    }
36
+public function showWith()
37
+{
38
+$this->response->dialog->with('bootbox')->show('Dialog', 'This is the dialog content!!',
39
+[['title' => 'Save', 'class' => 'btn', 'click' => $this->rq()->save()->confirm('Save?')]]);
40
+}
41 41
 
42
-    public function hide()
43
-    {
44
-        $this->response->dialog->hide();
45
-    }
42
+public function hide()
43
+{
44
+$this->response->dialog->hide();
45
+}
46 46
 }
47 47
 
48 48
 class TestDialogLibrary extends AbstractLibrary implements LibraryInterface, ConfirmInterface
49 49
 {
50
-    /**
50
+/**
51 51
      * @const The library name
52 52
      */
53
-    public const NAME = 'test';
53
+public const NAME = 'test';
54 54
 
55
-    /**
55
+/**
56 56
      * @inheritDoc
57 57
      */
58
-    public function getName(): string
59
-    {
60
-        return self::NAME;
61
-    }
58
+public function getName(): string
59
+{
60
+return self::NAME;
61
+}
62 62
 }
63 63
 
64 64
 interface TestInterface
65 65
 {
66
-    public function do();
66
+public function do();
67 67
 }
68 68
 
69 69
 class ClassWithInterface implements TestInterface
70 70
 {
71
-    public function do()
72
-    {
73
-        // Do something
74
-    }
71
+public function do()
72
+{
73
+// Do something
74
+}
75 75
 }
Please login to merge, or discard this patch.
jaxon-dialogs/tests/config/dialog.php 1 patch
Switch Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -1,29 +1,29 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 return [
4
-    'app' => [
5
-        'dialogs' => [
6
-            'default' => [
7
-                'modal' => 'bootbox',
8
-                'alert' => 'noty',
9
-                'confirm' => 'noty',
10
-            ],
11
-            'lib' => [
12
-                'use' => ['alertify', 'bootbox', 'bootstrap',
13
-                    'toastr', 'tingle', 'jalert', 'notify',
14
-                    'cute', 'noty', 'sweetalert', 'jconfirm'],
15
-            ],
16
-            'toastr' => [
17
-                'options' => [
18
-                    'alert' => [
19
-                        'closeButton' => true,
20
-                        'closeDuration' => 0,
21
-                        'positionClass' => 'toast-top-center',
22
-                    ],
23
-                ],
24
-            ],
4
+'app' => [
5
+'dialogs' => [
6
+'default' => [
7
+    'modal' => 'bootbox',
8
+    'alert' => 'noty',
9
+    'confirm' => 'noty',
10
+],
11
+'lib' => [
12
+    'use' => ['alertify', 'bootbox', 'bootstrap',
13
+        'toastr', 'tingle', 'jalert', 'notify',
14
+        'cute', 'noty', 'sweetalert', 'jconfirm'],
15
+],
16
+'toastr' => [
17
+    'options' => [
18
+        'alert' => [
19
+            'closeButton' => true,
20
+            'closeDuration' => 0,
21
+            'positionClass' => 'toast-top-center',
25 22
         ],
26 23
     ],
27
-    'lib' => [
28
-    ],
24
+],
25
+],
26
+],
27
+'lib' => [
28
+],
29 29
 ];
Please login to merge, or discard this patch.