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());
+ }
+}