Newer
Older
reroad-test / 2020-ryusei / aframe-master / tests / systems / shadow.test.js
@ryusei ryusei on 22 Oct 2020 1 KB パノラマ表示
/* global process, setup, suite, test, assert, THREE */
var entityFactory = require('../helpers').entityFactory;

suite('shadow system', function () {
  var renderer;
  var system;

  setup(function (done) {
    var el = this.el = entityFactory();
    el.addEventListener('loaded', function () {
      renderer = el.sceneEl.renderer = {
        shadowMap: {},
        xr: {isPresenting: false},
        setSize: function () {}
      };
      system = el.sceneEl.systems.shadow;
      done();
    });
  });

  suite('init', function () {
    test('disabled by default', function () {
      assert.notOk(renderer.shadowMap.enabled);
    });

    test('configures renderer properties', function (done) {
      var div;
      var scene;

      div = document.createElement('div');
      div.innerHTML = '<a-scene shadow="type: basic; autoUpdate: false">';
      scene = div.children[0];
      scene.addEventListener('loaded', function () {
        assert.equal(scene.renderer.shadowMap.type, THREE.BasicShadowMap);
        assert.notOk(scene.renderer.shadowMap.autoUpdate);
        done();
      });

      document.body.appendChild(div);
    });
  });

  suite('setShadowMapEnabled', function () {
    test('updates the renderer', function () {
      system.setShadowMapEnabled(true);
      assert.ok(renderer.shadowMap.enabled);
    });
  });
});