[IronPython] ScriptEngine.GetRegisteredExtensions()

Ben Hall ben2004uk at googlemail.com
Wed Jun 11 21:23:50 CEST 2008


I have been using the latest release of the DLR (the one from
yesterday) but the behaviour of GetRegisteredExtensions() seems to
have changed (or is broke).

I've got this test:

        public void GetSaveFilter_RegisteredTypes_String()
            string expected = "IronPython 2.0 Beta|*.py";
            LanguageSettings python = Helper.CreateIronPythonSettings();
            DLREngineFactory factory = new DLREngineFactory();
            ScriptEngine engine = factory.CreateEngine(python);

            EngineInformation info = new EngineInformation(engine);
            string actual = info.GetSaveFilter();
            Assert.AreEqual(expected, actual);

With IP Beta 2, this worked fine, but since upgrading it now fails.
The code is this:

        public string GetSaveFilter()
            string filter = string.Empty;
            foreach (string ext in Engine.GetRegisteredExtensions())
                filter += string.Format("{0}|*{1}",
Engine.LanguageDisplayName, ext);

            return filter;

>From what I can tell, the code is dropping into
GetRegisteredFileExtensions(LanguageContext context)  which does a
check to see if the LanguageContext is null, but it always seems to be
if (kvp.Value.LanguageContext == context) {

Can anyone else confirm this?

Its the same for GetRegisteredIdentifiers().



More information about the Ironpython-users mailing list