Repository navigation
Release v5.0.0
Screenplay has no JSON. Objects and lists are now written as indented blocks under the name that holds them, with one level of indentation per level of the hierarchy. Component properties use this form, and so does every other place a value is assigned.
Added
- Structured values as indented blocks:
member = valuelines for an object, oneitemline per list element,<name> nonefor an empty list and<name> emptyfor an object without members. For example,property columnsfollowed by an indenteditemholdingid = "received". See https://github.com/Cratis/Screenplay/blob/main/Documentation/screenplay/structured-values.md. then returns valueopens a structured response, andthen no readmodel X fortakes its key members as a block.from literaltakes a block, with its modifiers on the line.- Error
PLAY0833for a value written as inline JSON. The editors offer a quick fix, and printing a document converts every occurrence. - Highlighting and hover documentation for
item,noneandemptyin structured values.
Changed
- Breaking:
{...}and[...]values are no longer accepted anywhere in a.playdocument: component properties, literal bindings, composition values, specification,caseandexamplevalues, seeds, productions, reactions, captures, operation inputs, generated fixtures and exact-mode projection literals. The printer writes the block form. - A step header that carries one inline assignment (
given Invoice total = 1000) takes scalars only. A structured value moves to its own line under the header. - The event model board shows a structured value on one line as
(member = value, ...)or(item value, ...)instead of JSON.