diff --git a/LICENSE b/LICENSE
index b11a0d21..555429e5 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2025 Mitja Leino
+Copyright (c) 2026 Mitja Leino
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/build.gradle.kts b/build.gradle.kts
index 6403475e..729869dd 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,7 +1,7 @@
/*
* MIT License
*
- * Copyright (c) 2025 Mitja Leino
+ * Copyright (c) 2026 Mitja Leino
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
// Use the same version and group for the jar and the plugin
-val currentVersion = "2.4.1"
+val currentVersion = "2.4.2"
val myGroup = "com.mituuz"
version = currentVersion
group = myGroup
@@ -39,6 +39,12 @@ intellijPlatform {
changeNotes = """
Version $currentVersion
+
+ -
+ Update dependencies
+
+
+ Version 2.4.1
-
Add list rollover support
diff --git a/changelog.md b/changelog.md
index 981b9373..97040182 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
# Changelog
+## Version 2.4.2
+
+- Update dependencies
+
## Version 2.4.1
- Add list rollover support
@@ -321,5 +325,5 @@ nmap sB (com.mituuz.fuzzier.grep.FuzzyGrepCurrentBuffer)
## Earlier Versions
- Prior to version 0.19.0, numerous features and improvements were made, laying the foundation for the current version.
- This includes initial development, various enhancements, and bug fixes. For detailed history,
- please refer to commit logs or release notes.
+ This includes initial development, various enhancements, and bug fixes. For detailed history, please refer to commit
+ logs or release notes.
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 6ff4697d..3e51876c 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -1,11 +1,11 @@
[versions]
-junit5 = "6.0.3"
+junit5 = "6.1.2"
junit4 = "4.13.2"
-kotlin = "2.3.21"
-intellijPlatform = "2.15.0"
-kover = "0.9.8"
-communityVersion = "2025.1"
-mockk = "1.14.9"
+mockk = "1.14.11"
+
+kotlin = "2.4.10"
+intellijPlatform = "2.18.1"
+kover = "0.9.9"
[libraries]
junit5Api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit5" }
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 37f78a6a..a351597e 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/src/test/kotlin/com/mituuz/fuzzier/ui/popup/AutoSizePopupProviderTest.kt b/src/test/kotlin/com/mituuz/fuzzier/ui/popup/AutoSizePopupProviderTest.kt
index 38faa2bb..c095c54d 100644
--- a/src/test/kotlin/com/mituuz/fuzzier/ui/popup/AutoSizePopupProviderTest.kt
+++ b/src/test/kotlin/com/mituuz/fuzzier/ui/popup/AutoSizePopupProviderTest.kt
@@ -1,7 +1,7 @@
/*
* MIT License
*
- * Copyright (c) 2025 Mitja Leino
+ * Copyright (c) 2026 Mitja Leino
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -26,13 +26,14 @@ package com.mituuz.fuzzier.ui.popup
import com.intellij.openapi.ui.popup.LightweightWindow
import com.intellij.openapi.ui.popup.LightweightWindowEvent
import com.intellij.testFramework.TestApplicationManager
-import com.intellij.testFramework.fixtures.CodeInsightTestFixture
import com.intellij.testFramework.fixtures.IdeaProjectTestFixture
import com.intellij.testFramework.fixtures.IdeaTestFixtureFactory
+import com.intellij.testFramework.runInEdtAndWait
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNull
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.assertNotNull
import java.awt.Dimension
import javax.swing.JLabel
import javax.swing.JPanel
@@ -42,7 +43,6 @@ class AutoSizePopupProviderTest {
private var testApplicationManager: TestApplicationManager = TestApplicationManager.getInstance()
private lateinit var fixture: IdeaProjectTestFixture
- private lateinit var codeFixture: CodeInsightTestFixture
private lateinit var provider: AutoSizePopupProvider
@@ -54,29 +54,32 @@ class AutoSizePopupProviderTest {
@Test
fun `show returns null and exits when no IDE frame is available`() {
- val factory = IdeaTestFixtureFactory.getFixtureFactory()
- fixture = factory.createLightFixtureBuilder(null, "Test").fixture
- codeFixture = IdeaTestFixtureFactory.getFixtureFactory().createCodeInsightFixture(fixture)
- codeFixture.setUp()
- val project = fixture.project
- val content = JPanel()
- val focus = JLabel("focus")
- var cleared = false
- val cfg = PopupConfig(
- title = "Test",
- dimensionKey = "fuzzier.test",
- preferredSizeProvider = Dimension(800, 600),
- resetWindow = { true },
- clearResetWindowFlag = { cleared = true }
- )
+ runInEdtAndWait {
+ val factory = IdeaTestFixtureFactory.getFixtureFactory()
+ fixture = factory.createLightFixtureBuilder(null, "Test").fixture
+ fixture.setUp()
- try {
- val popup = provider.show(project, content, focus, cfg) { /* cleanup */ }
- assertNull(popup)
- // No side-effects should occur since we exit early before using DimensionService
- assertEquals(false, cleared)
- } finally {
- codeFixture.tearDown()
+ val project = fixture.project
+ val content = JPanel()
+ val focus = JLabel("focus")
+ var cleared = false
+ val cfg = PopupConfig(
+ title = "Test",
+ dimensionKey = "fuzzier.test",
+ preferredSizeProvider = Dimension(800, 600),
+ resetWindow = { true },
+ clearResetWindowFlag = { cleared = true })
+
+ assertNotNull(project, "Project should not be null")
+
+ try {
+ val popup = provider.show(project, content, focus, cfg) { /* cleanup */ }
+ assertNull(popup)
+ // No side-effects should occur since we exit early before using DimensionService
+ assertEquals(false, cleared)
+ } finally {
+ fixture.tearDown()
+ }
}
}
diff --git a/src/test/kotlin/com/mituuz/fuzzier/ui/popup/DefaultPopupProviderTest.kt b/src/test/kotlin/com/mituuz/fuzzier/ui/popup/DefaultPopupProviderTest.kt
index e3b042f4..871bcdbb 100644
--- a/src/test/kotlin/com/mituuz/fuzzier/ui/popup/DefaultPopupProviderTest.kt
+++ b/src/test/kotlin/com/mituuz/fuzzier/ui/popup/DefaultPopupProviderTest.kt
@@ -1,7 +1,7 @@
/*
* MIT License
*
- * Copyright (c) 2025 Mitja Leino
+ * Copyright (c) 2026 Mitja Leino
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -27,13 +27,14 @@ package com.mituuz.fuzzier.ui.popup
import com.intellij.openapi.ui.popup.LightweightWindow
import com.intellij.openapi.ui.popup.LightweightWindowEvent
import com.intellij.testFramework.TestApplicationManager
-import com.intellij.testFramework.fixtures.CodeInsightTestFixture
import com.intellij.testFramework.fixtures.IdeaProjectTestFixture
import com.intellij.testFramework.fixtures.IdeaTestFixtureFactory
+import com.intellij.testFramework.runInEdtAndWait
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNull
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
+import org.junit.jupiter.api.assertNotNull
import java.awt.Dimension
import javax.swing.JLabel
import javax.swing.JPanel
@@ -44,7 +45,6 @@ class DefaultPopupProviderTest {
private lateinit var provider: DefaultPopupProvider
private lateinit var fixture: IdeaProjectTestFixture
- private lateinit var codeFixture: CodeInsightTestFixture
@BeforeEach
fun setUp() {
@@ -54,30 +54,33 @@ class DefaultPopupProviderTest {
@Test
fun `show returns null and exits when no IDE frame is available`() {
// Set up a lightweight project fixture to get a Project instance
- val factory = IdeaTestFixtureFactory.getFixtureFactory()
- fixture = factory.createLightFixtureBuilder(null, "Test").fixture
- codeFixture = IdeaTestFixtureFactory.getFixtureFactory().createCodeInsightFixture(fixture)
- codeFixture.setUp()
- val project = fixture.project
- val content = JPanel()
- val focus = JLabel("focus")
- var cleared = false
- val cfg = PopupConfig(
- title = "Test",
- dimensionKey = "fuzzier.test",
- preferredSizeProvider = Dimension(800, 600),
- resetWindow = { true },
- clearResetWindowFlag = { cleared = true }
- )
+ runInEdtAndWait {
+ val factory = IdeaTestFixtureFactory.getFixtureFactory()
+ fixture = factory.createLightFixtureBuilder(null, "Test").fixture
+ fixture.setUp()
- try {
- val popup = provider.show(project, content, focus, cfg) { /* cleanup */ }
- // Should return null and not throw
- assertNull(popup)
- // Since we exit early due to missing IDE frame, ensure no side-effects were triggered
- assertEquals(false, cleared)
- } finally {
- codeFixture.tearDown()
+ val project = fixture.project
+ val content = JPanel()
+ val focus = JLabel("focus")
+ var cleared = false
+ val cfg = PopupConfig(
+ title = "Test",
+ dimensionKey = "fuzzier.test",
+ preferredSizeProvider = Dimension(800, 600),
+ resetWindow = { true },
+ clearResetWindowFlag = { cleared = true })
+
+ assertNotNull(project, "Project should not be null")
+
+ try {
+ val popup = provider.show(project, content, focus, cfg) { /* cleanup */ }
+ // Should return null and not throw
+ assertNull(popup)
+ // Since we exit early due to missing IDE frame, ensure no side-effects were triggered
+ assertEquals(false, cleared)
+ } finally {
+ fixture.tearDown()
+ }
}
}