The 262 EAP refactored ide-starter (commit aa3d516047 in
intellij-community, "AT-2967 Compile time dependency on dedicated
IDE info"): IdeProductProvider was removed, and per-IDE info now
lives in dedicated modules accessed via IdeInfo.Companion.IdeaUltimate.
Constructing IdeInfo directly is the only form that compiles on
both 261 (default ideaVersion=2026.1) and 262 (LATEST-EAP-SNAPSHOT),
since the IdeInfo data-class signature is unchanged across the
refactor. Values mirror DefaultIdeaUltimate from the new
intellij.tools.ide.starter.product.idea.ultimate module.
This unblocks :tests:split-mode-tests:compileTestKotlin on the
Latest EAP TeamCity build, which was failing with "Unresolved
reference 'IdeProductProvider'".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The latest IntelliJ EAP ships module-descriptors.xml with new
namespace and visibility attributes (e.g. namespace="jetbrains",
namespace="$legacy_jps_library") that 2.11.0's strict xmlutil
deserializer rejects with UnknownXmlFieldException, blocking
:intellijPlatformTestClasspath resolution and preventing :test
from being scheduled at all on the Latest EAP TeamCity build.
2.12 accepted namespace/visibility, 2.15 introduced a tolerant
parser for the 262.* IDE format, 2.16 added $legacy_jps_module
namespace handling. The positional 3-arg create(type, version,
Boolean) overload was dropped in 2.15, so property-tests is
switched to the lambda form already used by every other module.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Implements g; and g, to walk through the per-buffer change list, mirroring Neovim's b_changelist semantics. The list is fed by the backend's RecentPlacesListener over an RPC topic (the same pattern as the existing jump service), so it works in both monolith and split mode.
normally space is added by rider/clion backend which we cannot directlly execute as it is not running on JVM. Workaround is to specify space flag for comment handler
in split mode/clion/ rider, after the comment action runs on rpc, it happens after removing selection. To fix that, we execute handler directly in synchronous way
Formatting was broken in split mode and also in monolith mode cursor position restoring didn't match vim actual behaviour. refactored it to work in same way as commenting works
Wait for "Action id copied" confirmation notification after clicking
"Copy Action Id". This ensures the clipboard was actually updated before
proceeding to paste, fixing the race condition where the test would
paste stale clipboard data.
The old wait for "Stop Tracking" was unreliable because that button
exists in both the old and new notifications during the transition.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
UI tests were being skipped due to Gradle build cache restoring
previous results. This defeats the purpose of stability testing.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace Thread.sleep() with proper waitFor() conditions and explicitly
dismiss notifications to prevent test timeouts.
The testTrackActionId test was failing because the IdeaVim notification
balloon remained visible after clicking "Stop Tracking", causing a 5-second
timeout when waiting for "Copy Action Id" text to disappear.
Changes:
- Replace Thread.sleep(1000) after clicking "Copy Action Id" with waitFor
condition that checks for "Stop Tracking" button to appear
- Remove Thread.sleep(1000) after clicking "Stop Tracking"
- Add explicit notification dismissal using Escape key
- Increase timeout for final waitFor to 3 seconds to allow dismissal
This follows the cause-effect principle for UI tests by waiting for
specific UI conditions rather than arbitrary timeouts.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
PyCharm now opens with a project directly instead of showing the Welcome Frame. Removed the project creation logic and unused imports.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The RiderUiTest was failing because it didn't handle the .NET SDK
installation dialog that appears when creating a new Rider project
in a fresh environment.
Root cause:
- When the "New Solution" dialog opens, Rider detects that no .NET SDK
is installed and shows an "Install" button
- The "Create" button remains disabled until the SDK is installed
- The test was trying to click the disabled "Create" button, which
failed silently, leaving the dialog open
- The test then timed out waiting for the main IDE frame to appear
Changes:
1. Added SDK installation handling in startNewProject():
- Detects and clicks the "Install" button if present
- Waits 10 seconds for SDK installation to complete
- Waits additional 2 seconds before clicking Create
2. Made license frame handling optional:
- Wrapped manageLicensesFrame in try-catch
- Prevents failure if license is already activated
3. Increased timeouts for project creation:
- Extended IDE frame lookup timeout from 10s to 60s
- Added 5-second wait after clicking Create button
- These changes accommodate the time needed for project creation
Test results:
- Test now passes successfully (100% pass rate)
- Duration: ~1 minute (previously timed out at ~20 seconds)
- All test assertions pass
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The test was failing because both the "Activation code" radio button
and the text input field share the same accessiblename attribute.
The XPath selector "//div[@accessiblename='Activation code']" was
matching both elements, causing the test to fail when trying to set
text on the first match (the radio button, which is not a JTextComponent).
Solution: Add a classhierarchy filter to the XPath to ensure we only
match the text input field component (JTextComponent), not the radio button.
This fix makes the selector more specific and prevents the ambiguity
that was causing the test failure.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>