-
Notifications
You must be signed in to change notification settings - Fork 14
Fixed problem parsing boolean attributes in html style attribute dicts #42
Conversation
assert dict(self._parse( | ||
"(:class='test' :data-number = 123\n foo=\"bar\")" | ||
)) == {'class': 'test', 'data-number': '123', 'foo': 'bar'} | ||
"(:class='test' data-number = 123\n 'foo'=\"bar\" \t disabled)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are colons legal syntax? I would expect this to blow up..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like for {:class} dicts it's the actual Haml syntax, but they're not used for HTML-style dicts http://haml.info/docs/yardoc/file.REFERENCE.html#attributes_
Currently we just ignore them, but seems it should be an error to use one in an HTML-style dict
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually looks like they're only used with the => syntax (which we do support), so it should be an error to do...
%span{:class:"test"}
%span(:class="test")
but not..
%span{:class=>"test"}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WTF that is the ugliest syntax I've ever seen, what an abomination! Wonder what the reasoning around that is.
My bias for anything like this is to be strict instead of ignoring things that look goofy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was how you made a hash (dict) in Ruby before 1.9 apparently http://effectif.com/ruby/update-your-project-for-ruby-19-hash-syntax
Agreed on disallowing this - have recorded that at #43
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HAML is so weird.
Can't currently parse
%span(disabled id="foo")