-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make tests pass specification #1
Comments
I suspect the easiest way to be aware of lines with only a standalone tag, is to improve the lexer to emit new lines as separate tokens and during rendering we could look back and see if the previous nodes until the last line had nodes that affected the output. E.g. |
The tag context should allow non-alphanum characters. See the spec for section tag content [1]: > These tags' content MUST be a non-whitespace character sequence NOT > containing the current closing delimiter; ... For the 3 added test cases, alexkappa#1 and alexkappa#3 will fail today, and alexkappa#2 will trigger a panic. The code change fixes them. The expected behavior can also be verified on http://mustache.github.io/#demo, with Mustache: 1: {{#key*}}{{.}}{{/key*}} 2: {{#key}}{{*}}{{/key}} 2: {{#key}}{{*}*}}{{/key}} and JSON: { "key*": "value*", "key": "value", "*": "star", "*}*": "fish" } We can get output as: 1: value* 2: star 2: fish [1] https://github.com/mustache/spec/blob/b1329a25e6d265ff360267d23f7c6327bbf59f52/specs/sections.yml#L5
The tag content should allow non-alphanum characters. See the spec for section tag content [1]: > These tags' content MUST be a non-whitespace character sequence NOT > containing the current closing delimiter; ... For the 3 added test cases, alexkappa#1 and alexkappa#3 will fail today, and alexkappa#2 will trigger a panic. The code change fixes them. The expected behavior can also be verified on http://mustache.github.io/#demo, with Mustache: 1: {{#key*}}{{.}}{{/key*}} 2: {{#key}}{{*}}{{/key}} 2: {{#key}}{{*}*}}{{/key}} and JSON: { "key*": "value*", "key": "value", "*": "star", "*}*": "fish" } We can get output as: 1: value* 2: star 2: fish [1] https://github.com/mustache/spec/blob/b1329a25e6d265ff360267d23f7c6327bbf59f52/specs/sections.yml#L5
The tag content should allow non-alphanum characters. See the spec for section tag content [1]: > These tags' content MUST be a non-whitespace character sequence NOT > containing the current closing delimiter; ... For the 3 added test cases, alexkappa#1 and alexkappa#3 will fail today, and alexkappa#2 will trigger a panic. The code change fixes them. The expected behavior can also be verified on http://mustache.github.io/#demo, with Mustache: 1: {{#key*}}{{.}}{{/key*}} 2: {{#key}}{{*}}{{/key}} 2: {{#key}}{{*}*}}{{/key}} and JSON: { "key*": "value*", "key": "value", "*": "star", "*}*": "fish" } We can get output as: 1: value* 2: star 2: fish [1] https://github.com/mustache/spec/blob/b1329a25e6d265ff360267d23f7c6327bbf59f52/specs/sections.yml#L5
The tag content should allow non-alphanum characters. See the spec for section tag content [1]: > These tags' content MUST be a non-whitespace character sequence NOT > containing the current closing delimiter; ... For the 3 added test cases, alexkappa#1 and alexkappa#3 will fail today, and alexkappa#2 will trigger a panic. The code change fixes them. The expected behavior can also be verified on http://mustache.github.io/#demo, with Mustache: 1: {{#key*}}{{.}}{{/key*}} 2: {{#key}}{{*}}{{/key}} 2: {{#key}}{{*}*}}{{/key}} and JSON: { "key*": "value*", "key": "value", "*": "star", "*}*": "fish" } We can get output as: 1: value* 2: star 2: fish [1] https://github.com/mustache/spec/blob/b1329a25e6d265ff360267d23f7c6327bbf59f52/specs/sections.yml#L5
The tag content should allow non-alphanum characters. See the spec for section tag content [1]: > These tags' content MUST be a non-whitespace character sequence NOT > containing the current closing delimiter; ... For the 3 added test cases, alexkappa#1 and alexkappa#3 will fail today, and alexkappa#2 will trigger a panic. The code change fixes them. The expected behavior can also be verified on http://mustache.github.io/#demo, with Mustache: 1: {{#key*}}{{.}}{{/key*}} 2: {{#key}}{{*}}{{/key}} 2: {{#key}}{{*}*}}{{/key}} and JSON: { "key*": "value*", "key": "value", "*": "star", "*}*": "fish" } We can get output as: 1: value* 2: star 2: fish [1] https://github.com/mustache/spec/blob/b1329a25e6d265ff360267d23f7c6327bbf59f52/specs/sections.yml#L5
The tag content should allow non-alphanum characters. See the spec for section tag content [1]: > These tags' content MUST be a non-whitespace character sequence NOT > containing the current closing delimiter; ... For the 3 added test cases, alexkappa#1 and alexkappa#3 will fail today, and alexkappa#2 will trigger a panic. The code change fixes them. The expected behavior can also be verified on http://mustache.github.io/#demo, with Mustache: 1: {{#key*}}{{.}}{{/key*}} 2: {{#key}}{{*}}{{/key}} 2: {{#key}}{{*}*}}{{/key}} and JSON: { "key*": "value*", "key": "value", "*": "star", "*}*": "fish" } We can get output as: 1: value* 2: star 2: fish [1] https://github.com/mustache/spec/blob/b1329a25e6d265ff360267d23f7c6327bbf59f52/specs/sections.yml#L5
In order to release this package with a degree of confidence, I would like to make sure that a significant amount (if not all) of specification tests can pass.
Currently most tests fail simply due to the fact that the output contains more newlines as the expectation. The spec states that if a line of text only contains whitespace and a mustache tag such as a comment or a section, this line should be omitted from the output.
The text was updated successfully, but these errors were encountered: