Commit graph

454 commits

Author SHA1 Message Date
AD7six
23c37efc71 Load fixtures from a consistent location
If a test is baked for a plugin - it should by default look for fixtures in the
same plugin, otherwise it creates potentially complex inter-plugin/app
dependencies.
2012-06-14 13:28:35 +02:00
mark_story
5413143178 Don't modify app/Config/bootstrap when running tests. 2012-06-12 22:10:55 -04:00
mark_story
f6b50a948e Small fixes for validation formatting.
* Remove additional out() calls.
* Remove extra punctuation.
* Fix code standards.
* Fix failing test.
2012-06-10 21:57:15 -04:00
Fitorec
1bcb8daf21 Adding case 'datetime' to validation guesses.
In ModelTask->fieldValidation added option "datetime"
2012-06-10 21:56:43 -04:00
Fitorec
c090845117 Fixing coding style. 2012-06-10 21:56:43 -04:00
Fitorec
207b918b59 Removing the case 2012-06-10 21:56:39 -04:00
Fitorec
fa2a75c3f1 Add the numbers format console menus, showing the validation options in 2 columns. 2012-06-10 21:56:30 -04:00
Jelle Henkens
c8e58b50ba Adding cake core message extraction in cake extract 2012-06-07 23:55:36 +01:00
AD7six
33c112b353 doesn'st need to be a verbose level message
other create mesages are output normally
2012-06-07 23:03:53 +02:00
AD7six
488ba9ef85 Make baking a plugin more user friendly.
Changed the text when the plugin already exists to indicate that the task stops
intentionally.

If there are folder errors - report them in the cli.

Choose the last plugin path by default

Modify the app's bootstrap file if it's not being (obviously) loaded already.
This means it is now possible to do:

    Console/cake bake plugin MyPlugin
    Console/cake bake model MyPlugin.MyModel

Previously the above would result in an error (which only if you know), you'd
fix by editing your Config/bootstrap.php file by hand before retrying to bake
your model.
2012-06-07 09:04:02 +02:00
AD7six
d1475b1fd3 initialize $construct variable 2012-06-06 22:24:15 +02:00
AD7six
a5fabcc1dc No startup and teardown for controller tests
and.. no startup/teardown functions unless they are actually going to do more
than just call parent
2012-06-06 21:06:37 +02:00
Jelle Henkens
0e34bd4b1d Suggest current path in bake project if dir is empty 2012-06-03 14:01:03 +01:00
Jelle Henkens
5656461025 Adding overwrite option to the i18n extract task 2012-05-25 17:01:56 +01:00
AD7six
af4a2efc33 allow baking tests for controllers with uses
if a controller has

	public $uses => array('MyPlugin.MyModel')

in their controller - the bake controller task will fail because `$controller->MyPlugin.MyModel`
doesn't exist
2012-05-25 13:09:52 +02:00
Jelle Henkens
f7ce5262b7 Updating mixed @param documentation to seperate list of accepted types 2012-05-21 21:55:10 +01:00
mark_story
9628910c86 Merge branch '2.1' into 2.2 2012-05-12 20:26:36 -04:00
mark_story
8103eae9f1 Make input prompt clearer in extract task.
Make the prompt display the paths that will be scanned.  Hopefully
this makes the shell a bit easier to use and understand. Also
make the shell not accept 0 paths as a correct answer.

Fixes #2877
2012-05-12 20:26:11 -04:00
Washington
c651bf25d3 remove stub class from controller tests template and mock condition to
make it extends ControllerTestCase
2012-05-11 14:51:56 -03:00
AD7six
6933b31be5 include plugin name in model tests 2012-05-11 00:33:10 +02:00
AD7six
08c3008874 load app classes automatically for plugins
Otherwise baking a test for a plugin model (example) fails
2012-05-10 23:51:09 +02:00
AD7six
3a5e00fa53 var_export dumps null as NULL
correct for that so code standards are met with the results
2012-05-09 23:38:30 +02:00
mark_story
b57489f3f1 Remove duplicate template.
Also remove double creating the home.ctp file.

Fixes #2842
2012-05-02 20:54:50 -04:00
Rachman Chavik
e7fa2a526f remove whitespace at eol 2012-05-01 21:35:48 +07:00
Jose Lorenzo Rodriguez
bf0f5ab118 Merge remote-tracking branch 'origin/2.1' into 2.2 2012-04-29 20:05:39 -04:30
AD7six
9444af2f81 classify the first cli argument for this task
the $type is used to lookup in the $classTypes property what kind of
entity is being baked. if it's underscored, getRealClassName will bail
on it's first condition of "is it in the $classTypes property" producing
mostly useless test stubs for everything except models
2012-04-29 17:20:14 +02:00
Kyle Robinson Young
b8488b8dfe Update 1.x @link in docblocks 2012-04-26 19:49:18 -07:00
Mark Story
f150ebb9cc Merge pull request #623 from dereuromark/2.2-bake-theme-order
Correct order of bake themes so app and plugin precede core ones

Fixes #2825
2012-04-26 09:43:53 -07:00
mark_story
b6de177ffa Merge branch '2.1' into 2.2 2012-04-23 21:50:36 -04:00
euromark
6353558622 bame themes now in correct order: app -> plugin -> default 2012-04-24 02:40:42 +02:00
Rachman Chavik
36275129d7 i18n: consider real path of APP to handle symlinks
When extracting model validation messages, Reflection::getFileName is used
to obtain the the model filename. The returned value is actual physical
path and may differ to what APP is. Adding the realpath(APP) to $paths
variable allows str_replace() to correctly generate the correct value for
$occurences.
2012-04-24 07:29:26 +07:00
mark_story
9f9feec222 Merge branch '2.2-hash' into 2.2
Conflicts:
	lib/Cake/Test/Case/Model/Datasource/DboSourceTest.php
	lib/Cake/View/Helper/FormHelper.php
2012-04-10 21:32:37 -04:00
Mark Story
d000b3aa97 Merge pull request #601 from luisarmando/infoUpgrade
Outputs messages of which plugin is going to have locations upgrade.
2012-04-06 17:12:09 -07:00
Luís Armando
5b324f8024 Outputs messages of which plugin is going to have locations upgrade. 2012-04-06 18:06:18 -03:00
mark_story
ee7a224639 Fix a code style warning. 2012-03-31 21:40:20 -04:00
Kyle Robinson Young
e2a46f76c7 substr() optimizations 2012-03-28 13:07:26 -07:00
mark_story
19e0d8d946 Switch usage to Hash where possible. 2012-03-26 22:32:53 -04:00
mark_story
2bbf38038d Remove duplicated code in testsuite shell. 2012-03-18 21:57:15 -04:00
Juan Basso
3b1bd90ad6 Updated copyright to 2012. 2012-03-12 22:46:07 -04:00
mark_story
664b0538b8 Fix more coding standards problems. 2012-03-04 22:49:38 -05:00
mark_story
db8c6b5c78 Fix most of the coding standards issues in Console/ 2012-03-03 18:55:29 -05:00
mark_story
7d51db9e63 Merge branch '2.0' into 2.1 2012-03-03 12:27:22 -05:00
Cauan Cabral
a3a2d55c94 Enable UpgradeShell to recognize new line between class name and { 2012-03-02 17:43:02 -04:00
Rob McVey
8e93c4cd34 Fix for Consolce/Task/TestTask::getRealClassName(). Controller names of exactly 10 letters
being returned incorrectly

Signed-off-by: mark_story <mark@mark-story.com>
2012-02-28 15:21:59 -05:00
mark_story
0568746bfd Merge branch '2.0' into 2.1
Conflicts:
	lib/Cake/Model/CakeSchema.php
2012-02-26 12:04:28 -05:00
mark_story
2a9a103d62 Fix bad xml help generation.
Fixes #2619
2012-02-26 10:21:04 -05:00
mark_story
e958e6c25f Fix strict and warning errors from type hints. 2012-02-25 20:06:48 -05:00
euromark
22452f61f8 type hinting controllers and views 2012-02-25 19:46:06 -05:00
euromark
e94d307ee1 code conventions 2012-02-25 19:46:05 -05:00
Stef van den Ham
98b84ce40b Fixed typo in TestSuiteShell 2012-02-22 09:38:59 +01:00
Kyle Robinson Young
45ec5d73c5 Add missing visibility keywords 2012-02-16 23:13:12 -08:00
Majna
0cd9a93e9e Remove unused variables and statements. 2012-02-17 21:10:43 +01:00
Majna
1dbafe1d4f Fix docblocks. 2012-02-17 13:51:20 +01:00
AD7six
369d316835 Restructure internals of Extract task
Use variables which are easily identifiable and an internal storage
structure which prevents duplicates.
2012-02-14 15:30:09 +01:00
mark_story
2afb05b590 Merge branch '2.0' into 2.1
Conflicts:
	app/View/Pages/home.ctp
	lib/Cake/Config/config.php
	lib/Cake/Core/App.php
	lib/Cake/VERSION.txt
	lib/Cake/View/Helper/NumberHelper.php
2012-02-12 10:06:13 -05:00
Majna
454f383951 Fix console option parser for --empty in ProjectTask.
Command 'cake bake project --empty myapp' ignores argument myapp.
2012-02-07 18:35:12 +01:00
mark_story
4949a87b7e Fix issues with duplicate msgid values.
Msgid values could be duplicated if the same string was used
for singular and pluralized translations.  Re-index how the data is
stored so duplicate singular detection per domain is easier.

Fixes #2538
2012-02-06 21:25:11 -05:00
Vinícius Krolow
fa5f175244 Improve the extract to know when there is the same string inside one plural
Fixes #2538
2012-02-06 20:10:33 -05:00
mark_story
f3b990bf0f Correct path display for plugins.
Fixes #2548
2012-02-05 12:00:55 -05:00
Dean Sofer
ff91a7978e Added missing AppShell.php file to core 2012-02-05 01:47:56 -08:00
mark_story
752711e963 Fix missing behavior constructor. 2012-01-27 21:10:57 -05:00
mark_story
9ff0739504 Improving test generation.
Class construction can be a bit more complicated now.
2012-01-27 20:59:03 -05:00
Ceeram
4f1be12046 Merge branch '2.1-appshell' into 2.1 2012-01-23 15:29:03 +01:00
mark_story
70bb839de9 Add validation guess for not null + text types.
Fixes #2493
2012-01-21 13:10:30 -05:00
mark_story
df5d9ac3d1 Merge branch '2.0' into 2.1
Conflicts:
	lib/Cake/Model/Model.php
	lib/Cake/Test/Case/Routing/RouterTest.php
2012-01-20 20:28:15 -05:00
Mark Story
e080bb27b9 Merge pull request #411 from fitorec/2.0
Check the logic in the Shell::in($prompt, $options = null, $default = null)
2012-01-17 18:53:00 -08:00
Fitorec
ddbaa66997 Reviewing the logic in the Shell::in($prompt, $options = null, $default = null) 2012-01-15 21:16:45 -06:00
Mark Story
533feea2b1 Merge pull request #403 from rintaun/patch-2
$action in AclShell::_getParams() should default to '*', not NULL
2012-01-12 19:08:42 -08:00
mark_story
b6040aec5a Update UpgradeShell for App classes.
Correctly move AppController and AppModel.
Fixes #2472
2012-01-12 21:37:34 -05:00
Ceeram
9f40e6de79 move AppShell to app/Console/Command directory 2012-01-12 11:55:10 +01:00
Matthew Lanigan
0e607bf880 $action in AclShell::_getParams() defaults to '*', not NULL 2012-01-11 21:59:58 -05:00
mark_story
15c7493e39 Merge branch '2.0' into 2.1 2012-01-06 23:02:16 -05:00
Simon Males
adc6846145 schema update fails with -f flag, although it's supported. 2012-01-05 16:54:02 +11:00
ADmad
389072708a Merge branch '2.0' into 2.1
Conflicts:
	lib/Cake/Test/Case/Model/ModelReadTest.php
	lib/Cake/Utility/Debugger.php
2011-12-22 03:15:04 +05:30
Kyle Robinson Young
51f9837db4 Code standards formatting 2011-12-15 22:52:07 -08:00
Graham Weldon
d83115927d Merge branch '2.0' of github.com:cakephp/cakephp into 2.0 2011-12-14 16:04:40 +11:00
mark_story
07a2a60468 Merge branch '2.0' into 2.1 2011-12-13 22:03:40 -05:00
mark_story
dd335cb183 Fix error in FixtureTask
The options are always set, use empty() instead.

Fixes #2373
2011-12-13 20:40:30 -05:00
mark_story
2e8498e166 Merge branch '2.0' into 2.1
Conflicts:
	lib/Cake/Model/Datasource/Database/Postgres.php
	lib/Cake/Test/Case/Console/TaskCollectionTest.php
	lib/Cake/Test/Case/Model/ModelIntegrationTest.php
	lib/Cake/Test/Case/Utility/ClassRegistryTest.php
	lib/Cake/Utility/ClassRegistry.php
2011-12-11 22:51:40 -05:00
Kyle Robinson Young
c836ba08a3 Add/move docblocks to make text available in the API docs 2011-12-08 07:35:02 -08:00
Kyle Robinson Young
1e1c7a036d Code consistency formatting tweaks 2011-12-06 12:52:48 -08:00
mark_story
e7a7e57ba6 Fix bare require() to use App::uses()
Fixes #2346
2011-12-06 20:09:05 -05:00
Ceeram
e4e26a852b Making non-interactive behave same as interactive with odd table names 2011-12-05 17:00:48 +01:00
mark_story
545f4d2811 Fix bad merge. 2011-12-03 13:56:55 -05:00
mark_story
6d269ce25d Merge branch '2.0' into 2.1
Conflicts:
	lib/Cake/Config/config.php
	lib/Cake/Console/Command/Task/ModelTask.php
	lib/Cake/Console/Command/TestsuiteShell.php
	lib/Cake/Model/CakeSchema.php
	lib/Cake/Model/Datasource/Database/Sqlite.php
	lib/Cake/Test/Case/Model/ModelTestBase.php
	lib/Cake/Test/Case/Routing/DispatcherTest.php
	lib/Cake/Test/Case/Utility/FileTest.php
	lib/Cake/VERSION.txt
2011-12-03 13:45:28 -05:00
Mark Story
d4fd1b3743 Merge pull request #348 from petteyg/apptheme
Make TemplateTask prioritize App templates over Core templates
2011-12-02 17:28:01 -08:00
Kyle Robinson Young
8197f87dbc Spelling and grammar fixes 2011-12-01 21:58:09 -08:00
Gordon Pettey (petteyg)
a800dcbbca Merge branch 'master' into apptheme 2011-12-02 02:29:43 +00:00
mark_story
0f71254fe1 Fix double inflection in bake all <foo>
ViewTask re-pluralizes the model name.  Sometimes this leads to
things like Menuses which is totally wrong.

Fixes #2318
2011-12-01 20:41:17 -05:00
Ceeram
faddfbe2d0 Merge branch '2.0' of github.com:cakephp/cakephp into 2.0 2011-12-01 20:30:45 +01:00
Ceeram
0a1772c929 adding default name, for dbs that dont expose a PK 2011-12-01 20:30:36 +01:00
Kyle Robinson Young
94e119fe67 Adhere to code formatting standard 2011-11-30 23:21:31 -08:00
Kyle Robinson Young
5876744709 Adhering to coding standards 2011-11-30 07:44:11 -08:00
Graham Weldon
af2e7c1e9b Merge branch '2.0' of github.com:cakephp/cakephp into 2.0 2011-11-29 23:00:47 +11:00
Jose Lorenzo Rodriguez
76e334ca38 Merge branch '2.1' of github.com:cakephp/cakephp into 2.1 2011-11-28 22:30:36 -04:30
Ceeram
57a1a2814d Fixing modeltask to use correct table
ModelTask will now bake correct primaryKey when not id
2011-11-29 00:00:00 +01:00
ADmad
73674c648c Moving AppShell inside Console/Command for consistency with file location of other App classes. Also making all core shells and tasks extends AppShell instead of Shell. Closes #2278 2011-11-26 02:48:49 +05:30
Rachman Chavik
204851842b In a multidb habtm, we cannot rely on 'joinTable'
Instead, we should use value from 'with' when it's available.
2011-11-25 22:29:23 +07:00
Rachman Chavik
fa80be50eb Removing timestamp lines from generated files
This causes unnecessary diff chunks, and we should depend more on
the SCM instead of these values.
2011-11-25 08:45:33 +07:00
Rachman Chavik
211146fb7a Enable short option for --plugin and --connection
This is done to make things more consistent with the bake shell
2011-11-24 19:29:27 +07:00
mark_story
4103fe14a2 Fix double / issue in ExtractTask
Also fix an issue where extracting pot files for plugins ended up creating
a Localedefault.pot file incorrectly.

Fixes #2284
2011-11-23 21:03:24 -05:00
Mark Story
340d112693 Merge pull request #327 from bigclick/patch-1
Fix for when trying to use "Console/cake schema generate snapshot"
2011-11-21 07:20:07 -08:00
mark_story
6d6ac10834 Fix failing tests caused by previous commit. 2011-11-20 23:00:58 -05:00
bigclick
037f2c016e preg_quote'd $fileName to avoid issues when using a special character in their schema filename 2011-11-21 13:19:57 +11:00
bigclick
7a68f7fed1 Fix for when trying to use "Console/cake schema generate snapshot" command, line 67 was making the name param snapshot, also fixed auto numbering in the case where the filename wasn't "schema" 2011-11-21 11:43:51 +11:00
AD7six
adf73abb07 another bulletproofing for schemaless baking 2011-11-20 16:08:01 +01:00
AD7six
43ae7af17d prevent missing-index notices
when baking with a schemaless db
2011-11-20 15:44:44 +01:00
AD7six
f0fa6c7875 code standards 2011-11-20 01:17:07 +01:00
AD7six
8e38f666b7 allow baking models with missing tables - even for rdbms
test updated to reflect expected new expected behavior. If you bake a
model with the table missing, if forced to run skip any part of the
process that would result in an exception.
2011-11-20 01:11:33 +01:00
AD7six
ac8e1e8304 allow creating models without the table existing
particularly useful/appropriate for schemaless datasources
2011-11-19 23:51:39 +01:00
Gordon Pettey (petteyg)
99e6072fd3 Make App::path('Console') overwrite App::core('Console') for themes 2011-11-18 05:00:45 +00:00
mark_story
fa0ec44dfd Merge branch '2.0' into 2.1
Conflicts:
	lib/Cake/Test/Case/Console/Command/CommandListShellTest.php
	lib/Cake/Test/Case/Error/ExceptionRendererTest.php
	lib/Cake/Test/Case/Utility/DebuggerTest.php
	lib/Cake/Test/Case/View/Helper/TextHelperTest.php
2011-11-16 21:31:16 -05:00
mark_story
8981f49bd5 Add stricter validation to TestTask.
Empty classnames, and classnames without the correct type suffix
are no longer accepted.  They did the wrong thing anyways.

Fixes #2267
2011-11-16 20:38:31 -05:00
mark_story
fb7d931bef Merge branch '2.0' into 2.1
Conflicts:
	lib/Cake/Config/config.php
	lib/Cake/VERSION.txt
2011-11-15 23:10:34 -05:00
Graham Weldon
eefdc43214 Fix plugins not being loaded before looking for pluign paths 2011-11-15 17:30:49 +11:00
mark_story
0a0a09920b Updating for PHP5.4
- Fixing strict errors.
- Fixing call time pass by reference as its been removed in PHP5.4
- Fix assign new as a reference, which has been removed.
2011-11-12 21:42:19 -05:00
mark_story
254357e9c9 Merge branch '2.0' into 2.1 2011-11-11 22:38:11 -05:00
mark_story
99caa98df3 Update message for PHPUnit3.6 2011-11-11 21:28:34 -05:00
Ceeram
767d1afcd8 fixing helptext for AclShell 2011-11-09 21:07:01 +01:00
Mark Story
e8e2bbc4d7 Merge pull request #304 from jamiemill/2.0-upgradefix2
Add exception migration to the upgrade shell.
2011-11-08 06:47:52 -08:00
Renan Gonçalves aka renan.saddam
2a33bc862a Merge pull request #296 from majna/2.0-dbconfig-task
Fix for 'datasource' key when baking another db config.
2011-11-07 01:58:54 -08:00
Majna
57afa1873e Make View task use prefixed template before falling back to generic one. It is possible now to create view templates for different prefixes. 2011-11-07 01:01:56 +01:00
jamiemill
e16890225c Fixed mistake in UpgradeShell::exceptions()
My fault ;)
2011-11-06 23:19:30 +00:00
jamiemill
c966a35beb Fixed bug in UpgradeShell::findFiles().
$this->_files was reset on each loop through paths, which means, for
example, if you still had the old 'views' directory kicking around
the results from 'View' would be overwritten.
2011-11-06 21:53:20 +00:00
jamiemill
4368b62dfb Added an 'exceptions' method to the UpgradeShell.
This just replaces some of the basic cakeError() calls with
equivalent exceptions.
2011-11-06 21:53:11 +00:00
jamiemill
1d52dc05e1 Fix for UpgradeShell::helpers() not discovering core helpers. 2011-11-06 21:53:03 +00:00
Mark Story
db41a7dd16 Merge pull request #302 from majna/2.0-viewtask-methods
Fix View task generating only 'admin' methods views in non-interactive mode.
2011-11-06 12:59:38 -08:00
mark_story
aae8a89623 Change var -> public in controllertask.
Makes the confirmation message and generated code the same.
Fixes #2216
2011-11-06 11:50:16 -05:00
mark_story
a2b6f18000 Merge branch '2.0' into 2.1 2011-11-06 11:39:01 -05:00
mark_story
cfe38985cf Fix failing tests caused by changes in App::objects() 2011-11-06 11:23:11 -05:00
Majna
d84b66e744 Fix View task generating only 'admin' methods views in non-interactive mode. 2011-11-06 16:14:55 +01:00
ADmad
e1354b2ee6 Merge branch '2.0' into 2.1 2011-11-06 20:39:08 +05:30
jamiemill
13ebd60b26 Removed invalid 'Helper' suffix in UpgradeShell::helpers() 2011-11-06 12:02:19 +00:00
jamiemill
6c9c36bc0e Fixed missing array wrap in UpgradeShell::tests() 2011-11-05 22:18:49 +00:00
Majna
3374406bbf Fix View task missing 'app' param when baking custom action. 2011-11-05 19:54:21 +01:00
Majna
1b9b90d2e7 Replacing 'driver' with 'datasource'. 2011-11-04 23:07:31 +01:00
Majna
1455c59e0c Fix notice when baking db config: Undefined variable 'driver'. 2011-11-04 22:49:38 +01:00
mark_story
0304bb8796 Merge branch '2.0' into 2.1
Conflicts:
	lib/Cake/Config/config.php
	lib/Cake/VERSION.txt
2011-11-03 22:04:00 -04:00
Majna
51ccbad170 Fixing ignored '--exclude-plugins' option on Windows for Extract task. 2011-11-03 21:34:32 +01:00
Jose Lorenzo Rodriguez
d49096aab9 Fixing DbConfigTask to produce correct configurations 2011-10-30 18:25:43 -04:30
Majna
14efc4daae Added missing 'write' param for schema dump shell. Fixes #2179. 2011-10-29 00:51:40 +02:00
Gun.io Whitespace Robot
4742168253 Remove whitespace [Gun.io WhitespaceBot] 2011-10-28 18:25:08 -04:00
mark_story
d6f7669f54 Merge branch '2.0' into 2.1 2011-10-23 21:07:09 -04:00
James Larking
75daff8df9 Camelize type of test being generated.
This fixes use for:

`cake bake model ModelName`

When classTypes and directories should be CamelCase.
This solves issue whereby model tests are written directly to Cases folder rather than into Cases/Model

Signed-off-by: mark_story <mark@mark-story.com>
2011-10-23 11:13:56 -04:00
mark_story
72006b9369 Fix options in OptionParser for TestTask
Fix the allowed options for type to allow Camelcase versions as well.
2011-10-23 11:10:52 -04:00
AD7six
53bc963315 Merge branch '2.0' into 2.1 2011-10-20 08:57:49 +02:00
mark_story
f5ae9622e6 Add missing argument.
Without this argument calls with two arguments would be
treated as invalid shell commands.
2011-10-19 22:26:51 -04:00
mark_story
bad819773e Update CommandListShell to give better help.
plugins require plugin prefixes now.  Update the help
to suggest how to run plugin shells.

Fixes #2121
2011-10-19 21:26:31 -04:00
Jose Lorenzo Rodriguez
d666d6175a Improving the upgrade shell by adding more renaming rules and making it more robust in case insensitive systems 2011-10-19 16:46:55 -04:30
AD7six
a538c5d220 Merge branch '2.1' of github.com:cakephp/cakephp into 2.1
Conflicts:
	lib/Cake/Test/Case/Console/Command/TestsuiteShellTest.php
2011-10-18 17:46:00 +02:00