-
Notifications
You must be signed in to change notification settings - Fork 162
Expand file tree
/
Copy pathjava-extension-pack.yaml
More file actions
89 lines (78 loc) · 3.68 KB
/
Copy pathjava-extension-pack.yaml
File metadata and controls
89 lines (78 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Test Plan: Java Extension Pack — Classpath Configuration (from vscode-java-pack.wiki)
#
# Source: wiki Test-Plan.md "Java Extension Pack" scenario
# Verify: Trigger Java: Configure Classpath command → configuration page appears;
# add a project-local JAR to a non-unmanaged project and apply it.
#
# Prerequisites:
# - vscode-java repo is cloned locally
# - JDK is installed and available
#
# Usage: autotest run test-plans/java-extension-pack.yaml
name: "Java Extension Pack — Classpath Configuration"
description: |
Corresponds to the Java Extension Pack scenario in the wiki Test Plan:
Trigger the Java: Configure Classpath command, verify the configuration page
appears, and cover the non-unmanaged-project Add Library flow.
setup:
extension: "redhat.java"
extensions:
- "vscjava.vscode-java-pack"
vscodeVersion: "stable"
workspace: "../../vscode-java/test/resources/projects/eclipse/simple-app"
timeout: 90
steps:
# ── Wait for LS ready ────────────────────────────────────
- id: "ls-ready"
action: "waitForLanguageServer"
verify: "Java workspace has loaded; Explorer shows the project tree and Problems panel is settled"
# waitForLanguageServer is the authoritative deterministic check —
# status-bar background indexing can cause spurious LLM downgrades.
skipLlmVerify: true
timeout: 120
- id: "create-project-local-jar"
action: "insertLineInFile lib/autotest-lib.jar 1 autotest placeholder jar"
verify: "A project-local JAR placeholder exists for the mocked Add Library file picker"
verifyFile:
path: "~/lib/autotest-lib.jar"
exists: true
skipLlmVerify: true
# ── Trigger Classpath configuration command ──────────────
# wiki: "Trigger the command 'Java: Configure Classpath'"
# The classpath webview lazy-loads. Use a lenient verify on the command
# step (frame may still be initializing) and a stricter one on the
# subsequent 5s wait step (when rendering is complete).
- id: "configure-classpath"
action: "run command Java: Configure Classpath"
verify: "Project Settings / Classpath Configuration tab is being opened in the editor area (webview frame may still be initializing)"
- id: "verify-page"
action: "wait 5 seconds"
verify: "Project Settings webview displays the Classpath Configuration UI (sections such as JDK, libraries, sources)"
verifyWebview:
contains:
- "Classpath"
- "Libraries"
- id: "open-libraries-tab"
action: "clickInWebview text=Libraries"
verify: "The Libraries tab is selected and shows library management actions"
verifyWebview:
contains: "Add Library..."
- id: "add-project-local-library"
action: "clickInWebview text=Add Library..."
verify: "The file picker opens for selecting a JAR"
- id: "select-project-local-library"
action: "fillQuickInput ${workspaceFolder}/lib/autotest-lib.jar"
verify: "The project-local JAR is selected and added to the Libraries list"
verifyWebview:
contains: "autotest-lib.jar"
- id: "apply-library-change"
action: "clickInWebview text=Apply Settings"
verify: "Apply Settings is clicked; the persisted .classpath update is verified by the next deterministic file assertion"
skipLlmVerify: true
- id: "verify-library-applied"
action: "wait 5 seconds"
verify: "The Eclipse .classpath contains the added library entry, proving the Project Settings UI sent a valid absolute library path to JDT LS instead of failing with a relative-path classpath error"
verifyFile:
path: "~/.classpath"
contains: "autotest-lib.jar"
skipLlmVerify: true