Skip to content

Instantly share code, notes, and snippets.

@lmuntaner
Created April 5, 2016 05:26
Show Gist options
  • Save lmuntaner/b29cb4e0b582f0c56c11e79cbca4d333 to your computer and use it in GitHub Desktop.
Save lmuntaner/b29cb4e0b582f0c56c11e79cbca4d333 to your computer and use it in GitHub Desktop.
Mini Coding Test For Loop33
describe('class creation', () => {
it('is as simple as `class XXX {}`', function() {
class TestClass {};
const instance = new TestClass();
assert.equal(typeof instance, 'object');
});
it('class is block scoped', () => {
{class Inside {}}
assert.equal(typeof Inside, 'undefined');
});
it('special method is `constructor`', function() {
class User {
constructor(id) {
this.id = id;
}
}
const user = new User(42);
assert.equal(user.id, 42);
});
it('defining a method is simple', function() {
class User {
writesTests() {
return false;
}
}
const notATester = new User();
assert.equal(notATester.writesTests(), false);
});
it('multiple methods need no commas (opposed to object notation)', function() {
class User {
wroteATest() { this.everWroteATest = true; }
isLazy() { return !this.everWroteATest; }
}
const tester = new User();
assert.equal(tester.isLazy(), true);
tester.wroteATest();
assert.equal(tester.isLazy(), false);
});
it('anonymous class', () => {
const classType = typeof class {};
assert.equal(classType, 'function');
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment