Newer
Older
reroad-test / 2020-ryusei / aframe-master / tests / components / scene / inspector.test.js
@ryusei ryusei on 22 Oct 2020 1 KB パノラマ表示
/* global AFRAME, assert, setup, suite, teardown, test */

suite('inspector', function () {
  var SCRIPT_SELECTOR = 'script[data-name=aframe-inspector]';

  setup(function (done) {
    var el = this.sceneEl = document.createElement('a-scene');
    // Set a fake URL so the inspector doesn't interfere with other tests.
    el.setAttribute('inspector', 'url: fake.js');
    document.body.appendChild(el);
    el.addEventListener('loaded', function () { done(); });
  });

  teardown(function () {
    var el = this.sceneEl;
    var script = document.querySelector(SCRIPT_SELECTOR);
    AFRAME.INSPECTOR = undefined;
    AFRAME.inspectorInjected = false;
    el.parentNode.removeChild(el);
    script.parentNode.removeChild(script);
  });

  test('injects inspector <script> via keyboard shortcut', function () {
    var el = this.sceneEl;
    // Must call onKeydown method directly because Chrome doesn't provide a reliable method
    // for KeyboardEvent.
    el.components.inspector.onKeydown({
      keyCode: 73,
      ctrlKey: true,
      altKey: true
    });
    assert.ok(document.querySelector(SCRIPT_SELECTOR));
  });

  test('injects inspector <script> via postMessage', function () {
    var el = this.sceneEl;
    el.components.inspector.onMessage({data: 'INJECT_AFRAME_INSPECTOR'});
    assert.ok(document.querySelector(SCRIPT_SELECTOR));
  });
});