// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`accessibility tree (desktop) 1`] = `
Object {
  "children": Array [
    Object {
      "name": "Black Lives Matter",
      "role": "text",
    },
    Object {
      "name": "Support the Equal Justice Initiative",
      "role": "link",
    },
    Object {
      "name": "Link to Go Homepage",
      "role": "link",
    },
    Object {
      "name": "Search for a package",
      "role": "button",
    },
    Object {
      "description": "Search for a package",
      "name": "Search for a package",
      "role": "textbox",
    },
    Object {
      "description": "Why Go",
      "name": "Why Go",
      "role": "link",
    },
    Object {
      "description": "Getting Started",
      "name": "Getting Started",
      "role": "link",
    },
    Object {
      "description": "Discover Packages",
      "name": "Discover Packages",
      "role": "link",
    },
    Object {
      "name": "About",
      "role": "link",
    },
    Object {
      "name": "The Go Gopher",
      "role": "img",
    },
    Object {
      "level": 3,
      "name": "Oops! We couldn't find “fetch.test”.",
      "role": "heading",
    },
    Object {
      "name": "Check that you entered the URL correctly, try fetching it following the",
      "role": "text",
    },
    Object {
      "name": "instructions here",
      "role": "link",
    },
    Object {
      "name": ", or request to add “fetch.test” to pkg.go.dev.",
      "role": "text",
    },
    Object {
      "name": "Request “fetch.test”",
      "role": "button",
    },
    Object {
      "description": "Why Go",
      "name": "Why Go",
      "role": "link",
    },
    Object {
      "description": "Use Cases",
      "name": "Use Cases",
      "role": "link",
    },
    Object {
      "description": "Case Studies",
      "name": "Case Studies",
      "role": "link",
    },
    Object {
      "description": "Getting Started",
      "name": "Getting Started",
      "role": "link",
    },
    Object {
      "name": "Playground",
      "role": "link",
    },
    Object {
      "name": "Tour",
      "role": "link",
    },
    Object {
      "name": "Stack Overflow",
      "role": "link",
    },
    Object {
      "description": "Discover Packages",
      "name": "Discover Packages",
      "role": "link",
    },
    Object {
      "description": "About",
      "name": "About",
      "role": "link",
    },
    Object {
      "name": "Download",
      "role": "link",
    },
    Object {
      "name": "Blog",
      "role": "link",
    },
    Object {
      "name": "Release Notes",
      "role": "link",
    },
    Object {
      "name": "Brand Guidelines",
      "role": "link",
    },
    Object {
      "name": "Code of Conduct",
      "role": "link",
    },
    Object {
      "description": "Connect",
      "name": "Connect",
      "role": "link",
    },
    Object {
      "name": "Twitter",
      "role": "link",
    },
    Object {
      "name": "GitHub",
      "role": "link",
    },
    Object {
      "name": "Slack",
      "role": "link",
    },
    Object {
      "name": "Meetup",
      "role": "link",
    },
    Object {
      "name": "Gopher in flight goggles",
      "role": "img",
    },
    Object {
      "name": "Copyright",
      "role": "link",
    },
    Object {
      "name": "Terms of Service",
      "role": "link",
    },
    Object {
      "name": "Privacy Policy",
      "role": "link",
    },
    Object {
      "name": "Report an Issue",
      "role": "link",
    },
    Object {
      "name": "golang.org",
      "role": "link",
    },
    Object {
      "name": "Google logo",
      "role": "link",
    },
  ],
  "name": "404 Not Found · pkg.go.dev",
  "role": "WebArea",
}
`;

exports[`accessibility tree (mobile) 1`] = `
Object {
  "children": Array [
    Object {
      "name": "Link to Go Homepage",
      "role": "link",
    },
    Object {
      "name": "Search for a package",
      "role": "button",
    },
    Object {
      "description": "Search for a package",
      "name": "Search for a package",
      "role": "textbox",
    },
    Object {
      "name": "Open navigation.",
      "role": "button",
    },
    Object {
      "name": "The Go Gopher",
      "role": "img",
    },
    Object {
      "level": 3,
      "name": "Oops! We couldn't find “fetch.test”.",
      "role": "heading",
    },
    Object {
      "name": "Check that you entered the URL correctly, try fetching it following the",
      "role": "text",
    },
    Object {
      "name": "instructions here",
      "role": "link",
    },
    Object {
      "name": ", or request to add “fetch.test” to pkg.go.dev.",
      "role": "text",
    },
    Object {
      "name": "Request “fetch.test”",
      "role": "button",
    },
    Object {
      "description": "Why Go",
      "name": "Why Go",
      "role": "link",
    },
    Object {
      "description": "Use Cases",
      "name": "Use Cases",
      "role": "link",
    },
    Object {
      "description": "Case Studies",
      "name": "Case Studies",
      "role": "link",
    },
    Object {
      "description": "Getting Started",
      "name": "Getting Started",
      "role": "link",
    },
    Object {
      "name": "Playground",
      "role": "link",
    },
    Object {
      "name": "Tour",
      "role": "link",
    },
    Object {
      "name": "Stack Overflow",
      "role": "link",
    },
    Object {
      "description": "Discover Packages",
      "name": "Discover Packages",
      "role": "link",
    },
    Object {
      "description": "About",
      "name": "About",
      "role": "link",
    },
    Object {
      "name": "Download",
      "role": "link",
    },
    Object {
      "name": "Blog",
      "role": "link",
    },
    Object {
      "name": "Release Notes",
      "role": "link",
    },
    Object {
      "name": "Brand Guidelines",
      "role": "link",
    },
    Object {
      "name": "Code of Conduct",
      "role": "link",
    },
    Object {
      "description": "Connect",
      "name": "Connect",
      "role": "link",
    },
    Object {
      "name": "Twitter",
      "role": "link",
    },
    Object {
      "name": "GitHub",
      "role": "link",
    },
    Object {
      "name": "Slack",
      "role": "link",
    },
    Object {
      "name": "Meetup",
      "role": "link",
    },
    Object {
      "name": "Gopher in flight goggles",
      "role": "img",
    },
    Object {
      "name": "Copyright",
      "role": "link",
    },
    Object {
      "name": "Terms of Service",
      "role": "link",
    },
    Object {
      "name": "Privacy Policy",
      "role": "link",
    },
    Object {
      "name": "Report an Issue",
      "role": "link",
    },
    Object {
      "name": "golang.org",
      "role": "link",
    },
    Object {
      "name": "Google logo",
      "role": "link",
    },
  ],
  "name": "404 Not Found · pkg.go.dev",
  "role": "WebArea",
}
`;
