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  }