var returnVal = parseAttributes('');
assert.deepEqual(returnVal, {});
var returnVal = parseAttributes('foo');
assert.propertyVal(returnVal, 'foo', true);
var returnVal = parseAttributes('foo=bar');
assert.propertyVal(returnVal, 'foo', 'bar');
var returnVal = parseAttributes('foo=\'bar\'');
assert.propertyVal(returnVal, 'foo', 'bar');
var returnVal = parseAttributes('foo="bar"');
assert.propertyVal(returnVal, 'foo', 'bar');
var returnVal = parseAttributes(' foo = "bar" ');
assert.propertyVal(returnVal, 'foo', 'bar');
var returnVal = parseAttributes(' foo="bar" ');
assert.propertyVal(returnVal, 'foo', 'bar');
var returnVal = parseAttributes('foo-bar="foobar"');
assert.propertyVal(returnVal, 'fooBar', 'foobar');
var returnVal = parseAttributes('foo bar baz');
assert.deepEqual(Object.keys(returnVal), ['foo', 'bar', 'baz']);
var returnVal = parseAttributes('foo="1" bar=2 baz="3"');
assert.deepEqual(returnVal, { foo: '1', bar: '2', baz: '3' });
var returnVal = parseAttributes('foo="{\"name\":\"bar\"}"');
assert.notDeepEqual(returnVal, { foo: '{"name":"bar"}' }, 'output is not as expected');
assert.equal(returnVal.foo, '{', 'foo contains only opening brace');