mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-09 18:56:02 +02:00
Do not save attributes id/name/class in properties
This commit is contained in:
parent
8c7108d523
commit
a34ad0edcf
2 changed files with 20 additions and 5 deletions
|
@ -48,6 +48,7 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
/*package*/ static final String EXTENSION_SERIALIZABLE_PROVIDER_MISSING_PARAMETER = "parameter";
|
/*package*/ static final String EXTENSION_SERIALIZABLE_PROVIDER_MISSING_PARAMETER = "parameter";
|
||||||
/*package*/ static final String EXTENSION_EDITABLE_PROVIDER_ID = "org.eclipse.cdt.core.tests.custom.editable.language.settings.provider";
|
/*package*/ static final String EXTENSION_EDITABLE_PROVIDER_ID = "org.eclipse.cdt.core.tests.custom.editable.language.settings.provider";
|
||||||
/*package*/ static final String EXTENSION_EDITABLE_PROVIDER_NAME = "Test Plugin Mock Editable Language Settings Provider";
|
/*package*/ static final String EXTENSION_EDITABLE_PROVIDER_NAME = "Test Plugin Mock Editable Language Settings Provider";
|
||||||
|
/*package*/ static final ICLanguageSettingEntry EXTENSION_EDITABLE_PROVIDER_ENTRY = new CMacroEntry("MACRO", "value", 0);
|
||||||
/*package*/ static final String EXTENSION_REGISTERER_PROVIDER_ID = "org.eclipse.cdt.core.tests.language.settings.listener.registerer.provider";
|
/*package*/ static final String EXTENSION_REGISTERER_PROVIDER_ID = "org.eclipse.cdt.core.tests.language.settings.listener.registerer.provider";
|
||||||
/*package*/ static final String EXTENSION_USER_PROVIDER_ID = "org.eclipse.cdt.ui.user.LanguageSettingsProvider";
|
/*package*/ static final String EXTENSION_USER_PROVIDER_ID = "org.eclipse.cdt.ui.user.LanguageSettingsProvider";
|
||||||
|
|
||||||
|
@ -57,6 +58,11 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
private static final String LANG_ID = "test.lang.id";
|
private static final String LANG_ID = "test.lang.id";
|
||||||
private static final IFile FILE_0 = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path("/project/path0"));
|
private static final IFile FILE_0 = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path("/project/path0"));
|
||||||
|
|
||||||
|
// These must match constants used in LanguageSettingsSerializableProvider
|
||||||
|
private static final String ATTR_ID = "id"; //$NON-NLS-1$
|
||||||
|
private static final String ATTR_NAME = "name"; //$NON-NLS-1$
|
||||||
|
private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
* @param name - name of the test.
|
* @param name - name of the test.
|
||||||
|
@ -111,19 +117,23 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
assertNull(providerExt);
|
assertNull(providerExt);
|
||||||
}
|
}
|
||||||
|
|
||||||
// get test plugin extension provider
|
// this extension provider is not copyable
|
||||||
ILanguageSettingsProvider providerExtCopy = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_BASE_PROVIDER_ID, true);
|
ILanguageSettingsProvider providerExtCopy = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_BASE_PROVIDER_ID, true);
|
||||||
assertNull(providerExtCopy);
|
assertNull(providerExtCopy);
|
||||||
|
|
||||||
|
// get raw extension provider - retrieve the only instance via workspace provider
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_BASE_PROVIDER_ID);
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_BASE_PROVIDER_ID);
|
||||||
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
assertTrue(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
||||||
|
|
||||||
// get raw extension provider
|
|
||||||
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(providerExt);
|
ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(providerExt);
|
||||||
assertTrue(rawProvider instanceof LanguageSettingsBaseProvider);
|
assertTrue(rawProvider instanceof LanguageSettingsBaseProvider);
|
||||||
LanguageSettingsBaseProvider provider = (LanguageSettingsBaseProvider)rawProvider;
|
LanguageSettingsBaseProvider provider = (LanguageSettingsBaseProvider)rawProvider;
|
||||||
assertEquals(EXTENSION_BASE_PROVIDER_ID, provider.getId());
|
assertEquals(EXTENSION_BASE_PROVIDER_ID, provider.getId());
|
||||||
assertEquals(EXTENSION_BASE_PROVIDER_NAME, provider.getName());
|
assertEquals(EXTENSION_BASE_PROVIDER_NAME, provider.getName());
|
||||||
assertEquals(EXTENSION_BASE_PROVIDER_PARAMETER, provider.getProperty(EXTENSION_BASE_PROVIDER_ATTR_PARAMETER));
|
assertEquals(EXTENSION_BASE_PROVIDER_PARAMETER, provider.getProperty(EXTENSION_BASE_PROVIDER_ATTR_PARAMETER));
|
||||||
|
// these attributes are not exposed as properties
|
||||||
|
assertEquals(null, provider.getProperty(ATTR_ID));
|
||||||
|
assertEquals(null, provider.getProperty(ATTR_NAME));
|
||||||
|
assertEquals(null, provider.getProperty(ATTR_CLASS));
|
||||||
|
|
||||||
// attempt to get entries for wrong language
|
// attempt to get entries for wrong language
|
||||||
assertNull(provider.getSettingEntries(null, FILE_0, LANG_ID));
|
assertNull(provider.getSettingEntries(null, FILE_0, LANG_ID));
|
||||||
|
@ -273,7 +283,7 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
assertEquals(null, provider.getProperty(EXTENSION_SERIALIZABLE_PROVIDER_MISSING_PARAMETER));
|
assertEquals(null, provider.getProperty(EXTENSION_SERIALIZABLE_PROVIDER_MISSING_PARAMETER));
|
||||||
|
|
||||||
List<ICLanguageSettingEntry> expected = new ArrayList<ICLanguageSettingEntry>();
|
List<ICLanguageSettingEntry> expected = new ArrayList<ICLanguageSettingEntry>();
|
||||||
expected.add(new CMacroEntry("MACRO", "value", 0));
|
expected.add(EXTENSION_EDITABLE_PROVIDER_ENTRY);
|
||||||
assertEquals(expected, provider.getSettingEntries(null, null, null));
|
assertEquals(expected, provider.getSettingEntries(null, null, null));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -297,15 +307,18 @@ public class LanguageSettingsExtensionsTests extends BaseTestCase {
|
||||||
|
|
||||||
// Editable providers are retrieved by copy
|
// Editable providers are retrieved by copy
|
||||||
{
|
{
|
||||||
|
// get extension provider
|
||||||
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID, true);
|
ILanguageSettingsProvider providerExt = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID, true);
|
||||||
assertFalse(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
assertFalse(LanguageSettingsManager.isWorkspaceProvider(providerExt));
|
||||||
assertTrue(providerExt instanceof ILanguageSettingsEditableProvider);
|
assertTrue(providerExt instanceof ILanguageSettingsEditableProvider);
|
||||||
assertTrue(LanguageSettingsManager.isEqualExtensionProvider(providerExt, true));
|
assertTrue(LanguageSettingsManager.isEqualExtensionProvider(providerExt, true));
|
||||||
|
|
||||||
|
// test that different copies are not same
|
||||||
ILanguageSettingsProvider providerExt2 = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID, true);
|
ILanguageSettingsProvider providerExt2 = LanguageSettingsManager.getExtensionProviderCopy(EXTENSION_EDITABLE_PROVIDER_ID, true);
|
||||||
assertNotSame(providerExt, providerExt2);
|
assertNotSame(providerExt, providerExt2);
|
||||||
assertEquals(providerExt, providerExt2);
|
assertEquals(providerExt, providerExt2);
|
||||||
|
|
||||||
|
// test that workspace provider is not the same as extension provider
|
||||||
ILanguageSettingsProvider providerWsp = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_EDITABLE_PROVIDER_ID);
|
ILanguageSettingsProvider providerWsp = LanguageSettingsManager.getWorkspaceProvider(EXTENSION_EDITABLE_PROVIDER_ID);
|
||||||
ILanguageSettingsProvider providerWspRaw = LanguageSettingsManager.getRawProvider(providerWsp);
|
ILanguageSettingsProvider providerWspRaw = LanguageSettingsManager.getRawProvider(providerWsp);
|
||||||
assertNotSame(providerExt, providerWspRaw);
|
assertNotSame(providerExt, providerWspRaw);
|
||||||
|
|
|
@ -169,7 +169,9 @@ public class LanguageSettingsExtensionManager {
|
||||||
List<ICLanguageSettingEntry> entries = null;
|
List<ICLanguageSettingEntry> entries = null;
|
||||||
|
|
||||||
for (String attr : ce.getAttributeNames()) {
|
for (String attr : ce.getAttributeNames()) {
|
||||||
ceAttributes.put(attr, determineAttributeValue(ce, attr));
|
if (!attr.equals(ATTR_ID) && !attr.equals(ATTR_NAME) && !attr.equals(ATTR_CLASS)) {
|
||||||
|
ceAttributes.put(attr, determineAttributeValue(ce, attr));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (IConfigurationElement ceLang : ce.getChildren(ELEM_LANGUAGE_SCOPE)) {
|
for (IConfigurationElement ceLang : ce.getChildren(ELEM_LANGUAGE_SCOPE)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue