[IronPython] ScriptEngine.GetRegisteredExtensions()

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


Hi,

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:

        [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
null.
if (kvp.Value.LanguageContext == context) {
                        res.Add(kvp.Key);
}

Can anyone else confirm this?

Its the same for GetRegisteredIdentifiers().

Thanks

Ben
Blog.BenHall.me.uk



More information about the Ironpython-users mailing list