github.com/zoomfoo/nomad@v0.8.5-0.20180907175415-f28fd3a1a056/ui/tests/helpers/codemirror.js (about) 1 import { registerHelper } from '@ember/test'; 2 3 const invariant = (truthy, error) => { 4 if (!truthy) throw new Error(error); 5 }; 6 7 export function getCodeMirrorInstance(container) { 8 return function(selector) { 9 const cmService = container.lookup('service:code-mirror'); 10 11 const element = document.querySelector(selector); 12 invariant(element, `Selector ${selector} matched no elements`); 13 14 const cm = cmService.instanceFor(element.id); 15 invariant(cm, `No registered CodeMirror instance for ${selector}`); 16 17 return cm; 18 }; 19 } 20 21 export default function registerCodeMirrorHelpers() { 22 registerHelper('getCodeMirrorInstance', function(app, selector) { 23 const helper = getCodeMirrorInstance(app.__container__); 24 return helper(selector); 25 }); 26 }