v1
2/20/2018 by proberts 2/20/201800
Setup HTML - click to add setup HTML
disable setup JavaScript
Setup JavaScript
const object1 = {
  foo: 'Hello, World!',
  get bar () { return this.foo }
};

const object2 = Object.assign(Object.create({
  get bar () { return this.foo }
}), {
  foo: 'Hello, World!'
});

const object3 = Object.freeze({
  foo: 'Hello, World!',
  get bar () { return this.foo }
});

const object4 = new class {
  constructor () {
    this.foo = 'Hello, World!';
  }
  
  get bar () { return this.foo }
};

const object5 = new ((() => {
  function Test () {
    this.foo = 'Hello, World!';
  }
  
  Object.defineProperty(Test.prototype, 'bar', {
    configurable: true,
    enumerable: false,
    get: function () { return this.foo }
  });
  
  return Test;
})());

let result;
delete caserun single casemove downdrag and drop case


ready



result = object1.bar;
delete caserun single casemove upmove downdrag and drop case


ready



result = object2.bar;
delete caserun single casemove upmove downdrag and drop case


ready



result = object3.bar;
delete caserun single casemove upmove downdrag and drop case


ready



result = object4.bar;
delete caserun single casemove updrag and drop case


ready



result = object5.bar;
Test Case - click to add another test case
Teardown JS - click to add teardown JavaScript
Output (DOM) - click to monitor output (DOM) while test is running
RUN