void () { IdeaPluginDescriptorImpl bundled1 = createDescriptor(PluginId.getId("bundled1"), "JetBrains", true); IdeaPluginDescriptorImpl bundled2 = createDescriptor(PluginId.getId("bundled2"), "JetBrains", true); IdeaPluginDescriptorImpl bundledFromOtherVendor = createDescriptor(PluginId.getId("bundled3"), "JetBrains, Google", true); IdeaPluginDescriptorImpl core = createDescriptor(PluginManagerCore.CORE_ID, "JetBrains", true); IdeaPluginDescriptorImpl user1 = createDescriptor(PluginId.getId("user1"), "JetBrains", false); IdeaPluginDescriptorImpl user2 = createDescriptor(PluginId.getId("user2"), "JetBrains", false); assertConflict(bundled1, bundled2, false, false); assertConflict(bundled1, core, false, true); assertConflict(bundled1, user1, true, true); // plugin (even bundled) should win over core assertConflict(core, bundled1, true, true); assertConflict(core, user1, true, true); assertConflict(user1, bundled1, false, true); assertConflict(user1, core, false, true); assertConflict(user1, user2, true, false); // if both bundled, should win the bundle from other vendor as more specific // see the case "Image" plugin vs "Adobe Photoshop" from Android assertConflict(bundled1, bundledFromOtherVendor, true, true); assertConflict(bundledFromOtherVendor, bundled1, false, true); }