Download the PHP package jbboehr/handlebars-spec without Composer
On this page you can find all versions of the php package jbboehr/handlebars-spec. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jbboehr/handlebars-spec
More information about jbboehr/handlebars-spec
Files in jbboehr/handlebars-spec
Package handlebars-spec
Short Description JSON test fixtures derived from the Handlebars.js test suite
License AGPL-3.0-or-later
Homepage https://github.com/jbboehr/handlebars-spec
Informations about the package handlebars-spec
Handlebars Spec
JSON test fixtures derived from the Handlebars.js test suite. Use them to check whether another Handlebars implementation matches upstream rendering, parsing, and compiler behavior without porting the JavaScript tests.
Install
Install the fixtures as a development dependency from npm:
The JSON files will be available under
node_modules/handlebars-spec/spec/ and
node_modules/handlebars-spec/export/.
For PHP projects, install the Composer package:
The same directories will be available under
vendor/jbboehr/handlebars-spec/.
Data sets
Each JSON file contains an array of fixtures. Most files in spec/
test rendering. Two suites have different expectations:
parser.jsoncompares the parser's printed tree representation.tokenizer.jsoncompares ordered token objects withnameandtextfields.
The export/ files add syntax trees and compiler opcodes to the
corresponding fixtures. Some cases cannot be compiled and appear only in spec/.
Fixture format
A basic rendering fixture looks like this:
Fixtures can also supply helpers, partials, decorators, and compile or runtime
options. Cases expecting failure use exception instead of expected.
The fixture-format reference covers fixture identity, matching rules, callback translations, sparse arrays, PHP integration, and omissions. It is included in the installed npm package.
Versioning
Versions combine this project's version with the Handlebars.js version. Each component is calculated as:
For example, 104.7.106 represents project version 1.0.1 based on
Handlebars.js 4.7.6.
License
The project tooling is licensed under AGPL-3.0-or-later. The specification data is derived from Handlebars.js and remains available under the MIT license.