Skip to content

Latest commit

 

History

History
265 lines (235 loc) · 9.8 KB

README.md

File metadata and controls

265 lines (235 loc) · 9.8 KB

Benchmarks

benchmark script

Library Time
bbmustache 14362
mustache.erl 152821

Check the reference implementation

⚠️ For libraries other than bbmustache, there is a possibility that there is a miss.

comments

https://github.com/mustache/spec/tree/v1.4.1/specs/comments.yml

bbmustache mustache.erl
Inline
Multiline
Standalone
Indented Standalone
Standalone Line Endings
Standalone Without Previous Line
Standalone Without Newline
Multiline Standalone
Indented Multiline Standalone
Indented Inline
Surrounding Whitespace
Variable Name Collision

delimiters

https://github.com/mustache/spec/tree/v1.4.1/specs/delimiters.yml

bbmustache mustache.erl
Pair Behavior
Special Characters
Sections
Inverted Sections
Partial Inheritence
Post-Partial Behavior
Surrounding Whitespace
Outlying Whitespace (Inline)
Standalone Tag
Indented Standalone Tag
Standalone Line Endings
Standalone Without Previous Line
Standalone Without Newline
Pair with Padding

interpolation

https://github.com/mustache/spec/tree/v1.4.1/specs/interpolation.yml

bbmustache mustache.erl
No Interpolation
Basic Interpolation
HTML Escaping
Triple Mustache
Ampersand
Basic Integer Interpolation
Triple Mustache Integer Interpolation
Ampersand Integer Interpolation
Basic Decimal Interpolation
Triple Mustache Decimal Interpolation
Ampersand Decimal Interpolation
Basic Null Interpolation
Triple Mustache Null Interpolation
Ampersand Null Interpolation
Basic Context Miss Interpolation
Triple Mustache Context Miss Interpolation
Ampersand Context Miss Interpolation
Dotted Names - Basic Interpolation
Dotted Names - Triple Mustache Interpolation
Dotted Names - Ampersand Interpolation
Dotted Names - Arbitrary Depth
Dotted Names - Broken Chains
Dotted Names - Broken Chain Resolution
Dotted Names - Initial Resolution
Dotted Names - Context Precedence
Implicit Iterators - Basic Interpolation
Implicit Iterators - HTML Escaping
Implicit Iterators - Triple Mustache
Implicit Iterators - Ampersand
Implicit Iterators - Basic Integer Interpolation
Interpolation - Surrounding Whitespace
Triple Mustache - Surrounding Whitespace
Ampersand - Surrounding Whitespace
Interpolation - Standalone
Triple Mustache - Standalone
Ampersand - Standalone
Interpolation With Padding
Triple Mustache With Padding
Ampersand With Padding

inverted

https://github.com/mustache/spec/tree/v1.4.1/specs/inverted.yml

bbmustache mustache.erl
Falsey
Truthy
Null is falsey
Context
List
Empty List
Doubled
Nested (Falsey)
Nested (Truthy)
Context Misses
Dotted Names - Truthy
Dotted Names - Falsey
Dotted Names - Broken Chains
Surrounding Whitespace
Internal Whitespace
Indented Inline Sections
Standalone Lines
Standalone Indented Lines
Standalone Line Endings
Standalone Without Previous Line
Standalone Without Newline
Padding

partials

https://github.com/mustache/spec/tree/v1.4.1/specs/partials.yml

bbmustache mustache.erl
Basic Behavior
Failed Lookup
Context
Recursion
Nested
Surrounding Whitespace
Inline Indentation
Standalone Line Endings
Standalone Without Previous Line
Standalone Without Newline
Standalone Indentation
Padding Whitespace

sections

https://github.com/mustache/spec/tree/v1.4.1/specs/sections.yml

bbmustache mustache.erl
Truthy
Falsey
Null is falsey
Context
Parent contexts
Variable test
List Contexts
Deeply Nested Contexts
List
Empty List
Doubled
Nested (Truthy)
Nested (Falsey)
Context Misses
Implicit Iterator - String
Implicit Iterator - Integer
Implicit Iterator - Decimal
Implicit Iterator - Array
Implicit Iterator - HTML Escaping
Implicit Iterator - Triple mustache
Implicit Iterator - Ampersand
Implicit Iterator - Root-level
Dotted Names - Truthy
Dotted Names - Falsey
Dotted Names - Broken Chains
Surrounding Whitespace
Internal Whitespace
Indented Inline Sections
Standalone Lines
Indented Standalone Lines
Standalone Line Endings
Standalone Without Previous Line
Standalone Without Newline
Padding

~dynamic-names

https://github.com/mustache/spec/tree/v1.4.1/specs/~dynamic-names.yml

bbmustache mustache.erl
Basic Behavior - Partial
Basic Behavior - Name Resolution
Context Misses - Partial
Failed Lookup - Partial
Context
Dotted Names
Dotted Names - Operator Precedence
Dotted Names - Failed Lookup
Dotted names - Context Stacking
Dotted names - Context Stacking Under Repetition
Dotted names - Context Stacking Failed Lookup
Recursion
Dynamic Names - Double Dereferencing
Dynamic Names - Composed Dereferencing
Surrounding Whitespace
Inline Indentation
Standalone Line Endings
Standalone Without Previous Line
Standalone Without Newline
Standalone Indentation
Padding Whitespace

~inheritance

https://github.com/mustache/spec/tree/v1.4.1/specs/~inheritance.yml

bbmustache mustache.erl
Default
Variable
Triple Mustache
Sections
Negative Sections
Mustache Injection
Inherit
Overridden content
Data does not override block
Data does not override block default
Overridden parent
Two overridden parents
Override parent with newlines
Inherit indentation
Only one override
Parent template
Recursion
Multi-level inheritance
Multi-level inheritance, no sub child
Text inside parent
Text inside parent
Block scope
Standalone parent
Standalone block
Block reindentation
Intrinsic indentation
Nested block reindentation

~lambdas

https://github.com/mustache/spec/tree/v1.4.1/specs/~lambdas.yml

bbmustache mustache.erl
Interpolation
Interpolation - Expansion
Interpolation - Alternate Delimiters
Interpolation - Multiple Calls
Escaping
Section
Section - Expansion
Section - Alternate Delimiters
Section - Multiple Calls
Inverted Section