4.9.0 • Published 5 months ago

@suitest/smst v4.9.0

Weekly downloads
39
License
MIT
Repository
github
Last release
5 months ago

SMST

Suitest message syntax tree.

Suitest flavour of the unist domain-specific syntax tree, designed to express test line definitions, results and other user-facing messages. SMST can be used to render messages in plain text, text with ANSI styling and HTML.

Nodes

Text

Inline plain text.

interface Text {
    type: "text"
    value: string
}

Subject

Inline text, that represents test line subject name

interface Subject <: Text {
    type: "subject"
}

See Text.

Input

Inline text, that represents user-defined values in test lines, e.g. expectations.

interface Input <: Text {
    type: "input"
}

See Text.

Code

Inline code.

interface Code <: Text {
    type: "code"
}

See Text.

Paragraph

A collection of simple text nodes.

interface Paragraph {
    type: "paragraph"
    children: InlineText[]
}

See InlineText

CodeBlock

A block of code.

interface CodeBlock {
    type: "code-block"
    language: "javascript" | "brightscript"
    value: string
}

See Paragraph.

Property

A single prop in the properties table.

interface Property {
    type: "prop"
    prop: Paragraph
    comparator: string
    expectedValue: Paragraph
    actualValue: [Paragraph | CodeBlock]
    status: ["success" | "failure"]
}

See Paragraph and CodeBlock.

Properties

A simple table, where each row represents a property

interface Properties {
    type: "props"
    children: Property[]
}

See Property.

Condition

A test line condition. Could be used in assertions or as a part of conditional line. For example, element [my element] exists is a condition and can be used in such lines:

  • Assert element [my element] exists timeout 2s
  • Press button OK only if element [my element] exists

Condition consists of title and optional Properties table. Could also include result status when rendering test line result.

interface Condition {
    type: "condition"
    title: Paragraph
    children: [Properties]
    status: ["success" | "fail"]
}

See Paragraph and Properties.

TestLine

Represent a single Suitest test line.

interface TestLine {
    type: "test-line"
    title: Paragraph
    children: [(Properties | Condition)[]]
    status: ["success" | "fatal" | "fail" | "warning" | "exit" | "excluded"]
}

See Paragraph, Properties and Condition

TestLineResult

Test line result is a wrapper around TestLine, that also includes execution results for that line.

interface TestLineResult {
    type: "test-line-result"
    level: "success" | "fatal" | "fail" | "warning" | "exit" | "excluded"
    children: TestLine
    message: [Paragraph],
    screenhost: [string],
}

See Paragraph and TestLine

Enumeration

InlineText

Any inline text node.

type InlineText = Text | Subject | Input | Code
4.9.0

5 months ago

4.8.0

10 months ago

4.7.0

1 year ago

4.7.1

12 months ago

4.4.3

2 years ago

4.2.2

3 years ago

4.0.2

3 years ago

4.0.0

4 years ago

3.0.5

4 years ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago