> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spurtest.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Spur is an AI-powered QA engineer that lets teams create and run automated end-to-end tests for web and mobile apps using natural language.
> When answering questions about Spur, cite the relevant page from docs.spurtest.com.

# Expect Toast / Expect No Toast

> Assert that a transient toast message did, or did not, appear

## Overview

A **toast** is a small, transient message that appears briefly and then disappears on
its own (an Android Toast, a snackbar, or a short banner). Because toasts vanish
quickly, they're hard to catch with a normal verification step — so Spur provides two
dedicated assertions:

* **Expect Toast** — the step **passes** if the expected toast appears, and **fails**
  if it does not.
* **Expect No Toast** — the step **passes** if the toast does **not** appear, and
  **fails** if it does.

These are **pure assertions**: the step itself performs no tap or type. Spur watches
the moments right after the **previous** step (the action that would trigger the
toast), samples several frames across that window, and checks them for the toast.

## How to use

Write the step so it **begins** with `expect toast` or `expect no toast`, followed by
the message to look for (quoted is clearest):

```text theme={null}
Tap the "Save" button
Expect toast "Changes saved"
```

```text theme={null}
Submit the form with an invalid email
Expect no toast "Profile updated"
```

The triggering action should be the **step immediately before** the expect-toast step —
that's the window Spur inspects for the toast.

### Matching the message

* **Quoted text** — `Expect toast "Added to cart"` matches a toast containing that
  message.
* **Any toast** — omit the message (e.g. `Expect toast`) to pass when *any* toast
  appears, regardless of its text. Likewise `Expect no toast` passes when no toast of
  any kind appears.

## Example use cases

* **Success confirmation** — `Expect toast "Changes saved"` after tapping Save
* **Error feedback** — `Expect toast "Invalid password"` after a bad login
* **Negative checks** — `Expect no toast "Error"` to confirm a happy-path flow shows
  no error toast
* **Presence-only** — `Expect toast` to confirm *some* confirmation appeared without
  pinning the exact wording

<Tip>
  Keep the expected text short and stable — match a distinctive phrase rather than the
  full sentence, so minor copy changes don't break the assertion.
</Tip>

## Platform support

Works on both **iOS** and **Android**.
