Skip to content
Snippets Groups Projects
Verified Commit fd6018f0 authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3422345 by mondrake, smustgrave: Change...

Issue #3422345 by mondrake, smustgrave: Change DateTest::providerTestFormatDiff and family to static
parent e65cc2e4
No related branches found
No related tags found
30 merge requests!11131[10.4.x-only-DO-NOT-MERGE]: Issue ##2842525 Ajax attached to Views exposed filter form does not trigger callbacks,!9470[10.3.x-only-DO-NOT-MERGE]: #3331771 Fix file_get_contents(): Passing null to parameter,!8540Issue #3457061: Bootstrap Modal dialog Not closing after 10.3.0 Update,!8528Issue #3456871 by Tim Bozeman: Support NULL services,!8373Issue #3427374 by danflanagan8, Vighneshh: taxonomy_tid ViewsArgumentDefault...,!7526Expose roles in response,!7352Draft: Resolve #3203489 "Set filename as",!3878Removed unused condition head title for views,!3818Issue #2140179: $entity->original gets stale between updates,!3742Issue #3328429: Create item list field formatter for displaying ordered and unordered lists,!3731Claro: role=button on status report items,!3668Resolve #3347842 "Deprecate the trusted",!3651Issue #3347736: Create new SDC component for Olivero (header-search),!3531Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!3355Issue #3209129: Scrolling problems when adding a block via layout builder,!3154Fixes #2987987 - CSRF token validation broken on routes with optional parameters.,!3133core/modules/system/css/components/hidden.module.css,!2812Issue #3312049: [Followup] Fix Drupal.Commenting.FunctionComment.MissingReturnType returns for NULL,!2794Issue #3100732: Allow specifying `meta` data on JSON:API objects,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2334Issue #3228209: Add hasRole() method to AccountInterface,!2062Issue #3246454: Add weekly granularity to views date sort,!1105Issue #3025039: New non translatable field on translatable content throws error,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!877Issue #2708101: Default value for link text is not saved,!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493
Pipeline #106447 canceled
...@@ -191,8 +191,8 @@ public function testGetSampleDateFormats() { ...@@ -191,8 +191,8 @@ public function testGetSampleDateFormats() {
*/ */
public function testFormatTimeDiffUntil() { public function testFormatTimeDiffUntil() {
$expected = '1 second'; $expected = '1 second';
$request_time = $this->createTimestamp('2013-12-11 10:09:08'); $request_time = self::createTimestamp('2013-12-11 10:09:08');
$timestamp = $this->createTimestamp('2013-12-11 10:09:09'); $timestamp = self::createTimestamp('2013-12-11 10:09:09');
$options = []; $options = [];
// Mocks the formatDiff function of the DateFormatter object. // Mocks the formatDiff function of the DateFormatter object.
...@@ -224,8 +224,8 @@ public function testFormatTimeDiffUntil() { ...@@ -224,8 +224,8 @@ public function testFormatTimeDiffUntil() {
*/ */
public function testFormatTimeDiffSince() { public function testFormatTimeDiffSince() {
$expected = '1 second'; $expected = '1 second';
$timestamp = $this->createTimestamp('2013-12-11 10:09:07'); $timestamp = self::createTimestamp('2013-12-11 10:09:07');
$request_time = $this->createTimestamp('2013-12-11 10:09:08'); $request_time = self::createTimestamp('2013-12-11 10:09:08');
$options = []; $options = [];
// Mocks the formatDiff function of the DateFormatter object. // Mocks the formatDiff function of the DateFormatter object.
...@@ -257,7 +257,7 @@ public function testFormatTimeDiffSince() { ...@@ -257,7 +257,7 @@ public function testFormatTimeDiffSince() {
* *
* @covers ::formatDiff * @covers ::formatDiff
*/ */
public function testFormatDiff($expected, $max_age, $timestamp1, $timestamp2, $options = []) { public function testFormatDiff(string $expected, int $max_age, int $timestamp1, int $timestamp2, array $options = []): void {
// Mocks a simple translateString implementation. // Mocks a simple translateString implementation.
$this->stringTranslation->expects($this->any()) $this->stringTranslation->expects($this->any())
->method('translateString') ->method('translateString')
...@@ -281,9 +281,9 @@ public function testFormatDiff($expected, $max_age, $timestamp1, $timestamp2, $o ...@@ -281,9 +281,9 @@ public function testFormatDiff($expected, $max_age, $timestamp1, $timestamp2, $o
/** /**
* Data provider for testFormatDiff(). * Data provider for testFormatDiff().
*/ */
public function providerTestFormatDiff() { public static function providerTestFormatDiff(): array {
// This is the fixed request time in the test. // This is the fixed request time in the test.
$request_time = $this->createTimestamp('2013-12-11 10:09:08'); $request_time = self::createTimestamp('2013-12-11 10:09:08');
$granularity_3 = ['granularity' => 3]; $granularity_3 = ['granularity' => 3];
$granularity_4 = ['granularity' => 4]; $granularity_4 = ['granularity' => 4];
...@@ -298,100 +298,100 @@ public function providerTestFormatDiff() { ...@@ -298,100 +298,100 @@ public function providerTestFormatDiff() {
['0 seconds', 0, $request_time, $request_time], ['0 seconds', 0, $request_time, $request_time],
// Checks for seconds only. // Checks for seconds only.
['1 second', 1, $this->createTimestamp('2013-12-11 10:09:07'), $request_time], ['1 second', 1, self::createTimestamp('2013-12-11 10:09:07'), $request_time],
['1 second', 1, $this->createTimestamp('2013-12-11 10:09:07'), $request_time], ['1 second', 1, self::createTimestamp('2013-12-11 10:09:07'), $request_time],
['1 second', 1, $this->createTimestamp('2013-12-11 10:09:07'), $request_time, $granularity_3 + $langcode_en], ['1 second', 1, self::createTimestamp('2013-12-11 10:09:07'), $request_time, $granularity_3 + $langcode_en],
['1 second', 1, $this->createTimestamp('2013-12-11 10:09:07'), $request_time, $granularity_4 + $langcode_lolspeak], ['1 second', 1, self::createTimestamp('2013-12-11 10:09:07'), $request_time, $granularity_4 + $langcode_lolspeak],
['2 seconds', 1, $this->createTimestamp('2013-12-11 10:09:06'), $request_time], ['2 seconds', 1, self::createTimestamp('2013-12-11 10:09:06'), $request_time],
['59 seconds', 1, $this->createTimestamp('2013-12-11 10:08:09'), $request_time], ['59 seconds', 1, self::createTimestamp('2013-12-11 10:08:09'), $request_time],
['59 seconds', 1, $this->createTimestamp('2013-12-11 10:08:09'), $request_time], ['59 seconds', 1, self::createTimestamp('2013-12-11 10:08:09'), $request_time],
// Checks for minutes and possibly seconds. // Checks for minutes and possibly seconds.
['1 minute', 60, $this->createTimestamp('2013-12-11 10:08:08'), $request_time], ['1 minute', 60, self::createTimestamp('2013-12-11 10:08:08'), $request_time],
['1 minute', 60, $this->createTimestamp('2013-12-11 10:08:08'), $request_time], ['1 minute', 60, self::createTimestamp('2013-12-11 10:08:08'), $request_time],
['1 minute 1 second', 1, $this->createTimestamp('2013-12-11 10:08:07'), $request_time], ['1 minute 1 second', 1, self::createTimestamp('2013-12-11 10:08:07'), $request_time],
['1 minute 59 seconds', 1, $this->createTimestamp('2013-12-11 10:07:09'), $request_time], ['1 minute 59 seconds', 1, self::createTimestamp('2013-12-11 10:07:09'), $request_time],
['2 minutes', 60, $this->createTimestamp('2013-12-11 10:07:08'), $request_time], ['2 minutes', 60, self::createTimestamp('2013-12-11 10:07:08'), $request_time],
['2 minutes 1 second', 1, $this->createTimestamp('2013-12-11 10:07:07'), $request_time], ['2 minutes 1 second', 1, self::createTimestamp('2013-12-11 10:07:07'), $request_time],
['2 minutes 2 seconds', 1, $this->createTimestamp('2013-12-11 10:07:06'), $request_time], ['2 minutes 2 seconds', 1, self::createTimestamp('2013-12-11 10:07:06'), $request_time],
['2 minutes 2 seconds', 1, $this->createTimestamp('2013-12-11 10:07:06'), $request_time, $granularity_3], ['2 minutes 2 seconds', 1, self::createTimestamp('2013-12-11 10:07:06'), $request_time, $granularity_3],
['2 minutes 2 seconds', 1, $this->createTimestamp('2013-12-11 10:07:06'), $request_time, $granularity_4], ['2 minutes 2 seconds', 1, self::createTimestamp('2013-12-11 10:07:06'), $request_time, $granularity_4],
['30 minutes', 60, $this->createTimestamp('2013-12-11 09:39:08'), $request_time], ['30 minutes', 60, self::createTimestamp('2013-12-11 09:39:08'), $request_time],
['59 minutes 59 seconds', 1, $this->createTimestamp('2013-12-11 09:09:09'), $request_time], ['59 minutes 59 seconds', 1, self::createTimestamp('2013-12-11 09:09:09'), $request_time],
['59 minutes 59 seconds', 1, $this->createTimestamp('2013-12-11 09:09:09'), $request_time], ['59 minutes 59 seconds', 1, self::createTimestamp('2013-12-11 09:09:09'), $request_time],
// Checks for hours and possibly minutes or seconds. // Checks for hours and possibly minutes or seconds.
['1 hour', 3600, $this->createTimestamp('2013-12-11 09:09:08'), $request_time], ['1 hour', 3600, self::createTimestamp('2013-12-11 09:09:08'), $request_time],
['1 hour', 3600, $this->createTimestamp('2013-12-11 09:09:08'), $request_time], ['1 hour', 3600, self::createTimestamp('2013-12-11 09:09:08'), $request_time],
['1 hour', 3600, $this->createTimestamp('2013-12-11 09:09:07'), $request_time], ['1 hour', 3600, self::createTimestamp('2013-12-11 09:09:07'), $request_time],
['1 hour', 3600, $this->createTimestamp('2013-12-11 09:09:06'), $request_time], ['1 hour', 3600, self::createTimestamp('2013-12-11 09:09:06'), $request_time],
['1 hour 1 minute', 60, $this->createTimestamp('2013-12-11 09:08:08'), $request_time], ['1 hour 1 minute', 60, self::createTimestamp('2013-12-11 09:08:08'), $request_time],
['1 hour 1 minute 1 second', 1, $this->createTimestamp('2013-12-11 09:08:07'), $request_time, $granularity_3], ['1 hour 1 minute 1 second', 1, self::createTimestamp('2013-12-11 09:08:07'), $request_time, $granularity_3],
['1 hour 1 minute 2 seconds', 1, $this->createTimestamp('2013-12-11 09:08:06'), $request_time, $granularity_4], ['1 hour 1 minute 2 seconds', 1, self::createTimestamp('2013-12-11 09:08:06'), $request_time, $granularity_4],
['1 hour 30 minutes', 60, $this->createTimestamp('2013-12-11 08:39:08'), $request_time], ['1 hour 30 minutes', 60, self::createTimestamp('2013-12-11 08:39:08'), $request_time],
['2 hours', 3600, $this->createTimestamp('2013-12-11 08:09:08'), $request_time], ['2 hours', 3600, self::createTimestamp('2013-12-11 08:09:08'), $request_time],
['23 hours 59 minutes', 60, $this->createTimestamp('2013-12-10 10:10:08'), $request_time], ['23 hours 59 minutes', 60, self::createTimestamp('2013-12-10 10:10:08'), $request_time],
// Checks for days and possibly hours, minutes or seconds. // Checks for days and possibly hours, minutes or seconds.
['1 day', 86400, $this->createTimestamp('2013-12-10 10:09:08'), $request_time], ['1 day', 86400, self::createTimestamp('2013-12-10 10:09:08'), $request_time],
['1 day', 86400, $this->createTimestamp('2013-12-10 10:09:07'), $request_time], ['1 day', 86400, self::createTimestamp('2013-12-10 10:09:07'), $request_time],
['1 day 1 hour', 3600, $this->createTimestamp('2013-12-10 09:09:08'), $request_time], ['1 day 1 hour', 3600, self::createTimestamp('2013-12-10 09:09:08'), $request_time],
['1 day 1 hour 1 minute', 60, $this->createTimestamp('2013-12-10 09:08:07'), $request_time, $granularity_3 + $langcode_en], ['1 day 1 hour 1 minute', 60, self::createTimestamp('2013-12-10 09:08:07'), $request_time, $granularity_3 + $langcode_en],
['1 day 1 hour 1 minute 1 second', 1, $this->createTimestamp('2013-12-10 09:08:07'), $request_time, $granularity_4 + $langcode_lolspeak], ['1 day 1 hour 1 minute 1 second', 1, self::createTimestamp('2013-12-10 09:08:07'), $request_time, $granularity_4 + $langcode_lolspeak],
['1 day 2 hours 2 minutes 2 seconds', 1, $this->createTimestamp('2013-12-10 08:07:06'), $request_time, $granularity_4], ['1 day 2 hours 2 minutes 2 seconds', 1, self::createTimestamp('2013-12-10 08:07:06'), $request_time, $granularity_4],
['2 days', 86400, $this->createTimestamp('2013-12-09 10:09:08'), $request_time], ['2 days', 86400, self::createTimestamp('2013-12-09 10:09:08'), $request_time],
['2 days', 86400, $this->createTimestamp('2013-12-09 10:07:08'), $request_time], ['2 days', 86400, self::createTimestamp('2013-12-09 10:07:08'), $request_time],
['2 days 2 hours', 3600, $this->createTimestamp('2013-12-09 08:09:08'), $request_time], ['2 days 2 hours', 3600, self::createTimestamp('2013-12-09 08:09:08'), $request_time],
['2 days 2 hours 2 minutes', 60, $this->createTimestamp('2013-12-09 08:07:06'), $request_time, $granularity_3 + $langcode_en], ['2 days 2 hours 2 minutes', 60, self::createTimestamp('2013-12-09 08:07:06'), $request_time, $granularity_3 + $langcode_en],
['2 days 2 hours 2 minutes 2 seconds', 1, $this->createTimestamp('2013-12-09 08:07:06'), $request_time, $granularity_4 + $langcode_lolspeak], ['2 days 2 hours 2 minutes 2 seconds', 1, self::createTimestamp('2013-12-09 08:07:06'), $request_time, $granularity_4 + $langcode_lolspeak],
// Checks for weeks and possibly days, hours, minutes or seconds. // Checks for weeks and possibly days, hours, minutes or seconds.
['1 week', 7 * 86400, $this->createTimestamp('2013-12-04 10:09:08'), $request_time], ['1 week', 7 * 86400, self::createTimestamp('2013-12-04 10:09:08'), $request_time],
['1 week 1 day', 86400, $this->createTimestamp('2013-12-03 10:09:08'), $request_time], ['1 week 1 day', 86400, self::createTimestamp('2013-12-03 10:09:08'), $request_time],
['2 weeks', 7 * 86400, $this->createTimestamp('2013-11-27 10:09:08'), $request_time], ['2 weeks', 7 * 86400, self::createTimestamp('2013-11-27 10:09:08'), $request_time],
['2 weeks 2 days', 86400, $this->createTimestamp('2013-11-25 08:07:08'), $request_time], ['2 weeks 2 days', 86400, self::createTimestamp('2013-11-25 08:07:08'), $request_time],
['2 weeks 2 days 2 hours 2 minutes', 60, $this->createTimestamp('2013-11-25 08:07:08'), $request_time, $granularity_4], ['2 weeks 2 days 2 hours 2 minutes', 60, self::createTimestamp('2013-11-25 08:07:08'), $request_time, $granularity_4],
['4 weeks', 7 * 86400, $this->createTimestamp('2013-11-13 10:09:08'), $request_time], ['4 weeks', 7 * 86400, self::createTimestamp('2013-11-13 10:09:08'), $request_time],
['4 weeks 1 day', 86400, $this->createTimestamp('2013-11-12 10:09:08'), $request_time], ['4 weeks 1 day', 86400, self::createTimestamp('2013-11-12 10:09:08'), $request_time],
// Checks for months and possibly days, hours, minutes or seconds. // Checks for months and possibly days, hours, minutes or seconds.
['1 month', 30 * 86400, $this->createTimestamp('2013-11-11 10:09:08'), $request_time], ['1 month', 30 * 86400, self::createTimestamp('2013-11-11 10:09:08'), $request_time],
['1 month', 30 * 86400, $this->createTimestamp('2013-11-11 10:09:07'), $request_time], ['1 month', 30 * 86400, self::createTimestamp('2013-11-11 10:09:07'), $request_time],
['1 month', 30 * 86400, $this->createTimestamp('2013-11-11 09:09:08'), $request_time], ['1 month', 30 * 86400, self::createTimestamp('2013-11-11 09:09:08'), $request_time],
['1 month', 30 * 86400, $this->createTimestamp('2013-11-11 09:08:07'), $request_time, $granularity_3], ['1 month', 30 * 86400, self::createTimestamp('2013-11-11 09:08:07'), $request_time, $granularity_3],
['1 month', 30 * 86400, $this->createTimestamp('2013-11-11 09:08:07'), $request_time, $granularity_4], ['1 month', 30 * 86400, self::createTimestamp('2013-11-11 09:08:07'), $request_time, $granularity_4],
['1 month 4 weeks', 7 * 86400, $this->createTimestamp('2013-10-13 10:09:08'), $request_time], ['1 month 4 weeks', 7 * 86400, self::createTimestamp('2013-10-13 10:09:08'), $request_time],
['1 month 4 weeks 1 day', 86400, $this->createTimestamp('2013-10-13 10:09:08'), $request_time, $granularity_3], ['1 month 4 weeks 1 day', 86400, self::createTimestamp('2013-10-13 10:09:08'), $request_time, $granularity_3],
['1 month 4 weeks', 7 * 86400, $this->createTimestamp('2013-10-12 10:09:08'), $request_time], ['1 month 4 weeks', 7 * 86400, self::createTimestamp('2013-10-12 10:09:08'), $request_time],
['1 month 4 weeks 2 days', 86400, $this->createTimestamp('2013-10-12 10:09:08'), $request_time, $granularity_3], ['1 month 4 weeks 2 days', 86400, self::createTimestamp('2013-10-12 10:09:08'), $request_time, $granularity_3],
['2 months', 30 * 86400, $this->createTimestamp('2013-10-11 10:09:08'), $request_time], ['2 months', 30 * 86400, self::createTimestamp('2013-10-11 10:09:08'), $request_time],
['2 months', 30 * 86400, $this->createTimestamp('2013-10-10 10:09:08'), $request_time], ['2 months', 30 * 86400, self::createTimestamp('2013-10-10 10:09:08'), $request_time],
['2 months', 30 * 86400, $this->createTimestamp('2013-10-09 08:07:06'), $request_time], ['2 months', 30 * 86400, self::createTimestamp('2013-10-09 08:07:06'), $request_time],
['2 months', 30 * 86400, $this->createTimestamp('2013-10-09 08:07:06'), $request_time, $granularity_3], ['2 months', 30 * 86400, self::createTimestamp('2013-10-09 08:07:06'), $request_time, $granularity_3],
['2 months', 30 * 86400, $this->createTimestamp('2013-10-09 08:07:06'), $request_time, $granularity_4], ['2 months', 30 * 86400, self::createTimestamp('2013-10-09 08:07:06'), $request_time, $granularity_4],
['6 months', 30 * 86400, $this->createTimestamp('2013-06-09 10:09:08'), $request_time], ['6 months', 30 * 86400, self::createTimestamp('2013-06-09 10:09:08'), $request_time],
['11 months', 30 * 86400, $this->createTimestamp('2013-01-11 07:09:08'), $request_time], ['11 months', 30 * 86400, self::createTimestamp('2013-01-11 07:09:08'), $request_time],
['11 months 4 weeks', 7 * 86400, $this->createTimestamp('2012-12-12 10:09:08'), $request_time], ['11 months 4 weeks', 7 * 86400, self::createTimestamp('2012-12-12 10:09:08'), $request_time],
['11 months 4 weeks 2 days', 86400, $this->createTimestamp('2012-12-12 10:09:08'), $request_time, $granularity_3], ['11 months 4 weeks 2 days', 86400, self::createTimestamp('2012-12-12 10:09:08'), $request_time, $granularity_3],
// Checks for years and possibly months, days, hours, minutes or seconds. // Checks for years and possibly months, days, hours, minutes or seconds.
['1 year', 365 * 86400, $this->createTimestamp('2012-12-11 10:09:08'), $request_time], ['1 year', 365 * 86400, self::createTimestamp('2012-12-11 10:09:08'), $request_time],
['1 year', 365 * 86400, $this->createTimestamp('2012-12-11 10:08:08'), $request_time], ['1 year', 365 * 86400, self::createTimestamp('2012-12-11 10:08:08'), $request_time],
['1 year', 365 * 86400, $this->createTimestamp('2012-12-10 10:09:08'), $request_time], ['1 year', 365 * 86400, self::createTimestamp('2012-12-10 10:09:08'), $request_time],
['2 years', 365 * 86400, $this->createTimestamp('2011-12-11 10:09:08'), $request_time], ['2 years', 365 * 86400, self::createTimestamp('2011-12-11 10:09:08'), $request_time],
['2 years', 365 * 86400, $this->createTimestamp('2011-12-11 10:07:08'), $request_time], ['2 years', 365 * 86400, self::createTimestamp('2011-12-11 10:07:08'), $request_time],
['2 years', 365 * 86400, $this->createTimestamp('2011-12-09 10:09:08'), $request_time], ['2 years', 365 * 86400, self::createTimestamp('2011-12-09 10:09:08'), $request_time],
['2 years 2 months', 30 * 86400, $this->createTimestamp('2011-10-09 08:07:06'), $request_time, $granularity_3], ['2 years 2 months', 30 * 86400, self::createTimestamp('2011-10-09 08:07:06'), $request_time, $granularity_3],
['2 years 2 months', 30 * 86400, $this->createTimestamp('2011-10-09 08:07:06'), $request_time, $granularity_4], ['2 years 2 months', 30 * 86400, self::createTimestamp('2011-10-09 08:07:06'), $request_time, $granularity_4],
['10 years', 365 * 86400, $this->createTimestamp('2003-12-11 10:09:08'), $request_time], ['10 years', 365 * 86400, self::createTimestamp('2003-12-11 10:09:08'), $request_time],
['100 years', 365 * 86400, $this->createTimestamp('1913-12-11 10:09:08'), $request_time], ['100 years', 365 * 86400, self::createTimestamp('1913-12-11 10:09:08'), $request_time],
// Checks the non-strict option vs. strict (default). // Checks the non-strict option vs. strict (default).
['1 second', 1, $this->createTimestamp('2013-12-11 10:09:08'), $this->createTimestamp('2013-12-11 10:09:07'), $non_strict], ['1 second', 1, self::createTimestamp('2013-12-11 10:09:08'), self::createTimestamp('2013-12-11 10:09:07'), $non_strict],
['0 seconds', 0, $this->createTimestamp('2013-12-11 10:09:08'), $this->createTimestamp('2013-12-11 10:09:07')], ['0 seconds', 0, self::createTimestamp('2013-12-11 10:09:08'), self::createTimestamp('2013-12-11 10:09:07')],
// Checks granularity limit. // Checks granularity limit.
['2 years 3 months 1 week', 7 * 86400, $this->createTimestamp('2011-08-30 11:15:57'), $request_time, $granularity_3], ['2 years 3 months 1 week', 7 * 86400, self::createTimestamp('2011-08-30 11:15:57'), $request_time, $granularity_3],
]; ];
return $data; return $data;
...@@ -455,7 +455,7 @@ public function testRfc2822DateFormat(): void { ...@@ -455,7 +455,7 @@ public function testRfc2822DateFormat(): void {
* @return int * @return int
* The UNIX timestamp. * The UNIX timestamp.
*/ */
private function createTimestamp($dateTimeString) { private static function createTimestamp(string $dateTimeString): int {
return \DateTime::createFromFormat('Y-m-d G:i:s', $dateTimeString)->getTimestamp(); return \DateTime::createFromFormat('Y-m-d G:i:s', $dateTimeString)->getTimestamp();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment