Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | 2x 1x 2x 2x 2x 2x 1x 1x 2x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import test from 'tape'; import macro from 'vtk.js/Sources/macros'; import vtkProxyManager from 'vtk.js/Sources/Proxy/Core/ProxyManager'; // ---------------------------------------------------------------------------- // vtkTestProxyClass methods // ---------------------------------------------------------------------------- function testProxyClass(publicAPI, model) { // Set our className model.classHierarchy.push('vtkTestProxyClass'); } // ---------------------------------------------------------------------------- // Object factory // ---------------------------------------------------------------------------- const DEFAULT_VALUES = {}; // ---------------------------------------------------------------------------- function extend(publicAPI, model, initialValues = {}) { Object.assign(model, DEFAULT_VALUES, initialValues); // Object methods macro.obj(publicAPI, model); // Proxy methods macro.proxy(publicAPI, model); testProxyClass(publicAPI, model); } const vtkTestProxyClass = { newInstance: macro.newInstance(extend, 'vtkTestProxyClass'), }; // ---------------------------------------------------------------------------- const defaultConfig = { definitions: { Sources: { TrivialProducer: { class: vtkTestProxyClass, options: { activateOnCreate: true, }, }, }, }, }; function newProxyManager(proxyConfiguration = defaultConfig) { return vtkProxyManager.newInstance({ proxyConfiguration }); } // ---------------------------------------------------------------------------- // Tests // ---------------------------------------------------------------------------- test('Proxy activation via config', (t) => { const proxyManager = newProxyManager(); t.equal( proxyManager.getActiveSource(), undefined, 'No initial active source' ); const proxy = proxyManager.createProxy('Sources', 'TrivialProducer'); t.equal( proxyManager.getActiveSource(), proxy, 'Active source set after proxy creation' ); proxyManager.onModified(() => { t.fail('Proxy manager should not be modified when activating proxy twice'); }); proxy.activate(); proxy.getState(); t.end(); }); test('Proxy activation via .activate()', (t) => { const proxyManager = newProxyManager(); t.equal( proxyManager.getActiveSource(), undefined, 'No initial active source' ); const proxy = proxyManager.createProxy('Sources', 'TrivialProducer', { // Inhibit the default { activateOnCreate: true } activateOnCreate: false, }); t.equal( proxyManager.getActiveSource(), undefined, 'No active source after proxy creation' ); proxyManager.onModified(() => { t.pass('Proxy manager should be modified after proxy activation'); }); proxy.activate(); t.equal(proxyManager.getActiveSource(), proxy, 'Active source set'); t.end(); }); |