1
|
<?php
|
2
|
|
3
|
/**
|
4
|
* @file
|
5
|
* Advanced tests for sweaver editor + theme settings.
|
6
|
*
|
7
|
* For some particular reason, when trying to enable theme setting all
|
8
|
* other tests start failing. So we will not test via posting values into
|
9
|
* the browser but by directly using the submit methods in the plugin classes.
|
10
|
*
|
11
|
* IMPORTANT
|
12
|
*
|
13
|
* These tests will fail (71 fails) when in your own Drupal installation the
|
14
|
* themesettings plugin is not enabled. I have no clue yet why this happens,
|
15
|
* however be assured, the tests are really doing their job :)
|
16
|
*/
|
17
|
|
18
|
class sweaverThemeSettings extends DrupalWebTestCase {
|
19
|
/**
|
20
|
* Implementation of getInfo().
|
21
|
*/
|
22
|
public static function getInfo() {
|
23
|
return array(
|
24
|
'name' => t('Sweaver theme settings'),
|
25
|
'description' => t('Tests for the theme settings.'),
|
26
|
'group' => t('Sweaver'),
|
27
|
);
|
28
|
}
|
29
|
|
30
|
/**
|
31
|
* Implementation of setUp().
|
32
|
*/
|
33
|
function setUp() {
|
34
|
parent::setUp('ctools', 'sweaver');
|
35
|
}
|
36
|
|
37
|
/**
|
38
|
* Debug helper function. Writes values away to a text file in the files directory.
|
39
|
*/
|
40
|
function _debugHelper($value, $writetype = 'a+') {
|
41
|
$debug = fopen($this->originalFileDirectory .'/simpletestdebug.txt', 'a+');
|
42
|
fwrite($debug, print_r($value, TRUE) ."\n");
|
43
|
fclose($debug);
|
44
|
}
|
45
|
|
46
|
/**
|
47
|
* Scan the files directory.
|
48
|
*/
|
49
|
function sweaver_filesdir_scan() {
|
50
|
$files = scandir($this->sweaver_public_path() . '/sweaver');
|
51
|
$this->_debugHelper($files);
|
52
|
}
|
53
|
|
54
|
/**
|
55
|
* Return public path helper function.
|
56
|
*/
|
57
|
function sweaver_public_path() {
|
58
|
return variable_get('file_public_path', conf_path() . '/files');
|
59
|
}
|
60
|
|
61
|
/**
|
62
|
* Enable sweaver plugins.
|
63
|
*/
|
64
|
function enableSweaverData() {
|
65
|
$path = $this->sweaver_public_path() . '/sweaver';
|
66
|
if (!file_exists($path)) {
|
67
|
$return = mkdir($path);
|
68
|
$this->assertTrue($return, 'File directory has been created.');
|
69
|
}
|
70
|
variable_set('sweaver_styles_delete_tab', TRUE);
|
71
|
variable_set('sweaver_plugin_status_sweaver_plugin_themesettings', TRUE);
|
72
|
$this->refreshVariables();
|
73
|
}
|
74
|
|
75
|
/**
|
76
|
* Build form, form_state values and copy files when necessary.
|
77
|
*
|
78
|
* @param $scenario
|
79
|
* The id of the scenario.
|
80
|
* @param $size
|
81
|
* The size of the pixels.
|
82
|
* @param $style_id
|
83
|
* The id of the style.
|
84
|
* @param $upload
|
85
|
* Whether we need to upload or not.
|
86
|
* @param $logo
|
87
|
* The logo to upload.
|
88
|
* @param $favicon
|
89
|
* The favicon to upload.
|
90
|
* @param $debug
|
91
|
* Whether to write debug info or not.
|
92
|
*/
|
93
|
function buildStyleConfiguration($scenario, $size = FALSE, $style_id = '', $upload = TRUE, $logo = NULL, $favicon = NULL, $save_type = 0, $debug = FALSE) {
|
94
|
$form = array();
|
95
|
$values = array();
|
96
|
$this->enableSweaverData();
|
97
|
$sweaver = Sweaver::get_instance();
|
98
|
$sweaver_style = $sweaver->get_plugin('sweaver_plugin_styles');
|
99
|
// Rebuild configuration because themesettings isn't looaded in install.
|
100
|
$sweaver->register_plugins_configuration();
|
101
|
$sweaver_ts = $sweaver->get_plugin('sweaver_plugin_themesettings');
|
102
|
|
103
|
$form['#current_theme'] = 'bartik';
|
104
|
$form['sweaver_plugin_themesettings']['form'] = $sweaver_ts->sweaver_get_theme_settings_form('bartik', array());
|
105
|
$form['sweaver_plugin_themesettings']['form']['#sweaver_other_themesettings'] = array();
|
106
|
$form['sweaver_plugin_styles']['form'] = $sweaver_style->sweaver_form();
|
107
|
|
108
|
// Submit values.
|
109
|
if ($size) {
|
110
|
$edit = array(
|
111
|
// Style editor.
|
112
|
'sweaver-css' => '{"#center ":{"font-size":'. $size .'}}',
|
113
|
'css-rendered' => '<style type="text/css">#center { font-size: '. $size .'px; } </style>',
|
114
|
'sweaver_plugin_custom_css' => '',
|
115
|
'save_style' => 'Bartik '. $style_id,
|
116
|
'save_type' => $save_type,
|
117
|
|
118
|
// Theme settings.
|
119
|
'toggle_name' => FALSE,
|
120
|
'style_existing_id' => ($save_type) ? $style_id : 0,
|
121
|
'var' => 'theme_bartik_settings',
|
122
|
);
|
123
|
}
|
124
|
else {
|
125
|
$edit = array();
|
126
|
}
|
127
|
|
128
|
// Favicon.
|
129
|
if (!is_null($favicon)) {
|
130
|
if (!$upload) {
|
131
|
$edit['default_favicon'] = 0;
|
132
|
$edit['favicon_path'] = $this->sweaver_public_path() . '/sweaver/favicon_bartik_' . $style_id . '_draft.ico';
|
133
|
}
|
134
|
else {
|
135
|
$source = drupal_get_path('module', 'sweaver') .'/tests/'. $favicon;
|
136
|
$parts = pathinfo($source);
|
137
|
$dest = 'public://sweaver/temp_favicon.' . $parts['extension'];
|
138
|
$return = file_unmanaged_copy($source, $dest, FILE_EXISTS_REPLACE);
|
139
|
$this->assertTrue($return, 'Favicon file copied to '. $dest .' for style id '. $style_id .' in scenario '. $scenario);
|
140
|
$form['sweaver_plugin_themesettings']['form']['#favicon_path'] = $dest;
|
141
|
$form['sweaver_plugin_themesettings']['form']['#favicon_path_extension'] = $parts['extension'];
|
142
|
$edit['default_favicon'] = 0;
|
143
|
$edit['favicon_path'] = $dest;
|
144
|
}
|
145
|
}
|
146
|
|
147
|
// Logo.
|
148
|
if (!is_null($logo)) {
|
149
|
if (!$upload) {
|
150
|
$edit['default_logo'] = 0;
|
151
|
$edit['logo_path'] = $this->sweaver_public_path() . '/sweaver/logo_bartik_' . $style_id . '_draft.' . $logo;
|
152
|
}
|
153
|
else {
|
154
|
$source = drupal_get_path('module', 'sweaver') .'/tests/'. $logo;
|
155
|
$parts = pathinfo($source);
|
156
|
$dest = 'public://sweaver/temp_logo.' . $parts['extension'];
|
157
|
$return = file_unmanaged_copy($source, $dest, FILE_EXISTS_REPLACE);
|
158
|
$this->assertTrue($return, 'Favicon file copied to '. $dest .' for style id '. $style_id .' in scenario '. $scenario);
|
159
|
$form['sweaver_plugin_themesettings']['form']['#logo_path'] = $dest;
|
160
|
$form['sweaver_plugin_themesettings']['form']['#logo_path_extension'] = $parts['extension'];
|
161
|
$edit['default_logo'] = 0;
|
162
|
$edit['logo_path'] = $dest;
|
163
|
}
|
164
|
}
|
165
|
|
166
|
if ($debug) {
|
167
|
$this->sweaver_filesdir_scan();
|
168
|
}
|
169
|
|
170
|
$values['form'] = $form;
|
171
|
$values['edit'] = $edit;
|
172
|
return $values;
|
173
|
}
|
174
|
|
175
|
/**
|
176
|
* Call submit methods.
|
177
|
*
|
178
|
* @param $op
|
179
|
* The name of the submit button on the Load/save tab.
|
180
|
* @param $form_state
|
181
|
* A (small) version of the form_state.
|
182
|
* @param $form
|
183
|
* The form array.
|
184
|
*/
|
185
|
function performStyleAction($op, $form_state, $form = array()) {
|
186
|
$sweaver = Sweaver::get_instance();
|
187
|
$sweaver_plugin = $sweaver->get_plugin('sweaver_plugin');
|
188
|
|
189
|
// Additional form_state properties
|
190
|
$form_state['clicked_button']['#value'] = t($op);
|
191
|
|
192
|
// Call submit methods.
|
193
|
foreach (array_keys($sweaver->get_plugins_registry(TRUE)) as $plugin_name) {
|
194
|
$sweaver_plugin = $sweaver->get_plugin($plugin_name);
|
195
|
$sweaver_plugin->sweaver_form_submit($form, $form_state);
|
196
|
}
|
197
|
}
|
198
|
|
199
|
/**
|
200
|
* Get css from table.
|
201
|
*
|
202
|
* @param $style_id
|
203
|
* The number of the style.
|
204
|
* @param $draft
|
205
|
* Whether to query the draft or live table.
|
206
|
*/
|
207
|
function getCSS($style_id, $draft = TRUE) {
|
208
|
$table = ($draft) ? 'sweaver_style_draft' : 'sweaver_style';
|
209
|
return db_query("SELECT * FROM {". $table ."} where style_id = :style_id AND theme = :theme", array(':style_id' => $style_id, ':theme' => 'bartik'))->fetchObject();
|
210
|
}
|
211
|
|
212
|
/**
|
213
|
* Save a style.
|
214
|
*
|
215
|
* @param $scenario
|
216
|
* The id of the scenario.
|
217
|
* @param $configuration
|
218
|
* A collection of configuration options.
|
219
|
* @param $style_id
|
220
|
* The id of the style.
|
221
|
* @param $live
|
222
|
* Whether the live should exist or not.
|
223
|
* @param $equal_check
|
224
|
* Whether to check on both files.
|
225
|
* @param $equal
|
226
|
* Whether they have to be equal or not.
|
227
|
* @param $debug
|
228
|
* Whether to write debug info or not.
|
229
|
*/
|
230
|
function sweaverSaveStyle($scenario, $configuration, $style_id, $live = FALSE, $check = FALSE, $equal = FALSE, $debug = FALSE) {
|
231
|
|
232
|
$form_state['values'] = $configuration['edit'];
|
233
|
$form = $configuration['form'];
|
234
|
$this->performStyleAction('Save and continue', $form_state, $form);
|
235
|
$css = $this->getCSS($style_id);
|
236
|
|
237
|
// Assert CSS is equal.
|
238
|
$this->assertEqual($configuration['edit']['sweaver-css'], $css->css, t('CSS is equal for style id '. $css->style_id .' in scenario '. $scenario));
|
239
|
|
240
|
// Assert draft css is written, live not.
|
241
|
$this->assertCSSFiles($scenario, $style_id, TRUE, $live, $check, $equal);
|
242
|
|
243
|
if ($debug) {
|
244
|
$this->sweaver_filesdir_scan();
|
245
|
}
|
246
|
}
|
247
|
|
248
|
/**
|
249
|
* Publish a style.
|
250
|
*
|
251
|
* @param $scenario
|
252
|
* The id of the scenario.
|
253
|
* @param $configuration
|
254
|
* A collection of configuration options.
|
255
|
* @param $style_id
|
256
|
* The id of the style.
|
257
|
*/
|
258
|
function sweaverPublishStyle($scenario, $configuration, $style_id) {
|
259
|
|
260
|
$form_state['values'] = $configuration['edit'];
|
261
|
$form_state['values']['publish_id'] = $style_id;
|
262
|
$this->performStyleAction('Publish style', $form_state, $configuration['form']);
|
263
|
$css = $this->getCSS($style_id, FALSE);
|
264
|
|
265
|
// Assert CSS is equal.
|
266
|
$this->assertEqual($configuration['edit']['sweaver-css'], $css->css, t('CSS is equal for style id '. $css->style_id .' in scenario '. $scenario));
|
267
|
|
268
|
// Assert draft css is written, live too and css filesize are equal.
|
269
|
$this->assertCSSFiles($scenario, $style_id, TRUE, TRUE, TRUE, TRUE);
|
270
|
}
|
271
|
|
272
|
/**
|
273
|
* Delete a style.
|
274
|
*
|
275
|
* @param $scenario
|
276
|
* The id of the scenario.
|
277
|
* @param $configuration
|
278
|
* A collection of configuration options.
|
279
|
* @param $style_id
|
280
|
* The id of the style to delete.
|
281
|
*/
|
282
|
function sweaverDeleteStyle($scenario, $configuration, $style_id) {
|
283
|
$form_state['values']['delete_style'] = $style_id;
|
284
|
$form_state['values']['var'] = 'theme_bartik_settings';
|
285
|
$this->performStyleAction('Delete style', $form_state, $configuration['form']);
|
286
|
|
287
|
// Assert no entries are found in database.
|
288
|
$css_draft = $this->getCSS($style_id, FALSE);
|
289
|
$css_live = $this->getCSS($style_id, FALSE);
|
290
|
$this->assertFalse($css_draft, t('No draft css record found for style id '. $style_id .' in scenario '. $scenario));
|
291
|
$this->assertFalse($css_live, t('No live css file found for style id '. $style_id .' in scenario '. $scenario));
|
292
|
|
293
|
// Assert draft & live are gone.
|
294
|
$this->assertCSSFiles($scenario, $style_id, FALSE, FALSE);
|
295
|
}
|
296
|
|
297
|
/**
|
298
|
* Asserts for css files.
|
299
|
*
|
300
|
* @param $scenario
|
301
|
* The id of the scenario.
|
302
|
* @param $style_id
|
303
|
* The id of the style.
|
304
|
* @param $live
|
305
|
* Whether the draft should exist or not.
|
306
|
* @param $live
|
307
|
* Whether the live should exist or not.
|
308
|
* @param $equal_check
|
309
|
* Whether to check on both files.
|
310
|
* @param $equal
|
311
|
* Whether they have to be equal or not.
|
312
|
*/
|
313
|
function assertCSSFiles($scenario, $style_id, $draft, $live, $equal_check = FALSE, $equal = FALSE) {
|
314
|
$draft_filename = $this->sweaver_public_path() . '/sweaver/sweaver_bartik_' . $style_id . '_draft.css';
|
315
|
$live_filename = $this->sweaver_public_path() . '/sweaver/sweaver_bartik_' . $style_id . '_live.css';
|
316
|
|
317
|
if ($draft) {
|
318
|
$this->assertTrue(file_exists($draft_filename), t('Draft css file exists for style id '. $style_id .' in scenario '. $scenario));
|
319
|
}
|
320
|
else {
|
321
|
$this->assertFalse(file_exists($draft_filename), t('Draft css file does not exist for style id '. $style_id .' in scenario '. $scenario));
|
322
|
}
|
323
|
|
324
|
if ($live) {
|
325
|
$this->assertTrue(file_exists($live_filename), t('Live css file exists for style id '. $style_id .' in scenario '. $scenario));
|
326
|
}
|
327
|
else {
|
328
|
$this->assertFalse(file_exists($live_filename), t('Live css file does not exist for style id '. $style_id .' in scenario '. $scenario));
|
329
|
}
|
330
|
|
331
|
if ($equal_check) {
|
332
|
$draft_file_size = filesize($draft_filename);
|
333
|
$live_file_size = filesize($live_filename);
|
334
|
$this->assertNotEqual($draft_file_size, 0, t('Draft CSS filesize is not 0 for style _id '. $style_id .' in scenario '. $scenario .' ('. $draft_file_size .')'));
|
335
|
$this->assertNotEqual($live_file_size, 0, t('Live CSS filesize is not 0 for style _id '. $style_id .' in scenario '. $scenario .' ('. $live_file_size .')'));
|
336
|
if ($equal) {
|
337
|
$this->assertEqual($draft_file_size, $live_file_size, t('CSS files are equal for style id '. $style_id .' in scenario '. $scenario .' ('. $draft_file_size .')'));
|
338
|
}
|
339
|
else {
|
340
|
$this->assertNotEqual($draft_file_size, $live_file_size, t('CSS files are not equal for style id '. $style_id .' in scenario '. $scenario .'(d: '. $draft_file_size .' l: '. $live_file_size .')'));
|
341
|
}
|
342
|
}
|
343
|
}
|
344
|
|
345
|
/**
|
346
|
* Asserts for Logo & Favicon writes on file system.
|
347
|
*
|
348
|
* @param $scenario
|
349
|
* The id of the scenario.
|
350
|
* @param $style_id
|
351
|
* The if of the style.
|
352
|
* @param $gone
|
353
|
* Whether the files should be gone or not.
|
354
|
* @param $draft
|
355
|
* Whether the draft version should exist or not.
|
356
|
* @param $live
|
357
|
* Whether the live version should exist or not.
|
358
|
* @param $logo
|
359
|
* The exentension of the logo.
|
360
|
* @param $favicon_check
|
361
|
* Whether we need to assert for the favicon.
|
362
|
*/
|
363
|
function assertLogoFavicon($scenario, $style_id, $gone, $draft = '', $live = '', $logo = '', $favicon_check = TRUE) {
|
364
|
|
365
|
if ($gone) {
|
366
|
|
367
|
$draft_logo_png = $this->sweaver_public_path() . '/sweaver/logo_bartik_' . $style_id . '_draft.png';
|
368
|
$live_logo_png = $this->sweaver_public_path() . '/sweaver/logo_bartik_' . $style_id . '_live.png';
|
369
|
$draft_logo_gif = $this->sweaver_public_path() . '/sweaver/logo_bartik_' . $style_id . '_draft.gif';
|
370
|
$live_logo_gif = $this->sweaver_public_path() . '/sweaver/logo_bartik_' . $style_id . '_live.gif';
|
371
|
$draft_favicon = $this->sweaver_public_path() . '/sweaver/favicon_bartik_' . $style_id . '_draft.ico';
|
372
|
$live_favicon = $this->sweaver_public_path() . '/sweaver/favicon_bartik_' . $style_id . '_live.ico';
|
373
|
|
374
|
$this->assertFalse(file_exists($draft_logo_png), t('Draft png logo is gone for style id '. $style_id .' in scenario '. $scenario .' ('. $draft_logo_png .') '));
|
375
|
$this->assertFalse(file_exists($live_logo_png), t('Live png logo is gone for style id '. $style_id .' in scenario '. $scenario .' ('. $live_logo_png .') '));
|
376
|
$this->assertFalse(file_exists($draft_logo_gif), t('Draft gif logo is gone for style id '. $style_id .' in scenario '. $scenario .' ('. $draft_logo_gif .') '));
|
377
|
$this->assertFalse(file_exists($live_logo_gif), t('Live gif logo is gone for style id '. $style_id .' in scenario '. $scenario .' ('. $live_logo_gif .') '));
|
378
|
$this->assertFalse(file_exists($draft_favicon), t('Draft favicon is gone for style id '. $style_id .' in scenario '. $scenario .' ('. $draft_favicon .') '));
|
379
|
$this->assertFalse(file_exists($live_favicon), t('Live favicon is gone for style id '. $style_id .' in scenario '. $scenario .' ('. $live_favicon .') '));
|
380
|
}
|
381
|
|
382
|
else {
|
383
|
|
384
|
$draft_logo = $this->sweaver_public_path() . '/sweaver/logo_bartik_' . $style_id . '_draft.' . $logo;
|
385
|
$live_logo = $this->sweaver_public_path() . '/sweaver/logo_bartik_' . $style_id . '_live.' . $logo;
|
386
|
$draft_favicon = $this->sweaver_public_path() . '/sweaver/favicon_bartik_' . $style_id . '_draft.ico';
|
387
|
$live_favicon = $this->sweaver_public_path() . '/sweaver/favicon_bartik_' . $style_id . '_live.ico';
|
388
|
|
389
|
// Draft.
|
390
|
if ($draft) {
|
391
|
$this->assertTrue(file_exists($draft_logo), t('Draft logo exists for style id '. $style_id .' in scenario '. $scenario));
|
392
|
$this->assertTrue(file_exists($draft_favicon), t('Draft Favicon exists for style id '. $style_id .' in scenario '. $scenario));
|
393
|
}
|
394
|
else {
|
395
|
$this->assertFalse(file_exists($draft_logo), t('Draft logo does not exist for style id '. $style_id .' in scenario '. $scenario));
|
396
|
$this->assertFalse(file_exists($draft_favicon), t('Draft Favicon does not exist for style id '. $style_id .' in scenario '. $scenario));
|
397
|
}
|
398
|
|
399
|
// Live
|
400
|
if ($live) {
|
401
|
$this->assertTrue(file_exists($live_logo), t('Live logo exists for style id '. $style_id .' in scenario '. $scenario));
|
402
|
$this->assertTrue(file_exists($live_favicon), t('Live Favicon exists for style id '. $style_id .' in scenario '. $scenario));
|
403
|
}
|
404
|
else {
|
405
|
$this->assertFalse(file_exists($live_logo), t('Live logo does not exist for style id '. $style_id .' in scenario '. $scenario));
|
406
|
if ($favicon_check) {
|
407
|
$this->assertFalse(file_exists($live_favicon), t('Live Favicon does not exist for style id '. $style_id .' in scenario '. $scenario));
|
408
|
}
|
409
|
}
|
410
|
}
|
411
|
}
|
412
|
|
413
|
/**
|
414
|
* Asserts for theme settings.
|
415
|
*
|
416
|
* @param $scenario
|
417
|
* The id of the scenario.
|
418
|
* @param $style_id
|
419
|
* The id of the style.
|
420
|
* @param $site_name
|
421
|
* Whether the $site_name is visible or not.
|
422
|
* @param $logo
|
423
|
* The extension of the logo.
|
424
|
* @param $favicon
|
425
|
* The name of the favicon.
|
426
|
* @param $original
|
427
|
* Whether we need to look for the original logo/favicon.
|
428
|
*/
|
429
|
function assertThemeSettings($scenario, $style_id, $site_name, $original = TRUE, $logo = '', $favicon = '') {
|
430
|
$this->drupalGet('node');
|
431
|
|
432
|
// Test on site name.
|
433
|
if ($site_name) {
|
434
|
$this->assertNoRaw('<div id="site-name" class="element-invisible">', t('Site name is visible for style id ' . $style_id . ' in scenario ' . $scenario));
|
435
|
}
|
436
|
else {
|
437
|
$this->assertRaw('<div id="site-name" class="element-invisible">', t('Site name is not visible for style id ' . $style_id . ' in scenario ' . $scenario));
|
438
|
}
|
439
|
|
440
|
if ($original) {
|
441
|
$this->assertRaw('/themes/bartik/logo.png', t('Logo is original bartik for style id ' . $style_id . ' in scenario '. $scenario));
|
442
|
$this->assertRaw('/misc/favicon.ico', t('Favicon is original druplicon for style id ' . $style_id . ' in scenario '. $scenario));
|
443
|
}
|
444
|
else {
|
445
|
$this->assertNoRaw('/themes/bartik/logo.png', t('Logo is not original bartik for style id '. $style_id .' in scenario '. $scenario));
|
446
|
$this->assertNoRaw('/misc/favicon.ico', t('Favicon is not original druplicon for style id '. $style_id .' in scenario '. $scenario));
|
447
|
$live_logo = '/sweaver/logo_bartik_' . $style_id .'_live.' . $logo;
|
448
|
$live_favicon = '/sweaver/favicon_bartik_' . $style_id . '_live.'. $favicon;
|
449
|
$this->assertRaw($live_logo, t('Logo is uploaded logo for style id ' . $style_id . ' in scenario '. $scenario . ' ('. $live_logo .')'));
|
450
|
$this->assertRaw($live_favicon, t('Favicon is uploaded logo for style id ' . $style_id . ' in scenario '. $scenario . ' (' . $live_favicon . ')'));
|
451
|
}
|
452
|
}
|
453
|
|
454
|
/**
|
455
|
* Scenario A.
|
456
|
*
|
457
|
* 1: Save realize favicon, google logo & Site name off
|
458
|
* 2: Publish 1
|
459
|
* 3: Delete 1
|
460
|
*/
|
461
|
function testScenarioA() {
|
462
|
$scenario = 'A';
|
463
|
|
464
|
$scenario_action = 'Save '. $scenario;
|
465
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30', 1, TRUE, 'google.png', 'realize.ico', 0, FALSE);
|
466
|
$this->sweaverSaveStyle($scenario_action, $configuration, 1, FALSE, FALSE, FALSE, FALSE);
|
467
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, FALSE, 'png');
|
468
|
$this->assertThemeSettings($scenario_action, 1, TRUE, TRUE);
|
469
|
|
470
|
$scenario_action = 'Publish '. $scenario;
|
471
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30', 1, TRUE, 'google.png', 'realize.ico');
|
472
|
$this->sweaverPublishStyle($scenario_action, $configuration, 1);
|
473
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, TRUE, 'png');
|
474
|
$this->assertThemeSettings($scenario_action, 1, FALSE, FALSE, 'png', 'ico');
|
475
|
|
476
|
$scenario_action = 'Delete '. $scenario;
|
477
|
$configuration = $this->buildStyleConfiguration($scenario_action, 0, FALSE);
|
478
|
$this->sweaverDeleteStyle($scenario_action, $configuration, 1);
|
479
|
$this->assertLogoFavicon($scenario_action, 1, TRUE);
|
480
|
}
|
481
|
|
482
|
/**
|
483
|
* Scenario B.
|
484
|
*
|
485
|
* 1: Save realize favicon, google logo & Site name off
|
486
|
* 1: Save dummi favicon, jw logo & Site name off
|
487
|
* 2: Publish 1
|
488
|
* 2: Publish 2
|
489
|
* 3: Delete 1
|
490
|
* 3: Delete 2
|
491
|
*/
|
492
|
function testScenarioB() {
|
493
|
$scenario = 'B';
|
494
|
|
495
|
$scenario_action = 'Save '. $scenario;
|
496
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30', 1, TRUE, 'google.png', 'realize.ico');
|
497
|
$this->sweaverSaveStyle($scenario_action, $configuration, 1);
|
498
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, FALSE, 'png');
|
499
|
$this->assertThemeSettings($scenario_action, 1, TRUE, TRUE);
|
500
|
|
501
|
$scenario_action = 'Save '. $scenario;
|
502
|
$configuration = $this->buildStyleConfiguration($scenario_action, '40', 2, TRUE, 'jw.gif', 'dummy.ico');
|
503
|
$this->sweaverSaveStyle($scenario_action, $configuration, 2);
|
504
|
$this->assertLogoFavicon($scenario_action, 2, FALSE, TRUE, FALSE, 'gif');
|
505
|
$this->assertThemeSettings($scenario_action, 2, TRUE, TRUE);
|
506
|
|
507
|
$scenario_action = 'Publish '. $scenario;
|
508
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30', 1, TRUE, 'google.png', 'realize.ico');
|
509
|
$this->sweaverPublishStyle($scenario_action, $configuration, 1);
|
510
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, TRUE, 'png');
|
511
|
$this->assertThemeSettings($scenario_action, 1, FALSE, FALSE, 'png', 'ico');
|
512
|
|
513
|
$scenario_action = 'Publish '. $scenario;
|
514
|
$configuration = $this->buildStyleConfiguration($scenario_action, '40', 2, TRUE, 'jw.gif', 'dummy.ico');
|
515
|
$this->sweaverPublishStyle($scenario_action, $configuration, 2);
|
516
|
$this->assertLogoFavicon($scenario_action, 2, FALSE, TRUE, TRUE, 'gif');
|
517
|
$this->assertThemeSettings($scenario_action, 2, FALSE, FALSE, 'gif', 'ico');
|
518
|
|
519
|
$scenario_action = 'Delete '. $scenario;
|
520
|
$configuration = $this->buildStyleConfiguration($scenario_action, 0, 1, FALSE);
|
521
|
$this->sweaverDeleteStyle($scenario_action, $configuration, 1);
|
522
|
$this->assertLogoFavicon($scenario_action, 1, TRUE);
|
523
|
|
524
|
$scenario_action = 'Delete '. $scenario;
|
525
|
$configuration = $this->buildStyleConfiguration($scenario_action, 0, 2, FALSE);
|
526
|
$this->sweaverDeleteStyle($scenario_action, $configuration, 2);
|
527
|
$this->assertLogoFavicon($scenario_action, 2, TRUE);
|
528
|
}
|
529
|
|
530
|
/**
|
531
|
* Scenario C.
|
532
|
*
|
533
|
* 1: Save realize favicon, google logo & Site name off
|
534
|
* 2: Publish 1 (without logo & realize).
|
535
|
* 3: Delete 1
|
536
|
*/
|
537
|
function testScenarioC() {
|
538
|
$scenario = 'C';
|
539
|
|
540
|
$scenario_action = 'Save '. $scenario;
|
541
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30', 1, TRUE, 'google.png', 'realize.ico');
|
542
|
$this->sweaverSaveStyle($scenario_action, $configuration, 1);
|
543
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, FALSE, 'png');
|
544
|
$this->assertThemeSettings($scenario_action, 1, TRUE, TRUE);
|
545
|
|
546
|
$scenario_action = 'Publish '. $scenario;
|
547
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30', 1, FALSE, 'png', 'ico');
|
548
|
$this->sweaverPublishStyle($scenario_action, $configuration, 1);
|
549
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, TRUE, 'png');
|
550
|
$this->assertThemeSettings($scenario_action, 1, FALSE, FALSE, 'png', 'ico');
|
551
|
|
552
|
$scenario_action = 'Delete '. $scenario;
|
553
|
$configuration = $this->buildStyleConfiguration($scenario_action, 0, 1, FALSE);
|
554
|
$this->sweaverDeleteStyle($scenario_action, $configuration, 1);
|
555
|
$this->assertLogoFavicon($scenario_action, 1, TRUE);
|
556
|
}
|
557
|
|
558
|
/**
|
559
|
* Scenario D.
|
560
|
*
|
561
|
* 1: Save realize favicon, google logo & Site name off
|
562
|
* 3: Publish 1 (without logo & realize).
|
563
|
* 2: Save 1 dummi favicon, jw logo & Site name off
|
564
|
* 3: Publish 1 (without logo & dummi).
|
565
|
* 4: Delete 1
|
566
|
*/
|
567
|
function testScenarioD() {
|
568
|
$scenario = 'D';
|
569
|
|
570
|
$scenario_action = 'Save '. $scenario;
|
571
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30', 1, TRUE, 'google.png', 'realize.ico');
|
572
|
$this->sweaverSaveStyle($scenario_action, $configuration, 1);
|
573
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, FALSE, 'png');
|
574
|
$this->assertThemeSettings($scenario_action, 1, TRUE, TRUE);
|
575
|
|
576
|
$scenario_action = 'Publish '. $scenario;
|
577
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30', 1, FALSE, 'png', 'ico');
|
578
|
$this->sweaverPublishStyle($scenario_action, $configuration, 1);
|
579
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, TRUE, 'png');
|
580
|
$this->assertThemeSettings($scenario_action, 1, FALSE, FALSE, 'png', 'ico');
|
581
|
|
582
|
$scenario_action = 'Save '. $scenario;
|
583
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30000', 1, TRUE, 'jw.gif', 'dummy.ico', TRUE);
|
584
|
$this->sweaverSaveStyle($scenario_action, $configuration, 1, TRUE, TRUE, FALSE);
|
585
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, FALSE, 'gif', FALSE);
|
586
|
$this->assertThemeSettings($scenario_action, 1, FALSE, FALSE, 'png', 'ico');
|
587
|
|
588
|
$scenario_action = 'Publish '. $scenario;
|
589
|
$configuration = $this->buildStyleConfiguration($scenario_action, '30000', 1, FALSE, 'gif', 'ico');
|
590
|
$this->sweaverPublishStyle($scenario_action, $configuration, 1);
|
591
|
$this->assertLogoFavicon($scenario_action, 1, FALSE, TRUE, TRUE, 'gif');
|
592
|
$this->assertThemeSettings($scenario_action, 1, FALSE, FALSE, 'gif', 'ico');
|
593
|
|
594
|
$scenario_action = 'Delete '. $scenario;
|
595
|
$configuration = $this->buildStyleConfiguration($scenario_action, 0, 1, FALSE);
|
596
|
$this->sweaverDeleteStyle($scenario_action, $configuration, 1);
|
597
|
$this->assertLogoFavicon($scenario_action, 1, TRUE);
|
598
|
}
|
599
|
}
|