Переглянути джерело

Merge pull request #1544 from blink1073/fix-mult-dot

Fix dotted extension lookup
Afshin Darian 8 роки тому
батько
коміт
959e74f913
2 змінених файлів з 14 додано та 1 видалено
  1. 1 1
      src/docregistry/registry.ts
  2. 13 0
      test/src/docregistry/registry.spec.ts

+ 1 - 1
src/docregistry/registry.ts

@@ -336,7 +336,7 @@ class DocumentRegistry implements IDisposable {
     // Handle multi-part extension default factories.
     if (last !== ext) {
       if (last in this._defaultWidgetFactories) {
-        factories.add(this._defaultWidgetFactories[ext]);
+        factories.add(this._defaultWidgetFactories[last]);
       }
     }
 

+ 13 - 0
test/src/docregistry/registry.spec.ts

@@ -336,6 +336,19 @@ describe('docregistry/registry', () => {
         expect(toArray(factories)).to.eql([jFactory]);
       });
 
+      it('should handle just a multi-part extension', () => {
+        registry.addModelFactory(new TextModelFactory());
+        let factory = new WidgetFactory({
+          name: 'table',
+          fileExtensions: ['.table.json'],
+        });
+        registry.addWidgetFactory(factory);
+        let factories = registry.preferredWidgetFactories('.table.json');
+        expect(toArray(factories)).to.eql([factory]);
+        factories = registry.preferredWidgetFactories('.json');
+        expect(toArray(factories)).to.eql([]);
+      });
+
     });
 
     describe('#defaultWidgetFactory()', () => {