feat(plugins,host): pluginRoot officiel transmis au contexte activate(ctx) des plugins — #285 (domain ports + infrastructure plugin: racine du package installé résolue depuis la même source de vérité que la substitution manifest ${pluginRoot}; application runtime_catalog + slash_command; backend dto + app-tauri dto_plugins; frontend domain + plugins runtime loader transmettent pluginRoot au contexte activé; bump pointeur IdeaSDK e3a0f46 via feature/285-plugin-root-runtime-api; QA verte: cargo check domain/application/infrastructure/backend/app-tauri, runtime_catalog 5/5, plugin_install_load 5/5, dto_plugins 2/2, frontend typecheck + 33 tests/3 fichiers, cargo fmt --check, git diff --check; réserves: rebuild AppImage + validation live ctx.pluginRoot dans le binaire actif restants)
This commit is contained in:
@ -134,6 +134,13 @@ async fn installs_reference_fixture_and_loads_runtime_catalog() {
|
||||
assert!(plugin
|
||||
.bundle_url
|
||||
.starts_with("idea-plugin://dev.idea.fixtures.reference-minimal/0.1.0/"));
|
||||
assert_eq!(
|
||||
PathBuf::from(&plugin.plugin_root),
|
||||
app_data
|
||||
.join("plugins/installed/dev.idea.fixtures.reference-minimal")
|
||||
.canonicalize()
|
||||
.unwrap()
|
||||
);
|
||||
assert_eq!(plugin.contributes.menus.len(), 1);
|
||||
assert_eq!(plugin.contributes.menu_items.len(), 1);
|
||||
|
||||
@ -183,6 +190,13 @@ async fn installs_sdk_hello_plugin_and_loads_runtime_catalog() {
|
||||
.bundle_url
|
||||
.starts_with("idea-plugin://com.example.hello-plugin/0.1.0/"));
|
||||
assert!(plugin.bundle_url.ends_with("/dist/index.js"));
|
||||
assert_eq!(
|
||||
PathBuf::from(&plugin.plugin_root),
|
||||
app_data
|
||||
.join("plugins/installed/com.example.hello-plugin")
|
||||
.canonicalize()
|
||||
.unwrap()
|
||||
);
|
||||
assert_eq!(plugin.contributes.menus[0].id, "hello-plugin.menu");
|
||||
assert_eq!(plugin.contributes.menus[0].label.as_str(), "Hello Plugin");
|
||||
assert_eq!(
|
||||
|
||||
Reference in New Issue
Block a user