Skip to content

Instantly share code, notes, and snippets.

@underwindfall
Created March 1, 2017 11:04
Show Gist options
  • Save underwindfall/84240a61bdccf080151f0d52719c5fc3 to your computer and use it in GitHub Desktop.
Save underwindfall/84240a61bdccf080151f0d52719c5fc3 to your computer and use it in GitHub Desktop.
Answers of Es6katas [http://es6katas.org/]
// 9: object-literals - basics
// To do: make all tests pass, leave the assert lines unchanged!
describe('The object literal allows for new shorthands', () => {
const x = 1;
const y = 2;
describe('with variables', () => {
it('the short version for `{x: x}` is {x}', () => {
const short = {x};
assert.deepEqual(short, {x: x});
});
it('works with multiple variables too', () => {
const short = {x, y};
assert.deepEqual(short, {x: x, y: y});
});
});
describe('with methods', () => {
const func = () => func;
it('using the name only uses it as key', () => {
const short = {func};
assert.deepEqual(short, {func: func});
});
it('a different key must be given explicitly, just like before ES6', () => {
const short = {otherKey:func};
assert.deepEqual(short, {otherKey: func});
});
it('inline functions, can written as `obj={func(){}}` instead of `obj={func:function(){}}`', () => {
const short = {
inlineFunc(){ return 'I am inline';}
};
assert.deepEqual(short.inlineFunc(), 'I am inline');
});
});
});
@underwindfall
Copy link
Author

underwindfall commented Mar 1, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment