Cairn · module

Cairn.Fuzz.Text

lean/Cairn/Fuzz/Text.lean

The default text generator

Scripts of TextOps for a field's edit moves. Each operation in a script is sent as its own event, the way a person's typing arrives. The pool leans on what breaks text code: blanks, emoji with skin tones and ZWJ sequences, flags, combining marks, CJK, long strings, and IME compositions (setMarked one to three times, then a committing insert or an unmark).

Imports Cairn.Fuzz.Rng

Order

Definitions 5

def

Cairn.Fuzz.Text.samples

lean/Cairn/Fuzz/Text.lean:13
samples : List String
def

Cairn.Fuzz.Text.compositions

lean/Cairn/Fuzz/Text.lean:19
compositions : List (List String × String)

IME compositions: the marked prefixes, and what commits.

def

Cairn.Fuzz.Text.ime

lean/Cairn/Fuzz/Text.lean:23
ime : Gen (List TextOp)
def

Cairn.Fuzz.Text.planted

lean/Cairn/Fuzz/Text.lean:33
planted : String

Planted into secure fields (FieldView.secure): the walk checks after every step that it is in no frame's dump and no effect's dump, so a secure field's text never leaves the app but as a redacted request (docs/fuzz.md, "Secure fields").

def

Cairn.Fuzz.Text.script

lean/Cairn/Fuzz/Text.lean:36
script : Gen (List TextOp)

One script of text operations.