You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2021/11/23 03:18:42 UTC

[groovy] branch master updated: ExtensionModuleTest: add test for comparing LocalDateTime and LocalDate

This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new 3932cf6  ExtensionModuleTest: add test for comparing LocalDateTime and LocalDate
     new 462c848  Merge pull request #1654 from greendatasoft/compareTo-extension-test/master
3932cf6 is described below

commit 3932cf682a5e790a2aac9326af181eb3c909fd12
Author: sszuev <ss...@gmail.com>
AuthorDate: Fri Nov 19 16:49:34 2021 +0300

    ExtensionModuleTest: add test for comparing LocalDateTime and LocalDate
---
 .../groovy/org.codehaus.groovy.runtime.ExtensionModule    |  2 +-
 .../groovy/runtime/m12n/ExtensionModuleTest.groovy        | 15 +++++++++++++++
 .../groovy/runtime/m12n/TestLocalDateTimeExtension.java   | 12 ++++++++++++
 3 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/test-resources/META-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule b/src/test-resources/META-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule
index d929830..4272f3f 100644
--- a/src/test-resources/META-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule
+++ b/src/test-resources/META-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule
@@ -21,5 +21,5 @@
 // TODO remove dup with src/spec/test-resources/META-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule
 moduleName=Test module
 moduleVersion=1.0-test
-extensionClasses=support.MaxRetriesExtension,org.codehaus.groovy.runtime.m12n.TestStringExtension,org.codehaus.groovy.runtime.m12n.Groovy6496Extension,org.codehaus.groovy.runtime.m12n.TestPrimitiveWrapperExtension
+extensionClasses=support.MaxRetriesExtension,org.codehaus.groovy.runtime.m12n.TestStringExtension,org.codehaus.groovy.runtime.m12n.Groovy6496Extension,org.codehaus.groovy.runtime.m12n.TestPrimitiveWrapperExtension,org.codehaus.groovy.runtime.m12n.TestLocalDateTimeExtension
 staticExtensionClasses=support.StaticStringExtension,org.codehaus.groovy.runtime.m12n.TestStaticStringExtension
diff --git a/src/test/org/codehaus/groovy/runtime/m12n/ExtensionModuleTest.groovy b/src/test/org/codehaus/groovy/runtime/m12n/ExtensionModuleTest.groovy
index 69a11cb..3f9c7ea 100644
--- a/src/test/org/codehaus/groovy/runtime/m12n/ExtensionModuleTest.groovy
+++ b/src/test/org/codehaus/groovy/runtime/m12n/ExtensionModuleTest.groovy
@@ -116,4 +116,19 @@ class ExtensionModuleTest extends GroovyTestCase {
             """
         '''
     }
+
+    /**
+     * Just to make sure the custom override of {@code #compareTo} is possible and works.
+     * @see TestLocalDateTimeExtension
+     */
+    void testOverrideLocalDateTimeCompareTo() {
+        ExtensionModuleHelperForTests.doInFork '''
+            def d1 = java.time.LocalDateTime.now()
+            def d2 = java.time.LocalDate.now().plusDays(42)
+            def d3 = java.time.LocalDate.now().minusDays(42)
+            
+            assert d1 < d2
+            assert d1 > d3
+        '''
+    }
 }
diff --git a/src/test/org/codehaus/groovy/runtime/m12n/TestLocalDateTimeExtension.java b/src/test/org/codehaus/groovy/runtime/m12n/TestLocalDateTimeExtension.java
new file mode 100644
index 0000000..fe3567f
--- /dev/null
+++ b/src/test/org/codehaus/groovy/runtime/m12n/TestLocalDateTimeExtension.java
@@ -0,0 +1,12 @@
+package org.codehaus.groovy.runtime.m12n;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@SuppressWarnings("unused")
+public class TestLocalDateTimeExtension {
+
+    public static int compareTo(LocalDateTime self, LocalDate other) {
+        return self.compareTo(other.atStartOfDay());
+    }
+}