Compare commits

..
1 Commits
72 changed files with 1110 additions and 567 deletions
+35 -35
View File
@@ -32,7 +32,7 @@
},
"packages/ai": {
"name": "@opencode/ai",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@aws-sdk/credential-providers": "3.1057.0",
"@opencode/schema": "workspace:*",
@@ -54,7 +54,7 @@
},
"packages/app": {
"name": "@opencode/app",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@corvu/drawer": "catalog:",
"@dnd-kit/abstract": "0.5.0",
@@ -112,7 +112,7 @@
},
"packages/cli": {
"name": "@opencode/cli",
"version": "2.0.16",
"version": "2.0.15",
"bin": {
"opencode": "./bin/opencode.cjs",
"opencode2": "./bin/opencode2.cjs",
@@ -177,7 +177,7 @@
},
"packages/client": {
"name": "@opencode/client",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@opencode/protocol": "workspace:*",
"@opencode/schema": "workspace:*",
@@ -203,7 +203,7 @@
},
"packages/codemode": {
"name": "@opencode/codemode",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"acorn": "8.15.0",
"effect": "catalog:",
@@ -216,7 +216,7 @@
},
"packages/console/app": {
"name": "@opencode/console-app",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@cloudflare/vite-plugin": "1.15.2",
"@ibm/plex": "6.4.1",
@@ -252,7 +252,7 @@
},
"packages/console/core": {
"name": "@opencode/console-core",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@aws-sdk/client-sts": "3.782.0",
"@jsx-email/render": "1.1.1",
@@ -279,7 +279,7 @@
},
"packages/console/function": {
"name": "@opencode/console-function",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@openauthjs/openauth": "0.0.0-20250322224806",
"@opencode/console-core": "workspace:*",
@@ -296,7 +296,7 @@
},
"packages/console/mail": {
"name": "@opencode/console-mail",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@jsx-email/all": "2.2.3",
"@jsx-email/cli": "1.4.3",
@@ -320,7 +320,7 @@
},
"packages/console/support": {
"name": "@opencode/console-support",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@cloudflare/vite-plugin": "1.15.2",
"@opencode/console-core": "workspace:*",
@@ -340,7 +340,7 @@
},
"packages/core": {
"name": "@opencode/core",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@ai-sdk/cohere": "3.0.27",
"@ai-sdk/gateway": "3.0.104",
@@ -408,7 +408,7 @@
},
"packages/desktop": {
"name": "@opencode/desktop",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@zip.js/zip.js": "2.7.62",
"electron-context-menu": "5.0.0",
@@ -457,7 +457,7 @@
},
"packages/enterprise": {
"name": "@opencode/enterprise",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@hono/standard-validator": "catalog:",
"@opencode-ai/sdk": "1.18.21",
@@ -494,7 +494,7 @@
},
"packages/function": {
"name": "@opencode/function",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@octokit/auth-app": "8.0.1",
"@octokit/rest": "catalog:",
@@ -510,7 +510,7 @@
},
"packages/http-recorder": {
"name": "@opencode/http-recorder",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@effect/platform-node-shared": "4.0.0-rc.112",
},
@@ -529,7 +529,7 @@
},
"packages/httpapi-codegen": {
"name": "@opencode/httpapi-codegen",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"effect": "catalog:",
"prettier": "3.6.2",
@@ -542,7 +542,7 @@
},
"packages/latex": {
"name": "@opencode/latex",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@opencode/plugin": "workspace:*",
"@opentui/core": "catalog:",
@@ -556,7 +556,7 @@
},
"packages/merman": {
"name": "@opencode/merman",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@opencode/plugin": "workspace:*",
"@opentui/core": "catalog:",
@@ -571,7 +571,7 @@
},
"packages/plugin": {
"name": "@opencode/plugin",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@ai-sdk/provider": "3.0.8",
"@opencode/ai": "workspace:*",
@@ -610,7 +610,7 @@
},
"packages/plugin-browser": {
"name": "@opencode/plugin-browser",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@opencode/plugin": "workspace:*",
"@opencode/schema": "workspace:*",
@@ -640,7 +640,7 @@
},
"packages/protocol": {
"name": "@opencode/protocol",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@opencode/schema": "workspace:*",
"effect": "catalog:",
@@ -655,7 +655,7 @@
},
"packages/schema": {
"name": "@opencode/schema",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@standard-schema/spec": "catalog:",
"effect": "catalog:",
@@ -679,7 +679,7 @@
},
"packages/sdk": {
"name": "@opencode/sdk",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@opencode/client": "workspace:*",
"@opencode/core": "workspace:*",
@@ -700,7 +700,7 @@
},
"packages/server": {
"name": "@opencode/server",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@effect/platform-node": "catalog:",
"@effect/platform-node-shared": "catalog:",
@@ -722,7 +722,7 @@
},
"packages/session-ui": {
"name": "@opencode/session-ui",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@kobalte/core": "catalog:",
"@opencode/client": "workspace:*",
@@ -757,7 +757,7 @@
},
"packages/simulation": {
"name": "@opencode/simulation",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@opencode/ai": "workspace:*",
"@opencode/core": "workspace:*",
@@ -777,7 +777,7 @@
},
"packages/stats/app": {
"name": "@opencode/stats-app",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@ibm/plex": "6.4.1",
"@kobalte/core": "catalog:",
@@ -811,7 +811,7 @@
},
"packages/stats/core": {
"name": "@opencode/stats-core",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@aws-sdk/client-athena": "3.933.0",
"@planetscale/database": "1.19.0",
@@ -830,7 +830,7 @@
},
"packages/stats/server": {
"name": "@opencode/stats-server",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@aws-sdk/client-firehose": "3.933.0",
"@effect/platform-node": "catalog:",
@@ -876,7 +876,7 @@
},
"packages/theme": {
"name": "@opencode/theme",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@opentui/core": "catalog:",
"effect": "catalog:",
@@ -890,7 +890,7 @@
},
"packages/tui": {
"name": "@opencode/tui",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@opencode/client": "workspace:*",
"@opencode/core": "workspace:*",
@@ -925,7 +925,7 @@
},
"packages/ui": {
"name": "@opencode/ui",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@kobalte/core": "catalog:",
"@pierre/diffs": "catalog:",
@@ -960,7 +960,7 @@
},
"packages/util": {
"name": "@opencode/util",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@effect/opentelemetry": "catalog:",
"@effect/platform-node": "catalog:",
@@ -997,7 +997,7 @@
},
"packages/web": {
"name": "@opencode/web",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@astrojs/cloudflare": "12.6.3",
"@astrojs/markdown-remark": "6.3.1",
@@ -1038,7 +1038,7 @@
},
"services/update": {
"name": "@opencode/update",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"jose": "6.0.11",
"semver": "catalog:",
+1 -1
View File
@@ -2,7 +2,7 @@
"$schema": "https://json.schemastore.org/package.json",
"name": "opencode",
"description": "AI-powered development tool",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"packageManager": "bun@1.4.2",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
"version": "2.0.16",
"version": "2.0.15",
"name": "@opencode/ai",
"type": "module",
"license": "MIT",
@@ -214,23 +214,6 @@ for (const draft of ["empty-draft", "multiline-draft", "mixed-attachments"]) {
})
}
story.describe("touch attachments", () => {
story.use({ hasTouch: true, isMobile: true, viewport: { width: 390, height: 844 } })
story("keeps attachment remove buttons visible without hover", async ({ mount, page }) => {
const component = await mount("opencode-composer-flow--mixed-attachments")
expect(await page.evaluate(() => matchMedia("(hover: none)").matches)).toBe(true)
const remove = component.getByRole("button", { name: "Remove attachment", exact: true })
await expect(remove).not.toHaveCount(0)
for (const button of await remove.all()) await expect(button).toHaveCSS("opacity", "1")
const count = await remove.count()
await remove.first().tap()
await expect(remove).toHaveCount(count - 1)
})
})
story("renders a draft once and supports editing, caret restoration, and failure recovery", async ({ mount, page }) => {
await page.addInitScript(() => {
const replace = Element.prototype.replaceChildren
@@ -8,13 +8,8 @@ const directory = "C:/OpenCode/SubagentNavigation"
const projectID = "proj_subagent_navigation"
const parentID = "ses_subagent_parent"
const childID = "ses_subagent_child"
const grandchildID = "ses_subagent_grandchild"
const greatGrandchildID = "ses_subagent_great_grandchild"
const parentTitle = "Parent session"
const childTitle = "Subagent child session"
const grandchildTitle = "Nested subagent session"
const greatGrandchildTitle =
"Deep research subagent session investigating a very long chain of agent registry failures and navigation breadcrumbs"
// Child session pages derive their heading from the task part that spawned them.
const taskDescription = "Inspect child navigation"
@@ -30,60 +25,6 @@ test("navigates to a subagent child session missing from the session list", asyn
await expect(page.getByRole("button", { name: "Toggle review", exact: true })).toBeVisible()
})
test("opens a directly linked nested subagent in its root session tab", async ({ page }) => {
await setup(page, undefined, 1)
await page.goto(sessionHref(grandchildID), { waitUntil: "domcontentloaded" })
await expect(page.locator('[data-slot="session-title-parent"]')).toHaveText(childTitle)
await expect(page.locator('[data-slot="session-title-child"]')).toHaveText(grandchildTitle)
const tabs = page.locator('[data-slot="titlebar-tabs"] [data-titlebar-tab-slot]')
await expect(tabs.locator(`a[href="${sessionHref(grandchildID)}"]`)).toHaveCount(1)
await expect(tabs).toHaveCount(1)
await expect(tabs.locator('[data-slot="tab-title"]')).toHaveText(parentTitle)
})
test("shows the full ancestor path and navigates to an earlier subagent", async ({ page }) => {
await setup(page, undefined, 2)
await page.goto(sessionHref(greatGrandchildID), { waitUntil: "domcontentloaded" })
await expect(page.locator("[data-timeline-virtual-content]")).toBeAttached()
const header = page.locator("[data-session-title]")
await expect(header.locator('[data-slot="session-title-ancestor"]')).toHaveText([parentTitle, childTitle])
await expect(header.locator('[data-slot="session-title-parent"]')).toHaveText(grandchildTitle)
await expect(header.getByRole("heading", { name: greatGrandchildTitle })).toBeVisible()
await header.getByRole("button", { name: childTitle, exact: true }).click()
await expect(page).toHaveURL(sessionHref(childID))
await expect(page.locator("[data-session-title]").getByRole("heading", { name: childTitle })).toBeVisible()
await expect(page.locator('[data-slot="titlebar-tabs"] [data-titlebar-tab-slot]')).toHaveCount(1)
})
test("keeps the active nested session visible in a narrow desktop header", async ({ page }) => {
await page.setViewportSize({ width: 820, height: 720 })
await setup(page, undefined, 2)
await page.goto(sessionHref(greatGrandchildID), { waitUntil: "domcontentloaded" })
const header = page.locator("[data-session-title]")
const heading = header.getByRole("heading", { name: greatGrandchildTitle })
const separator = header.locator('[data-slot="session-title-ancestors"] + [data-slot="session-title-separator"]')
await expect(header.locator('[data-slot="session-title-ancestor"]')).toHaveText([parentTitle, childTitle])
await expect(heading).toBeInViewport()
await expect(separator).toBeInViewport()
const bounds = await heading.boundingBox()
expect(bounds).not.toBeNull()
expect(bounds!.x + bounds!.width).toBeLessThanOrEqual(820)
await page.evaluate(() => document.documentElement.setAttribute("dir", "rtl"))
await expect(heading).toBeInViewport()
await expect(separator).toBeInViewport()
const root = header.locator(`[data-slot="session-title-ancestor"][data-session-id="${parentID}"]`)
await root.focus()
await expect(root).toBeFocused()
await root.press("Enter")
await expect(page).toHaveURL(sessionHref(parentID))
})
test("returns to the parent session with Escape", async ({ page }) => {
await setup(page)
await openChildFromParent(page)
@@ -203,7 +144,7 @@ test("shows the not found fallback when the viewed session is deleted", async ({
await expect(page.getByRole("heading", { name: taskDescription })).toHaveCount(0)
})
async function setup(page: Page, events?: () => OpenCodeEvent[], nestedDepth: 0 | 1 | 2 = 0) {
async function setup(page: Page, events?: () => OpenCodeEvent[]) {
await mockOpenCodeServer(page, {
directory,
project: {
@@ -227,14 +168,7 @@ async function setup(page: Page, events?: () => OpenCodeEvent[], nestedDepth: 0
connected: ["opencode"],
default: { providerID: "opencode", modelID: "claude-opus-4-6" },
},
sessions: [
session(parentID, parentTitle, 1700000000000),
childSession(),
...(nestedDepth >= 1 ? [session(grandchildID, grandchildTitle, 1700000002000, { parentID: childID })] : []),
...(nestedDepth >= 2
? [session(greatGrandchildID, greatGrandchildTitle, 1700000003000, { parentID: grandchildID })]
: []),
],
sessions: [session(parentID, parentTitle, 1700000000000), childSession()],
pageMessages: (sessionID) => ({ items: sessionID === parentID ? parentMessages() : [] }),
events,
eventRetry: events ? 16 : undefined,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode/app",
"version": "2.0.16",
"version": "2.0.15",
"description": "",
"type": "module",
"exports": {
+3 -3
View File
@@ -542,7 +542,7 @@ export function ComposerAttachments(props: {
<button
type="button"
onClick={() => props.onCommentRemove?.(comment)}
class="absolute -top-1 -end-1 size-4 rounded-full bg-v2-icon-icon-muted outline-solid outline-1 outline-v2-icon-icon-contrast flex items-center justify-center hover-reveal group-hover:opacity-100"
class="absolute -top-1 -end-1 size-4 rounded-full bg-v2-icon-icon-muted outline-solid outline-1 outline-v2-icon-icon-contrast flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity"
aria-label={props.removeLabel}
>
<Icon name="outline-xmark" class="text-v2-icon-icon-contrast" />
@@ -589,7 +589,7 @@ export function ComposerAttachments(props: {
<button
type="button"
onClick={() => props.onAttachmentRemove(attachment)}
class="absolute -top-1 -end-1 size-4 rounded-full bg-v2-icon-icon-muted outline-solid outline-1 outline-v2-icon-icon-contrast flex items-center justify-center hover-reveal group-hover:opacity-100"
class="absolute -top-1 -end-1 size-4 rounded-full bg-v2-icon-icon-muted outline-solid outline-1 outline-v2-icon-icon-contrast flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity"
aria-label={props.removeLabel}
>
<Icon name="outline-xmark" class="text-v2-icon-icon-contrast" />
@@ -611,7 +611,7 @@ export function ComposerAttachments(props: {
<button
type="button"
onClick={() => props.onUploadCancel?.(upload)}
class="absolute -top-1 -end-1 size-4 rounded-full bg-v2-icon-icon-muted outline-solid outline-1 outline-v2-icon-icon-contrast flex items-center justify-center hover-reveal group-hover:opacity-100"
class="absolute -top-1 -end-1 size-4 rounded-full bg-v2-icon-icon-muted outline-solid outline-1 outline-v2-icon-icon-contrast flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity"
aria-label={i18n.t("ui.promptInput.cancelUpload")}
>
<Icon name="outline-xmark" class="text-v2-icon-icon-contrast" />
@@ -6,7 +6,7 @@ import { ProjectAvatar } from "@opencode/ui/project-avatar"
import { Tooltip } from "@opencode/ui/tooltip"
import { createResizeObserver } from "@solid-primitives/resize-observer"
import { useNavigate } from "@solidjs/router"
import { createMemo, For, Show, type ParentProps } from "solid-js"
import { createMemo, Show, type ParentProps } from "solid-js"
import { createStore } from "solid-js/store"
import { useServer } from "@/runtime/server/current"
import { ServerConnection } from "@/runtime/server/registry"
@@ -191,96 +191,12 @@ export function SessionProjectMenu(props: {
)
}
export function SessionAncestorTrail(props: {
sessionID: string
parentID: string
parentTitle?: string
trailing: boolean
}) {
const server = useServer()
const tabs = useTabs()
const navigate = useNavigate()
const language = useLanguage()
const ancestors = createMemo(() => {
const path: { id: string; title: string; direct: boolean }[] = []
const seen = new Set([props.sessionID])
let id: string | undefined = props.parentID
while (id && !seen.has(id)) {
seen.add(id)
const info = server.ctx.data.session.get(id)
path.unshift({
id,
title:
sessionTitle(info?.title ?? (id === props.parentID ? props.parentTitle : undefined)) ??
language.t("session.tab.session"),
direct: id === props.parentID,
})
id = info?.parentID
}
return path
})
const open = (id: string) => {
const tab = tabs.store.find(
(item) =>
item.type === "session" &&
item.server === server.key &&
(item.sessionId === props.sessionID || item.routeSessionId === props.sessionID),
)
if (tab?.type === "session") tabs.rememberSessionRoute(tab, id, server.ctx.data.session.get(id)?.parentID)
navigate(sessionHref(server.key, id))
}
return (
<div class="flex min-w-0 max-w-full items-center">
<div
data-slot="session-title-ancestors"
class="flex min-w-0 items-center overflow-x-auto whitespace-nowrap [scrollbar-width:none] [&::-webkit-scrollbar]:hidden"
>
<For each={ancestors()}>
{(ancestor, index) => (
<>
<button
type="button"
data-slot={ancestor.direct ? "session-title-parent" : "session-title-ancestor"}
data-session-id={ancestor.id}
title={ancestor.title}
dir="auto"
class="max-w-[min(200px,40vw)] shrink-0 truncate pl-2 text-[13px] font-[530] leading-4 tracking-[-0.04px] text-v2-text-text-faint transition-colors hover:text-v2-text-text-muted"
onClick={() => open(ancestor.id)}
>
{ancestor.title}
</button>
<Show when={index() < ancestors().length - 1}>
<span
data-slot="session-title-separator"
class="-translate-y-[0.5px] shrink-0 pl-2 pr-1 text-[11px] font-medium text-v2-text-text-faint"
aria-hidden="true"
>
/
</span>
</Show>
</>
)}
</For>
</div>
<Show when={props.trailing}>
<span
data-slot="session-title-separator"
class="-translate-y-[0.5px] shrink-0 pl-2 pr-1 text-[11px] font-medium text-v2-text-text-faint"
aria-hidden="true"
>
/
</span>
</Show>
</div>
)
}
export function SessionIdentityHeader(props: { sessionID: string; session?: SessionInfo }) {
const server = useServer()
const tabs = useTabs()
const language = useLanguage()
const pending = createMemo(() => tabs.pendingSession(server.key, props.sessionID))
const navigate = useNavigate()
const tab = createMemo(() =>
tabs.store.find(
(item) =>
@@ -334,30 +250,53 @@ export function SessionIdentityHeader(props: { sessionID: string; session?: Sess
)
})
const workspaceSession = createMemo(() => !!pending() || isWorkspaceDirectory(project(), directory() ?? ""))
const navigateParent = () => {
const id = parentID()
const current = tab()
if (!id || current?.type !== "session") return
tabs.rememberSessionRoute(current, id, parent()?.parentID)
navigate(sessionHref(server.key, id))
}
return (
<Show when={title() || parentTitle()}>
<SessionTitleHeader>
<div class="flex h-12 w-full items-center justify-between gap-2">
<div class="flex min-w-0 flex-1 items-center gap-1">
<div class="flex min-w-0 w-full flex-1 items-center gap-0.5">
<SessionProjectMenu project={project()} directory={directory()} workspace={workspaceSession()} />
<Show when={parentID()}>
{(id) => (
<SessionAncestorTrail
sessionID={props.sessionID}
parentID={id()}
parentTitle={parentTitle()}
trailing={!!title()}
/>
<SessionProjectMenu
project={project()}
directory={directory()}
workspace={workspaceSession()}
/>
<Show when={parentTitle()}>
{(value) => (
<button
type="button"
data-slot="session-title-parent"
dir="auto"
class="min-w-0 max-w-[40%] truncate pl-2 text-[13px] font-[530] leading-4 tracking-[-0.04px] text-v2-text-text-faint transition-colors hover:text-v2-text-text-muted"
onClick={navigateParent}
>
{value()}
</button>
)}
</Show>
<Show when={parentTitle() && title()}>
<span
data-slot="session-title-separator"
class="-translate-y-[0.5px] pl-2 pr-1 text-[11px] font-medium text-v2-text-text-faint"
aria-hidden="true"
>
/
</span>
</Show>
<Show when={title()}>
{(value) => (
<h1
data-slot={parentID() ? "session-title-child" : undefined}
dir="auto"
class="w-fit truncate rounded-[6px] px-1 py-1 text-[13px] font-[530] leading-4 tracking-[-0.04px] text-v2-text-text-base"
classList={{ "max-w-[45%] shrink-0": !!parentID() }}
>
{value()}
</h1>
@@ -34,7 +34,7 @@ import { containsDirectory, isWorkspaceDirectory } from "@/workspaces/paths"
import { projectForSession } from "@/shell/layout/helpers"
import { parseCommentNote, readPromptPresentation } from "@/composer/comment-note"
import { useCommand } from "@/shell/commands/command"
import { SessionAncestorTrail, SessionProjectMenu, SessionTitleHeader } from "../session-identity-header"
import { SessionProjectMenu, SessionTitleHeader } from "../session-identity-header"
import { SessionHeaderSpacer } from "@/session/header/session-header"
import type { BackgroundTask } from "../summary/background"
@@ -413,14 +413,21 @@ function MessageTimelineView(
workspace={workspaceSession()}
/>
<Show when={parentID()}>
{(id) => (
<SessionAncestorTrail
sessionID={sessionID() ?? ""}
parentID={id()}
parentTitle={parentTitle()}
trailing={!!(childTitle() || title.editing)}
/>
)}
<button
type="button"
data-slot="session-title-parent"
class="min-w-0 max-w-[40%] truncate pl-2 text-[13px] font-[530] leading-4 tracking-[-0.04px] text-v2-text-text-faint transition-colors hover:text-v2-text-text-muted"
onClick={props.action.navigateParent}
>
{parentTitle()}
</button>
<span
data-slot="session-title-separator"
class="-translate-y-[0.5px] pl-2 pr-1 text-[11px] font-medium text-v2-text-text-faint"
aria-hidden="true"
>
/
</span>
</Show>
<Show when={childTitle() || title.editing}>
<Show
@@ -429,7 +436,6 @@ function MessageTimelineView(
<h1
data-slot="session-title-child"
class="truncate text-[13px] font-[530] leading-4 tracking-[-0.04px] text-v2-text-text-base w-fit rounded-[6px] px-1 py-1 hover:bg-v2-overlay-simple-overlay-hover"
classList={{ "max-w-[45%] shrink-0": !!parentID() }}
onClick={openTitleEditor}
>
{childTitle()}
@@ -445,7 +451,6 @@ function MessageTimelineView(
value={title.draft}
disabled={props.pending.rename()}
class="block text-[13px] font-[530] leading-4 tracking-[-0.04px] text-v2-text-text-base field-sizing-content rounded-[6px] px-1 py-1"
classList={{ "max-w-[45%] shrink-0": !!parentID() }}
style={{
"--inline-input-shadow": "none",
"text-align": "start",
@@ -394,7 +394,7 @@ export const SettingsGeneral: Component = () => {
</div>
</SettingsRow>
<Show when={mobile()}>
<Show when={mobile() && import.meta.env.VITE_OPENCODE_CHANNEL !== "prod"}>
<SettingsRow
title={language.t("settings.general.row.mobileTitlebarBottom.title")}
description={language.t("settings.general.row.mobileTitlebarBottom.description")}
+2 -2
View File
@@ -12,7 +12,7 @@ type Entry<Tab> = {
description?: Label
section?: Label
subtab?: "mcps" | "plugins" | "skills" | "lsps"
available?: "desktop" | "browser" | "mobile"
available?: "desktop" | "browser" | "dev" | "mobile-dev"
}
export const clientSettings: Entry<SettingsRootTab>[] = [
@@ -83,7 +83,7 @@ export const clientSettings: Entry<SettingsRootTab>[] = [
tab: "general",
label: "settings.general.row.mobileTitlebarBottom.title",
target: "settings-mobile-titlebar-bottom",
available: "mobile",
available: "mobile-dev",
},
{
tab: "general",
+3 -1
View File
@@ -17,6 +17,7 @@ export function settingsSearchIndex(input: {
servers: readonly SettingsSearchServer[]
desktop: boolean
browser: boolean
dev: boolean
mobile: boolean
translate: ReturnType<typeof useLanguage>["t"]
}) {
@@ -56,7 +57,8 @@ export function settingsSearchIndex(input: {
clientSettings.forEach((entry) => {
if (entry.available === "desktop" && !input.desktop) return
if (entry.available === "browser" && !input.browser) return
if (entry.available === "mobile" && !input.mobile) return
if ((entry.available === "dev" || entry.available === "mobile-dev") && !input.dev) return
if (entry.available === "mobile-dev" && !input.mobile) return
add(entry, { type: "root", tab: entry.tab, target: entry.target }, "")
})
input.servers.forEach((server) => {
@@ -18,6 +18,7 @@ function index(input: Partial<Parameters<typeof settingsSearchIndex>[0]> = {}) {
servers,
desktop: false,
browser: false,
dev: false,
mobile: false,
translate: (key) => strings[key],
...input,
@@ -48,7 +49,7 @@ describe("settings search index", () => {
expect(rankSettings("font", items, root)).toHaveLength(3)
})
test("only advertises settings supported by this platform", () => {
test("only advertises settings supported by this platform and channel", () => {
const targets = (input: Parameters<typeof index>[0]) => index(input).map((item) => item.view.target)
expect(targets({})).not.toContain("settings-pinch-zoom")
expect(targets({})).not.toContain("settings-experimental-browser")
@@ -56,9 +57,9 @@ describe("settings search index", () => {
expect(targets({})).toContain("settings-tab-layout")
expect(targets({ desktop: true })).toContain("settings-pinch-zoom")
expect(targets({ browser: true })).not.toContain("settings-experimental-browser")
expect(targets({})).not.toContain("settings-show-project-icon")
expect(targets({})).not.toContain("settings-mobile-titlebar-bottom")
expect(targets({ mobile: true })).toContain("settings-mobile-titlebar-bottom")
expect(targets({ dev: true })).not.toContain("settings-show-project-icon")
expect(targets({ dev: true })).not.toContain("settings-mobile-titlebar-bottom")
expect(targets({ dev: true, mobile: true })).toContain("settings-mobile-titlebar-bottom")
})
test("uses section labels and stable identities independent of translated text", () => {
+1
View File
@@ -75,6 +75,7 @@ export function SettingsSearch() {
servers: inventory(),
desktop: platform.platform === "desktop",
browser: !!platform.browserPane,
dev: import.meta.env.VITE_OPENCODE_CHANNEL !== "prod",
mobile: mobile(),
translate: language.t,
}),
+6 -26
View File
@@ -33,7 +33,6 @@ import { projectForSession } from "@/shell/layout/helpers"
import { useSettingsDialog } from "@/settings/command"
import { updaterAction } from "@/shell/updates/action"
import type { UpdaterState } from "@/shell/updates/types"
import { rootSession } from "@/shell/routes/session"
import devIcon from "../../../../desktop/icons/dev/64x64.png"
import betaIcon from "../../../../desktop/icons/beta/64x64.png"
@@ -186,7 +185,7 @@ export function Titlebar(props: {
const route = layout.route()
return route.type === "session" && !!tabs.pendingSession(route.server, route.sessionId)
})
const [resolvedSession] = createResource(
const [loadedSession] = createResource(
() => {
const route = layout.route()
if (route.type !== "session") return undefined
@@ -194,23 +193,7 @@ export function Titlebar(props: {
const conn = global.servers.list().find((item) => ServerConnection.key(item) === route.server)
return conn ? { route, ctx: global.ensureServerCtx(conn) } : undefined
},
async ({ route, ctx }) => {
const info = await ctx.sdk.api.session
.get({ sessionID: route.sessionId })
.catch(() => ctx.data.session.get(route.sessionId))
if (!info) return
ctx.data.session.remember(info)
const rootID = await rootSession(info, async (id) => {
const cached = ctx.data.session.get(id)
if (cached) return cached
const ancestor = await ctx.sdk.api.session.get({ sessionID: id })
ctx.data.session.remember(ancestor)
return ancestor
})
.then((root) => root.id)
.catch(() => ctx.data.session.root(info.id))
return { info, rootID }
},
({ route, ctx }) => ctx.sdk.api.session.get({ sessionID: route.sessionId }).catch(() => {}),
)
const session = createMemo(() => {
const route = layout.route()
@@ -219,8 +202,8 @@ export function Titlebar(props: {
const conn = global.servers.list().find((item) => ServerConnection.key(item) === route.server)
const cached = conn ? global.ensureServerCtx(conn).data.session.get(route.sessionId) : undefined
if (cached) return cached
const resolved = resolvedSession()
return resolved?.info.id === route.sessionId ? resolved.info : undefined
const loaded = loadedSession()
return loaded?.id === route.sessionId ? loaded : undefined
})
const matchRoute = (route: LayoutRoute) => {
@@ -238,8 +221,7 @@ export function Titlebar(props: {
if (main) return main
const s = session()
if (s?.parentID) {
const resolved = resolvedSession()
const parentID = resolved?.info.id === s.id ? resolved.rootID : s.parentID
const parentID = s.parentID
const parent = tabsStore.find(
(item) => item.type === "session" && item.server === route.server && item.sessionId === parentID,
)
@@ -274,9 +256,7 @@ export function Titlebar(props: {
}
const s = session()
if (!s) return
const resolved = resolvedSession()
if (s.parentID && resolved?.info.id !== s.id) return
const sessionId = resolved?.info.id === s.id ? resolved.rootID : s.id
const sessionId = s.parentID ?? s.id
const next = { server: route.server, sessionId }
tabsStoreActions.addSessionTab(next)
}
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/cli",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"bin": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/client",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"repository": {
+17 -8
View File
@@ -139,11 +139,20 @@ ultimate source of truth. Upstream test262 files run verbatim from `test/test262
arrow function.
- [x] Promise-returning string replacers are coerced synchronously to `"[object Promise]"`, like JavaScript; they are
not automatically awaited.
- [x] The optional `thisArg` of iteration methods is accepted and ignored: CodeMode functions have no `this`, so
ignoring it matches JS arrow-function semantics exactly.
- [ ] `this` in non-arrow CodeMode functions and callbacks.
- [x] `this` in non-arrow functions is the call's receiver: `obj.m()` and `obj["m"]()` see `obj`, a bare or detached
call (`f()`, `const m = obj.m; m()`, `(0, obj.m)()`) sees `undefined`, as in strict JS. Arrows read the enclosing
function's `this`. Program code has no receiver, so top-level `this` is `undefined`, as in a module.
- [x] `arguments` in non-arrow functions: an unmapped array-like of the call's arguments (`length`, indexes, spread,
`Array.from`), tagged `[object Arguments]` and not an Array. A parameter named `arguments` shadows it; arrows
read the enclosing function's. `callee` and `caller` are absent rather than poisoned.
- [x] `Function.prototype.call`, `apply`, and `bind` on program functions and built-ins:
`Array.prototype.push.call(arr, 1)`, `Math.max.apply(null, values)`, `fn.bind(obj, first)`. `apply` accepts an
array, an array-like object, or `null`/`undefined`. A bound function is named `bound f`, has its remaining
`length`, and is not constructible.
- [x] `JSON.parse` revivers and `JSON.stringify` function replacers see the holder object as `this`.
- [ ] The optional `thisArg` of iteration methods (`map`, `forEach`, `Map.prototype.forEach`, `Array.from`, …) is
accepted but not yet passed as `this`; callbacks run with `this` undefined.
- [ ] User-defined constructor calls.
- [ ] `Function.prototype.call`, `apply`, and `bind` for CodeMode functions.
- [ ] Classes and private fields.
- [x] Functions are objects: they hold own properties (`fn.count = 1`), enumerate them, and expose read-only `name`
and `length`. Names follow JavaScript's NamedEvaluation: declarations, named expressions, bindings,
@@ -178,7 +187,7 @@ ultimate source of truth. Upstream test262 files run verbatim from `test/test262
yielded promises; mixed async request queues; sync and async `yield*` forwarding; malformed methods/results;
and declaration, expression, and object-method forms with closure and parameter behavior. The adapted suite
deliberately skips Test262 variants whose observation mechanism requires unsupported getter definitions,
proxies, prototype inspection or mutation, non-arrow `this`, classes, or arbitrary symbols. It also skips tests
proxies, prototype inspection or mutation, classes, or arbitrary symbols. It also skips tests
asserting exact promise reaction-turn counts beyond the observable ordering guarantee documented below. These
are interpreter-surface boundaries, not claims that the corresponding full Test262 families pass unchanged.
@@ -269,7 +278,7 @@ reject }` object.
- [x] Recursive assimilation of objects with an own callable `then` field across `Promise.resolve`, combinators,
constructors, reactions, `finally`, `await`, and async returns. Thenable methods run deferred, receive
first-call-wins resolve/reject functions, and ignore throws after settlement. Inherited/accessor `then` fields
and a JavaScript `this` receiver remain outside the supported object/function model.
remain outside the supported object model.
- [x] Dotted tool names are canonicalized into namespace paths; a path can be both callable and a namespace, and the
last tool supplied for a canonical path wins.
- [x] Tool path segments may be named `constructor`, `prototype`, or `__proto__` because paths use inert Map keys.
@@ -419,9 +428,9 @@ reject }` object.
- [x] `JSON.parse` and `JSON.stringify` for supported data objects.
- [x] Numeric/string indentation for `JSON.stringify`.
- [x] `JSON.parse` reviver callbacks, including postorder traversal, deletion through `undefined`, and root replacement.
Revivers receive `(key, value)` but no `this` holder because CodeMode functions intentionally have no `this`.
Revivers receive `(key, value)` with the holder as `this`.
- [x] `JSON.stringify` function and array replacers. Function replacers receive `(key, value)` in preorder, including
the root, but no `this` holder. Array replacers preserve requested property order, deduplicate names, coerce
the root, with the holder as `this`. Array replacers preserve requested property order, deduplicate names, coerce
number primitives, and ignore non-string/non-number entries. Primitive wrapper entries remain unsupported.
- [x] Captured `console.log`, `console.info`, `console.debug`, `console.warn`, and `console.error`. An Error prints as
`Error.prototype.toString` would show it (`Error: boom`), wherever it appears in the logged value.
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/codemode",
"version": "2.0.16",
"version": "2.0.15",
"description": "Effect-native confined code execution over schema-described tools",
"type": "module",
"license": "MIT",
+2 -2
View File
@@ -24,7 +24,7 @@ import { typeofValue } from "./interpreter/references.js"
export type Json = Schema.Json
type Replacer<R> = (args: Array<Value>) => Effect.Effect<Value, unknown, R>
type Replacer<R> = (args: Array<Value>, holder: Obj) => Effect.Effect<Value, unknown, R>
/**
* What `JSON.stringify` would serialize for a program value, as host JSON: `toJSON` is honored, functions and
@@ -60,7 +60,7 @@ const walk = <R>(
const settled = raw instanceof PromiseObj ? yield* ctx.await(raw) : raw
const toJSON = settled instanceof Obj ? get(settled, "toJSON") : undefined
const own = toJSON instanceof Callable ? yield* ctx.call(toJSON, settled, [key]) : settled
const value = replacer === undefined ? own : yield* replacer([key, own])
const value = replacer === undefined ? own : yield* replacer([key, own], holder)
if (value === undefined || typeofValue(value) === "function") return undefined
if (typeof value === "number") return Number.isFinite(value) ? value : null
if (value === null || typeof value === "string" || typeof value === "boolean") return value
@@ -78,7 +78,7 @@ export const applyCollectionCallback = <R>(
ctx: Interpreter<R>,
callback: Value,
name: string,
): ((args: Array<Value>) => Effect.Effect<Value, unknown, R>) => {
): ((args: Array<Value>, thisValue?: Value) => Effect.Effect<Value, unknown, R>) => {
if (!isSupportedCallback(callback)) {
if (typeofValue(callback) === "function") {
throw typeError(
@@ -87,5 +87,5 @@ export const applyCollectionCallback = <R>(
}
throw typeError(`${name} expects a function callback.`)
}
return (callbackArgs) => ctx.call(callback, undefined, callbackArgs)
return (callbackArgs, thisValue) => ctx.call(callback, thisValue, callbackArgs)
}
+29 -2
View File
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { Value } from "./objects.js"
import { Arr, Callable, coerceToInteger, coerceToString, get, Obj, type Value } from "./objects.js"
import { arrayGlobal } from "../stdlib/array.js"
import { textDecoderGlobal, textEncoderGlobal, uint8ArrayGlobal } from "../stdlib/bytes.js"
import { mapGlobal, setGlobal } from "../stdlib/collections.js"
@@ -19,7 +19,7 @@ import { base64Global, cryptoGlobal, structuredCloneGlobal } from "../stdlib/web
import { ToolReference } from "../tool-runtime.js"
import { errorGlobal } from "./errors.js"
import { errorTypes } from "./intrinsics.js"
import { constants, constructor, native } from "./native.js"
import { constants, constructor, methods, native, receiver } from "./native.js"
import { AsyncIteratorSymbol, IteratorSymbol, typeError } from "./model.js"
import { generatorGlobals } from "./generators.js"
import { promiseGlobal } from "./promises.js"
@@ -31,6 +31,25 @@ const functionGlobal = <R>(ctx: Interpreter<R>) => {
Effect.sync(() => {
throw typeError("The Function constructor is not supported; write the function inline.")
})
const target = (thisValue: Value, method: string) => receiver(Callable, thisValue, `Function.prototype.${method}`)
methods(ctx.builtins, ctx.builtins.Function, [
["call", 1, (thisValue, args) => ctx.call(target(thisValue, "call"), args[0], args.slice(1))],
["apply", 2, (thisValue, args) => ctx.call(target(thisValue, "apply"), args[0], listFromArrayLike(args[1]))],
[
"bind",
1,
(thisValue, args) => {
const fn = target(thisValue, "bind")
const bound = args.slice(1)
const length = get(fn, "length")
return native<R>(ctx.builtins, {
name: `bound ${coerceToString(get(fn, "name"))}`,
length: Math.max(0, (typeof length === "number" ? length : 0) - bound.length),
call: (_, rest) => ctx.call(fn, args[0], [...bound, ...rest]),
})
},
],
])
return constructor<R>(ctx.builtins, ctx.builtins.Function, {
name: "Function",
length: 1,
@@ -39,6 +58,14 @@ const functionGlobal = <R>(ctx: Interpreter<R>) => {
})
}
// CreateListFromArrayLike: `apply` reads `length` and the indexed properties of any object.
const listFromArrayLike = (value: Value): Array<Value> => {
if (value === undefined || value === null) return []
if (value instanceof Arr) return [...value.items]
if (!(value instanceof Obj)) throw typeError("Function.prototype.apply expects an array-like argument list.")
return Array.from({ length: coerceToInteger(get(value, "length")) }, (_, index) => get(value, String(index)))
}
const symbolGlobal = <R>(ctx: Interpreter<R>) => {
const symbol = native<R>(ctx.builtins, {
name: "Symbol",
@@ -81,6 +81,7 @@ import {
keys,
Native,
parseArrayIndex,
Arguments,
Arr,
Fn,
GeneratorObj,
@@ -287,7 +288,8 @@ export class Interpreter<R> {
this.pending = options.pending
this.builtins = options.builtins
this.logs = options.logs ?? []
const globalScope = new Map<string, Binding>()
// Program code has no receiver: top-level `this` is undefined, as in a module.
const globalScope = new Map<string, Binding>([["this", { mutable: false, value: undefined }]])
// Calling back into the program never reads frame state, so any frame serves; the root is always alive.
this.root = new Frame(this, new ScopeStack([globalScope]))
for (const [name, value] of [...globals(this), ...(options.globals?.(this) ?? [])]) {
@@ -468,6 +470,7 @@ class Frame<R> {
this.scopes.capture(),
node.async,
node.generator,
node.type === "ArrowFunctionExpression",
)
// Each generator function gets its own prototype, so `g() instanceof g` holds as in JS.
if (node.generator)
@@ -1257,6 +1260,8 @@ class Frame<R> {
}
case "Identifier":
return Effect.sync(() => this.scopes.get(node.name, node))
case "ThisExpression":
return Effect.sync(() => this.scopes.get("this", node))
case "BinaryExpression":
return this.evaluateBinaryExpression(node)
case "LogicalExpression":
@@ -1622,7 +1627,7 @@ class Frame<R> {
}
return yield* self.createToolCallPromise(callable.path, args)
}
if (callable instanceof Fn) return yield* self.invokeFunction(callable, args, node)
if (callable instanceof Fn) return yield* self.invokeFunction(callable, thisValue, args, node)
if (callable instanceof Native) {
return yield* self.native(() => (callable as Native<R>).call(thisValue, args), node)
}
@@ -1664,14 +1669,24 @@ class Frame<R> {
}
// A callback invoked by a built-in runs below the call that invoked the built-in, so the deeper of the two counts.
invokeFunction(fn: Fn, args: Array<Value>, node?: AstNode): Effect.Effect<Value, unknown, R> {
invokeFunction(fn: Fn, thisValue: Value, args: Array<Value>, node?: AstNode): Effect.Effect<Value, unknown, R> {
const self = this
return Effect.flatMap(CallSite, (site) => {
const depth = Math.max(self.depth, site.depth) + 1
if (depth > MAX_CALL_DEPTH) throw rangeError("Maximum call stack size exceeded", node)
const invocation = new Frame(this.ctx, new ScopeStack([...fn.capturedScopes, new Map()]), depth)
// Seed all parameters first so defaults cannot fall through to same-named outer bindings.
const paramScope = invocation.scopes.current()
// `this` and `arguments` are scope bindings so arrows resolve them lexically; a parameter named
// `arguments` shadows the object, as in JS.
if (!fn.arrow) {
paramScope.set("this", { mutable: false, value: thisValue, initialized: true })
paramScope.set("arguments", {
mutable: true,
value: new Arguments(self.ctx.builtins.Object, [...args]),
initialized: true,
})
}
// Seed all parameters first so defaults cannot fall through to same-named outer bindings.
for (const parameter of fn.parameters) {
for (const name of collectPatternNames(parameter)) {
paramScope.set(name, { mutable: true, value: undefined, initialized: false })
+1 -1
View File
@@ -72,7 +72,7 @@ export const uriError = failure("URIError")
// Orient the agent rather than enumerate JavaScript; interpreter-support.md is the full matrix.
export const supportedSyntaxMessage =
"This is a restricted JavaScript-like language. Supported: plain and async functions, data literals, destructuring, standard control flow, await and Promise, and built-ins such as Array, Object, Math, JSON, Date, RegExp, Map, Set, and URL. Unsupported: classes, this, getters/setters, BigInt, and custom Symbols. Use plain functions and data objects instead."
"This is a restricted JavaScript-like language. Supported: plain and async functions, data literals, destructuring, standard control flow, await and Promise, and built-ins such as Array, Object, Math, JSON, Date, RegExp, Map, Set, and URL. Unsupported: classes, getters/setters, BigInt, and custom Symbols. Use plain functions and data objects instead."
export const unsupportedSyntax = (kind: string, node: AstNode): PendingThrow =>
new PendingThrow(
+8 -1
View File
@@ -94,7 +94,7 @@ export class Obj {
}
export class Arr extends Obj {
override readonly tag = "Array"
override readonly tag: string = "Array"
/** The attributes every live element shares; `seal` and `freeze` narrow them since elements have no slots. */
elements: Attributes = data
constructor(
@@ -168,12 +168,19 @@ export class Fn extends Callable {
readonly capturedScopes: Array<Map<string, Binding>>,
readonly async: boolean,
readonly generator: boolean,
/** Arrows have no `this` or `arguments` of their own; they read the enclosing function's. */
readonly arrow: boolean,
) {
const optional = parameters.findIndex((p) => p.type === "AssignmentPattern" || p.type === "RestElement")
super(proto, name, optional === -1 ? parameters.length : optional)
}
}
/** The strict `arguments` object: an unmapped copy of the call's arguments that is not an Array. */
export class Arguments extends Arr {
override readonly tag = "Arguments"
}
export type NativeCall<R> = (thisValue: Value, args: Array<Value>) => Effect.Effect<Value, unknown, R>
export type NativeConstruct<R> = (args: Array<Value>, newTarget: Callable) => Effect.Effect<Value, unknown, R>
+2 -1
View File
@@ -6,6 +6,7 @@ import {
define,
get,
hidden,
Arguments,
Arr,
GeneratorObj,
hostIterator,
@@ -119,7 +120,7 @@ export const arrayGlobal = <R>(ctx: Interpreter<R>) => {
construct: (args, newTarget) => Effect.sync(() => construct(args, prototypeFrom(newTarget, proto))),
})
methods(builtins, array, [
["isArray", 1, (_, args) => args[0] instanceof Arr],
["isArray", 1, (_, args) => args[0] instanceof Arr && !(args[0] instanceof Arguments)],
["of", 0, (_, args) => wrap([...args])],
["from", 1, (_, args) => arrayFrom(ctx, args)],
])
+1 -1
View File
@@ -40,7 +40,7 @@ const parse = <R>(ctx: Interpreter<R>, args: Array<Value>): Effect.Effect<Value,
else set(value, name, revived)
}
}
return yield* apply([key, value])
return yield* apply([key, value], holder)
})
return visit(record(ctx.builtins.Object, { "": parsed }), "")
}
@@ -210,11 +210,14 @@ describe("Test262 JSON.stringify replacer adaptations", () => {
})
describe("CodeMode JSON callback boundaries", () => {
test("this remains unsupported rather than exposing callback holders", async () => {
const result = await Effect.runPromise(
CodeMode.execute({ code: `return JSON.parse("1", function (key, item) { return this })`, tools: {} }),
)
expect(result).toMatchObject({ ok: false, error: { kind: "UnsupportedSyntax" } })
test("revivers and replacers see the holder as this", async () => {
expect(
await value(`
const revived = JSON.parse('{"a":{"b":1}}', function (key, item) { return key === "b" ? this.b + 1 : item })
const text = JSON.stringify({ a: 1, b: 2 }, function (key, item) { return key === "a" ? this.b : item })
return [revived, text]
`),
).toEqual([{ a: { b: 2 } }, '{"a":2,"b":2}'])
})
test("prototype-named keys parse as own data and reach the reviver", async () => {
@@ -77,6 +77,6 @@ describe("new on a non-constructible callee", () => {
expect(failure.message).toStartWith(
"SyntaxError: Syntax 'ClassDeclaration' is not supported. This is a restricted JavaScript-like language. Supported: ",
)
expect(failure.message).toContain("Unsupported: classes, this, getters/setters, BigInt, and custom Symbols.")
expect(failure.message).toContain("Unsupported: classes, getters/setters, BigInt, and custom Symbols.")
})
})
+88
View File
@@ -1461,3 +1461,91 @@ describe("structuredClone", () => {
expect((await error(`structuredClone()`)).message).toContain("structuredClone requires 1 argument")
})
})
describe("this, arguments, and Function.prototype.call/apply/bind", () => {
test("this is the call receiver for non-arrow functions and lexical for arrows", async () => {
expect(
await value(`
const o = { n: 1, m() { return this.n }, a() { return (() => this.n)() }, bare() { return this } }
const detached = o.bare
function f() { return this }
return [o.m(), o["m"](), o?.m(), (o.m)(), o.a(), o.bare() === o, detached(), f(), (0, o.bare)(), this, (() => this)()]
`),
).toEqual([1, 1, 1, 1, 1, true, null, null, null, null, null])
})
test("this reaches generator and async methods and plain-function callbacks", async () => {
expect(
await value(`
const o = { n: 2, *g() { yield this.n }, async m() { return this.n }, xs: [1, 2], go() { return this.xs.map(function (x) { return [x, this] }) } }
return [[...o.g()], await o.m(), o.go()]
`),
).toEqual([
[2],
2,
[
[1, null],
[2, null],
],
])
})
test("arguments is an unmapped array-like that arrows and parameters interact with as in JS", async () => {
expect(
await value(`
function f(a) { arguments[0] = 9; return [arguments.length, arguments[1], a, [...arguments], Array.isArray(arguments), Object.prototype.toString.call(arguments), typeof arguments.map, (() => arguments[1])()] }
function shadow(arguments) { return arguments }
function hoisted() { var arguments; return arguments.length }
let outer
try { outer = arguments } catch (error) { outer = error.name }
return [f(1, 2), shadow(7), hoisted(1, 2, 3), outer]
`),
).toEqual([[2, 2, 1, [9, 2], false, "[object Arguments]", "undefined", 2], 7, 3, "ReferenceError"])
})
test("call, apply, and bind set this and arguments on program functions and built-ins", async () => {
expect(
await value(`
function f(a, b, c) { return [this, a, b, c] }
const g = f.bind({ k: 1 }, "A")
const arr = [1]
Array.prototype.push.call(arr, 2, 3)
return [
f.call("t", 1, 2),
f.apply({ k: 2 }, [1, 2]),
f.apply(null, { length: 2, 0: "x", 1: "y" }),
f.apply(null).length,
g("B", "C"), g.name, g.length,
f.bind(1).bind(2)()[0],
arr,
Math.max.apply(null, [1, 5, 3]),
Math.max.bind(null, 10)(3),
[1, 2].map(f.bind(null, 0)).map((r) => r[1]),
]
`),
).toEqual([
["t", 1, 2, null],
[{ k: 2 }, 1, 2, null],
[null, "x", "y", null],
4,
[{ k: 1 }, "A", "B", "C"],
"bound f",
2,
1,
[1, 2, 3],
5,
10,
[0, 0],
])
})
test("call and apply reject non-callable receivers and non-array-like argument lists", async () => {
expect((await error(`Function.prototype.call.call(1)`)).message).toContain(
"Function.prototype.call called on incompatible receiver",
)
expect((await error(`(() => 1).apply(null, 5)`)).message).toContain("expects an array-like argument list")
expect((await error(`function f(n) { return f.call(null, n + 1) } f(0)`)).message).toContain(
"Maximum call stack size exceeded",
)
})
})
+3 -1
View File
@@ -1416,7 +1416,9 @@ describe("built-in iterators", () => {
const logged = await run(`console.log([1].keys()); return null`)
expect(logged.logs?.[0]).toBe("[opaque reference]")
expect((await error(`return [1].keys() + ""`)).message).toContain("Binary operators require data values")
expect((await error(`return [1].keys().next.call({})`)).message).toContain("is not a function")
expect((await error(`return [1].keys().next.call({})`)).message).toContain(
"Iterator.prototype.next called on incompatible receiver a data object",
)
expect((await error(`const it = [1].keys(); const next = it.next; return next()`)).message).toContain(
"Iterator.prototype.next called on incompatible receiver undefined",
)
+3 -3
View File
@@ -24,9 +24,9 @@ Without them the runner registers no tests, so CI is unaffected. Licensed under
`script/sync-test262.ts` skips a file when its frontmatter declares a `flags`, `features`, or `includes` value the
manifest marks unsupported, or when its code matches one of the manifest's `boundaries` patterns. The sync checks the
checkout is at the pinned revision, so every machine runs the same 4595 files. Boundaries are
intentional limits of the interpreter, not compatibility work: classes, `this`, `arguments`, prototype objects,
property descriptors, accessors, boxed primitives, sloppy mode, `eval`, `Symbol()`, and the `$262` host API. If one
checkout is at the pinned revision, so every machine runs the same files. Boundaries are
intentional limits of the interpreter, not compatibility work: classes, prototype objects, property descriptors,
accessors, boxed primitives, sloppy mode, `eval`, `Symbol()`, and the `$262` host API. If one
of those decisions changes, delete its entry and re-sync; the tests are upstream, not lost.
## Commands
+5 -3
View File
@@ -2,6 +2,9 @@
"revision": "250f204f23a9249ff204be2baec29600faae7b75",
"directories": [
"built-ins/Array/prototype",
"built-ins/Function/prototype/apply",
"built-ins/Function/prototype/bind",
"built-ins/Function/prototype/call",
"built-ins/Iterator",
"built-ins/Object/freeze",
"built-ins/Object/getPrototypeOf",
@@ -11,18 +14,17 @@
"built-ins/Object/isSealed",
"built-ins/Object/preventExtensions",
"built-ins/String/raw",
"language/arguments-object",
"language/expressions/does-not-equals",
"language/expressions/equals",
"language/expressions/tagged-template",
"language/expressions/this",
"language/statements"
],
"harness": ["assert.js", "sta.js", "compareArray.js", "doneprintHandle.js"],
"flags": ["module", "raw", "noStrict"],
"boundaries": {
"class": "\\bclass\\s*[A-Za-z_${]",
"this": "\\bthis\\b",
"arguments": "\\barguments\\b",
"call/apply/bind": "\\.(call|apply|bind)\\s*\\(",
"accessor properties": "\\b(get|set)\\s+[\\w$\\[][^\\n(]*\\(",
"property descriptors": "Object\\.(defineProperty|defineProperties|getOwnPropertyDescriptors?|getOwnPropertyNames|setPrototypeOf)\\b",
"boxed primitives": "\\bnew\\s+(String|Number|Boolean)\\s*\\(",
+774
View File
@@ -4,13 +4,92 @@ built-ins/Array/prototype/concat/S15.4.4.4_A2_T2.js # Array.prototype.concat ca
built-ins/Array/prototype/concat/S15.4.4.4_A3_T1.js # arr.hasOwnProperty("1") must return true Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/concat/S15.4.4.4_A3_T2.js # b.hasOwnProperty("2") must return true Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/concat/S15.4.4.4_A3_T3.js # b.hasOwnProperty("2") must return true Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/concat/call-with-boolean.js # TypeError: Array.prototype.concat called on incompatible receiver a boolean.
built-ins/Array/prototype/concat/create-ctor-non-object.js # a.concat() throws a TypeError exception Expected a TypeError to be thrown but no exception was throw
built-ins/Array/prototype/copyWithin/call-with-boolean.js # TypeError: Array.prototype.copyWithin called on incompatible receiver a boolean.
built-ins/Array/prototype/copyWithin/coerced-values-start-change-target.js # Array.copyWithin expects start to be a number.
built-ins/Array/prototype/copyWithin/length-near-integer-limit.js # TypeError: Array.prototype.copyWithin called on incompatible receiver a data object.
built-ins/Array/prototype/copyWithin/return-abrupt-from-end.js # Expected a Test262Error but got a TypeError
built-ins/Array/prototype/copyWithin/return-abrupt-from-start.js # Expected a Test262Error but got a TypeError
built-ins/Array/prototype/copyWithin/return-abrupt-from-target.js # Expected a Test262Error but got a TypeError
built-ins/Array/prototype/copyWithin/return-this.js # TypeError: Array.prototype.copyWithin called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-1-10.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-1-11.js # TypeError: Array.prototype.every called on incompatible receiver a Date.
built-ins/Array/prototype/every/15.4.4.16-1-12.js # TypeError: Array.prototype.every called on incompatible receiver a RegExp.
built-ins/Array/prototype/every/15.4.4.16-1-13.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-1-14.js # TypeError: Array.prototype.every called on incompatible receiver an Error.
built-ins/Array/prototype/every/15.4.4.16-1-3.js # TypeError: Array.prototype.every called on incompatible receiver a boolean.
built-ins/Array/prototype/every/15.4.4.16-1-5.js # TypeError: Array.prototype.every called on incompatible receiver a number.
built-ins/Array/prototype/every/15.4.4.16-1-7.js # TypeError: Array.prototype.every called on incompatible receiver a string.
built-ins/Array/prototype/every/15.4.4.16-2-1.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-2-14.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-2-17.js # func(12, 11) !== true
built-ins/Array/prototype/every/15.4.4.16-2-19.js # TypeError: Array.prototype.every called on incompatible receiver a function.
built-ins/Array/prototype/every/15.4.4.16-2-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/every/15.4.4.16-2-6.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/every/15.4.4.16-3-1.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-10.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-11.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-12.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-13.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-14.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-15.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-16.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-17.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-18.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-19.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-2.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-20.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-21.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-22.js # toStringAccessed !== true
built-ins/Array/prototype/every/15.4.4.16-3-24.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-25.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-29.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-3.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-4.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-5.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-6.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-7.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-8.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-3-9.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-5-10.js # [11].every(callbackfn, objArray) !== true
built-ins/Array/prototype/every/15.4.4.16-5-14.js # [11].every(callbackfn, Math) !== true
built-ins/Array/prototype/every/15.4.4.16-5-15.js # [11].every(callbackfn, objDate) !== true
built-ins/Array/prototype/every/15.4.4.16-5-16.js # [11].every(callbackfn, objRegExp) !== true
built-ins/Array/prototype/every/15.4.4.16-5-17.js # [11].every(callbackfn, JSON) !== true
built-ins/Array/prototype/every/15.4.4.16-5-18.js # [11].every(callbackfn, objError) !== true
built-ins/Array/prototype/every/15.4.4.16-5-19.js # [11].every(callbackfn, arg) !== true
built-ins/Array/prototype/every/15.4.4.16-5-2.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/every/15.4.4.16-5-22.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/every/15.4.4.16-5-23.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/every/15.4.4.16-5-24.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/every/15.4.4.16-5-3.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/every/15.4.4.16-5-4.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/every/15.4.4.16-5-5.js # TypeError: foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/every/15.4.4.16-5-6.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/every/15.4.4.16-5-9.js # [11].every(callbackfn, objFunction) !== true
built-ins/Array/prototype/every/15.4.4.16-7-6.js # res Expected SameValue(«true», «false») to be true
built-ins/Array/prototype/every/15.4.4.16-7-8.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-i-1.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-i-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/every/15.4.4.16-7-c-i-7.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/every/15.4.4.16-7-c-i-8.js # [, , , ].every(callbackfn) Expected SameValue(«true», «false») to be true
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-16.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-17.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-18.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-19.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-20.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-21.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-22.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-23.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-6.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-7.js # Expected a Test262Error but got a TypeError
built-ins/Array/prototype/every/15.4.4.16-7-c-ii-8.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-iii-1.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-iii-2.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-iii-27.js # [11].every(callbackfn) !== true
built-ins/Array/prototype/every/15.4.4.16-7-c-iii-3.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-7-c-iii-4.js # TypeError: Array.prototype.every called on incompatible receiver a data object.
built-ins/Array/prototype/every/15.4.4.16-8-10.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/every/15.4.4.16-8-2.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/every/15.4.4.16-8-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
@@ -19,9 +98,66 @@ built-ins/Array/prototype/every/15.4.4.16-8-5.js # … cannot be constructed: u
built-ins/Array/prototype/every/15.4.4.16-8-6.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/every/15.4.4.16-8-7.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/every/15.4.4.16-8-8.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/every/call-with-boolean.js # TypeError: Array.prototype.every called on incompatible receiver a boolean.
built-ins/Array/prototype/fill/call-with-boolean.js # TypeError: Array.prototype.fill called on incompatible receiver a boolean.
built-ins/Array/prototype/fill/length-near-integer-limit.js # TypeError: Array.prototype.fill called on incompatible receiver a data object.
built-ins/Array/prototype/fill/return-abrupt-from-end.js # Expected a Test262Error but got a TypeError
built-ins/Array/prototype/fill/return-abrupt-from-start.js # Expected a Test262Error but got a TypeError
built-ins/Array/prototype/fill/return-this.js # TypeError: Array.prototype.fill called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-1-10.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-1-11.js # TypeError: Array.prototype.filter called on incompatible receiver a Date.
built-ins/Array/prototype/filter/15.4.4.20-1-12.js # TypeError: Array.prototype.filter called on incompatible receiver a RegExp.
built-ins/Array/prototype/filter/15.4.4.20-1-13.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-1-14.js # TypeError: Array.prototype.filter called on incompatible receiver an Error.
built-ins/Array/prototype/filter/15.4.4.20-1-3.js # TypeError: Array.prototype.filter called on incompatible receiver a boolean.
built-ins/Array/prototype/filter/15.4.4.20-1-5.js # TypeError: Array.prototype.filter called on incompatible receiver a number.
built-ins/Array/prototype/filter/15.4.4.20-1-7.js # TypeError: Array.prototype.filter called on incompatible receiver a string.
built-ins/Array/prototype/filter/15.4.4.20-10-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/filter/15.4.4.20-2-1.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-2-14.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-2-19.js # TypeError: Array.prototype.filter called on incompatible receiver a function.
built-ins/Array/prototype/filter/15.4.4.20-2-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/filter/15.4.4.20-2-6.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/filter/15.4.4.20-3-1.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-10.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-11.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-12.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-13.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-14.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-15.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-16.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-17.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-18.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-19.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-2.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-20.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-21.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-22.js # firstStepOccured !== true
built-ins/Array/prototype/filter/15.4.4.20-3-23.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/filter/15.4.4.20-3-24.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-25.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-3.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-4.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-5.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-6.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-7.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-3-9.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-5-10.js # newArr[0] Expected SameValue(«undefined», «11») to be true
built-ins/Array/prototype/filter/15.4.4.20-5-14.js # newArr[0] Expected SameValue(«undefined», «11») to be true
built-ins/Array/prototype/filter/15.4.4.20-5-15.js # newArr[0] Expected SameValue(«undefined», «11») to be true
built-ins/Array/prototype/filter/15.4.4.20-5-16.js # newArr[0] Expected SameValue(«undefined», «11») to be true
built-ins/Array/prototype/filter/15.4.4.20-5-17.js # newArr[0] Expected SameValue(«undefined», «11») to be true
built-ins/Array/prototype/filter/15.4.4.20-5-18.js # newArr[0] Expected SameValue(«undefined», «11») to be true
built-ins/Array/prototype/filter/15.4.4.20-5-19.js # newArr[0] Expected SameValue(«undefined», «11») to be true
built-ins/Array/prototype/filter/15.4.4.20-5-2.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/filter/15.4.4.20-5-22.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/filter/15.4.4.20-5-23.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/filter/15.4.4.20-5-24.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/filter/15.4.4.20-5-3.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/filter/15.4.4.20-5-4.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/filter/15.4.4.20-5-5.js # TypeError: foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/filter/15.4.4.20-5-6.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/filter/15.4.4.20-5-9.js # newArr[0] Expected SameValue(«undefined», «11») to be true
built-ins/Array/prototype/filter/15.4.4.20-6-2.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/filter/15.4.4.20-6-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/filter/15.4.4.20-6-4.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
@@ -30,11 +166,121 @@ built-ins/Array/prototype/filter/15.4.4.20-6-6.js # … cannot be constructed:
built-ins/Array/prototype/filter/15.4.4.20-6-7.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/filter/15.4.4.20-6-8.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/filter/15.4.4.20-9-6.js # resArr.length Expected SameValue(«3», «4») to be true
built-ins/Array/prototype/filter/15.4.4.20-9-8.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-i-1.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-i-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/filter/15.4.4.20-9-c-i-7.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/filter/15.4.4.20-9-c-i-8.js # newArr.length Expected SameValue(«0», «1») to be true
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-16.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-17.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-18.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-19.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-20.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-21.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-22.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-23.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-6.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-7.js # Expected a Error but got a TypeError
built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-8.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-1-1.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-1-2.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-1-3.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-1-4.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-2.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-28.js # newArr.length Expected SameValue(«0», «1») to be true
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-29.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-3.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-4.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/15.4.4.20-9-c-iii-5.js # TypeError: Array.prototype.filter called on incompatible receiver a data object.
built-ins/Array/prototype/filter/call-with-boolean.js # TypeError: Array.prototype.filter called on incompatible receiver a boolean.
built-ins/Array/prototype/filter/create-ctor-non-object.js # null value Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Array/prototype/find/call-with-boolean.js # TypeError: Array.prototype.find called on incompatible receiver a boolean.
built-ins/Array/prototype/find/predicate-call-this-strict.js # Expected SameValue(«undefined», «object») to be true
built-ins/Array/prototype/findIndex/call-with-boolean.js # TypeError: Array.prototype.findIndex called on incompatible receiver a boolean.
built-ins/Array/prototype/findIndex/predicate-call-this-strict.js # Expected SameValue(«undefined», «object») to be true
built-ins/Array/prototype/findLast/call-with-boolean.js # TypeError: Array.prototype.findLast called on incompatible receiver a boolean.
built-ins/Array/prototype/findLast/maximum-index.js # TypeError: Array.prototype.findLast called on incompatible receiver a data object.
built-ins/Array/prototype/findLast/predicate-call-this-strict.js # Expected SameValue(«undefined», «object») to be true
built-ins/Array/prototype/findLastIndex/call-with-boolean.js # TypeError: Array.prototype.findLastIndex called on incompatible receiver a boolean.
built-ins/Array/prototype/findLastIndex/maximum-index.js # TypeError: Array.prototype.findLastIndex called on incompatible receiver a data object.
built-ins/Array/prototype/findLastIndex/predicate-call-this-strict.js # Expected SameValue(«undefined», «object») to be true
built-ins/Array/prototype/flat/array-like-objects.js # TypeError: Array.prototype.flat called on incompatible receiver a data object.
built-ins/Array/prototype/flat/call-with-boolean.js # TypeError: Array.prototype.flat called on incompatible receiver a boolean.
built-ins/Array/prototype/flat/non-object-ctor-throws.js # null value Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Array/prototype/flat/proxy-access-count.js # ReferenceError: Unknown identifier '…'.
built-ins/Array/prototype/flatMap/call-with-boolean.js # TypeError: Array.prototype.flatMap called on incompatible receiver a boolean.
built-ins/Array/prototype/flatMap/proxy-access-count.js # ReferenceError: Unknown identifier '…'.
built-ins/Array/prototype/flatMap/thisArg-argument.js # Actual [undefined] and expected ["TestString"] should have the same contents. The value of actual is
built-ins/Array/prototype/forEach/15.4.4.18-1-10.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-1-11.js # TypeError: Array.prototype.forEach called on incompatible receiver a Date.
built-ins/Array/prototype/forEach/15.4.4.18-1-12.js # TypeError: Array.prototype.forEach called on incompatible receiver a RegExp.
built-ins/Array/prototype/forEach/15.4.4.18-1-13.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-1-14.js # TypeError: Array.prototype.forEach called on incompatible receiver an Error.
built-ins/Array/prototype/forEach/15.4.4.18-1-3.js # TypeError: Array.prototype.forEach called on incompatible receiver a boolean.
built-ins/Array/prototype/forEach/15.4.4.18-1-5.js # TypeError: Array.prototype.forEach called on incompatible receiver a number.
built-ins/Array/prototype/forEach/15.4.4.18-1-7.js # TypeError: Array.prototype.forEach called on incompatible receiver a string.
built-ins/Array/prototype/forEach/15.4.4.18-2-1.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-2-14.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-2-17.js # func(12, 11) !== true
built-ins/Array/prototype/forEach/15.4.4.18-2-19.js # TypeError: Array.prototype.forEach called on incompatible receiver a function.
built-ins/Array/prototype/forEach/15.4.4.18-2-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/forEach/15.4.4.18-2-6.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/forEach/15.4.4.18-3-1.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-10.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-11.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-12.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-13.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-14.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-15.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-16.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-17.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-18.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-19.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-2.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-20.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-21.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-23.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/forEach/15.4.4.18-3-24.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-25.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-3.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-4.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-5.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-6.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-7.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-3-9.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-5-10.js # result !== true
built-ins/Array/prototype/forEach/15.4.4.18-5-14.js # result !== true
built-ins/Array/prototype/forEach/15.4.4.18-5-15.js # result !== true
built-ins/Array/prototype/forEach/15.4.4.18-5-16.js # result !== true
built-ins/Array/prototype/forEach/15.4.4.18-5-17.js # result !== true
built-ins/Array/prototype/forEach/15.4.4.18-5-18.js # result !== true
built-ins/Array/prototype/forEach/15.4.4.18-5-19.js # result !== true
built-ins/Array/prototype/forEach/15.4.4.18-5-2.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/forEach/15.4.4.18-5-22.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/forEach/15.4.4.18-5-23.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/forEach/15.4.4.18-5-24.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/forEach/15.4.4.18-5-3.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/forEach/15.4.4.18-5-4.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/forEach/15.4.4.18-5-5.js # TypeError: foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/forEach/15.4.4.18-5-6.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/forEach/15.4.4.18-5-9.js # result !== true
built-ins/Array/prototype/forEach/15.4.4.18-7-5.js # callCnt Expected SameValue(«4», «5») to be true
built-ins/Array/prototype/forEach/15.4.4.18-7-8.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-1.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-7.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/forEach/15.4.4.18-7-c-i-8.js # testResult !== true
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-16.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-17.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-18.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-19.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-20.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-21.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-22.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-23.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-6.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-7.js # Expected a Error but got a TypeError
built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-8.js # TypeError: Array.prototype.forEach called on incompatible receiver a data object.
built-ins/Array/prototype/forEach/15.4.4.18-8-10.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/forEach/15.4.4.18-8-2.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/forEach/15.4.4.18-8-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
@@ -44,33 +290,238 @@ built-ins/Array/prototype/forEach/15.4.4.18-8-6.js # … cannot be constructed:
built-ins/Array/prototype/forEach/15.4.4.18-8-7.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/forEach/15.4.4.18-8-8.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/forEach/15.4.4.18-8-9.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/forEach/call-with-boolean.js # TypeError: Array.prototype.forEach called on incompatible receiver a boolean.
built-ins/Array/prototype/includes/call-with-boolean.js # TypeError: Array.prototype.includes called on incompatible receiver a boolean.
built-ins/Array/prototype/includes/length-boundaries.js # TypeError: Array.prototype.includes called on incompatible receiver a data object.
built-ins/Array/prototype/includes/return-abrupt-tointeger-fromindex.js # Expected a Test262Error but got a TypeError
built-ins/Array/prototype/includes/return-abrupt-tonumber-length.js # valueOf Expected a Test262Error but got a TypeError
built-ins/Array/prototype/includes/tointeger-fromindex.js # Array.includes expects start index to be a number.
built-ins/Array/prototype/includes/tolength-length.js # TypeError: Array.prototype.includes called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-1-10.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-1-11.js # TypeError: Array.prototype.indexOf called on incompatible receiver a Date.
built-ins/Array/prototype/indexOf/15.4.4.14-1-12.js # TypeError: Array.prototype.indexOf called on incompatible receiver a RegExp.
built-ins/Array/prototype/indexOf/15.4.4.14-1-13.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-1-14.js # TypeError: Array.prototype.indexOf called on incompatible receiver an Error.
built-ins/Array/prototype/indexOf/15.4.4.14-1-3.js # TypeError: Array.prototype.indexOf called on incompatible receiver a boolean.
built-ins/Array/prototype/indexOf/15.4.4.14-1-5.js # TypeError: Array.prototype.indexOf called on incompatible receiver a number.
built-ins/Array/prototype/indexOf/15.4.4.14-1-7.js # TypeError: Array.prototype.indexOf called on incompatible receiver a string.
built-ins/Array/prototype/indexOf/15.4.4.14-1-9.js # TypeError: Array.prototype.indexOf called on incompatible receiver a function.
built-ins/Array/prototype/indexOf/15.4.4.14-2-1.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-2-14.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-2-17.js # func(0, true) !== true
built-ins/Array/prototype/indexOf/15.4.4.14-2-19.js # TypeError: Array.prototype.indexOf called on incompatible receiver a function.
built-ins/Array/prototype/indexOf/15.4.4.14-2-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/indexOf/15.4.4.14-2-6.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/indexOf/15.4.4.14-3-1.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-10.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-11.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-12.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-13.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-14.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-15.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-16.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-17.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-18.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-19.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-2.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-20.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-21.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-22.js # toStringAccessed
built-ins/Array/prototype/indexOf/15.4.4.14-3-23.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/indexOf/15.4.4.14-3-24.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-25.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-28.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-29.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-3.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-4.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-5.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-6.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-7.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-8.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-3-9.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-10.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-11.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-2.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-3.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-4.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-5.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-6.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-7.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-8.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-4-9.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-5-23.js # Array.indexOf expects start index to be a number.
built-ins/Array/prototype/indexOf/15.4.4.14-5-24.js # toStringAccessed
built-ins/Array/prototype/indexOf/15.4.4.14-5-25.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/indexOf/15.4.4.14-9-7.js # Array assignment result contains a circular value.
built-ins/Array/prototype/indexOf/15.4.4.14-9-a-2.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-9-a-3.js # Array.indexOf expects start index to be a number.
built-ins/Array/prototype/indexOf/15.4.4.14-9-a-5.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-9-a-6.js # Array.indexOf expects start index to be a number.
built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-1.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-4.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-7.js # [, , , ].indexOf(true) Expected SameValue(«-1», «0») to be true
built-ins/Array/prototype/indexOf/15.4.4.14-9-b-i-8.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/indexOf/call-with-boolean.js # TypeError: Array.prototype.indexOf called on incompatible receiver a boolean.
built-ins/Array/prototype/indexOf/length-near-integer-limit.js # TypeError: Array.prototype.indexOf called on incompatible receiver a data object.
built-ins/Array/prototype/join/S15.4.4.5_A2_T1.js # Array.prototype.join called on incompatible receiver a data object.
built-ins/Array/prototype/join/S15.4.4.5_A2_T4.js # Array.prototype.join called on incompatible receiver a data object.
built-ins/Array/prototype/join/S15.4.4.5_A3.1_T2.js # Array.join expects zero arguments or one string separator.
built-ins/Array/prototype/join/S15.4.4.5_A3.2_T2.js # x.join() must return "*" Expected SameValue(«"[object Object]"», «"*"») to be true
built-ins/Array/prototype/join/S15.4.4.5_A4_T3.js # Array.prototype.join called on incompatible receiver a data object.
built-ins/Array/prototype/join/S15.4.4.5_A5_T1.js # #1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.join() === "0,1". Actual: 0,
built-ins/Array/prototype/join/call-with-boolean.js # TypeError: Array.prototype.join called on incompatible receiver a boolean.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-10.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-11.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a Date.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-12.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a RegExp.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-13.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-14.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver an Error.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-3.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a boolean.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-5.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a number.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-7.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a string.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-1-9.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a function.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-2-1.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-2-14.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-2-17.js # func(0, targetObj) !== true
built-ins/Array/prototype/lastIndexOf/15.4.4.15-2-19.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a function.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-2-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/lastIndexOf/15.4.4.15-2-6.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-1.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-10.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-11.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-12.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-13.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-14.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-15.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-16.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-17.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-19.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-2.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-20.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-21.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-22.js # toStringAccessed
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-23.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-24.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-25.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-28.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-3.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-4.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-5.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-6.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-7.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-3-9.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-10.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-11.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-2.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-3.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-4.js # TypeError: foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-5.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-6.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-7.js # TypeError: foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-8.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-4-9.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-21.js # Array.lastIndexOf expects start index to be a number.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-22.js # Array.lastIndexOf expects start index to be a number.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-23.js # Array.lastIndexOf expects start index to be a number.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-24.js # toStringAccessed
built-ins/Array/prototype/lastIndexOf/15.4.4.15-5-25.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-7.js # Array assignment result contains a circular value.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-a-2.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-a-3.js # Array.lastIndexOf expects start index to be a number.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-a-5.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-1.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-4.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-7.js # [, , , ].lastIndexOf(true) Expected SameValue(«-1», «0») to be true
built-ins/Array/prototype/lastIndexOf/15.4.4.15-8-b-i-8.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/lastIndexOf/call-with-boolean.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a boolean.
built-ins/Array/prototype/lastIndexOf/length-near-integer-limit.js # TypeError: Array.prototype.lastIndexOf called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-1-10.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-1-11.js # TypeError: Array.prototype.map called on incompatible receiver a Date.
built-ins/Array/prototype/map/15.4.4.19-1-12.js # TypeError: Array.prototype.map called on incompatible receiver a RegExp.
built-ins/Array/prototype/map/15.4.4.19-1-13.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-1-14.js # TypeError: Array.prototype.map called on incompatible receiver an Error.
built-ins/Array/prototype/map/15.4.4.19-1-3.js # TypeError: Array.prototype.map called on incompatible receiver a boolean.
built-ins/Array/prototype/map/15.4.4.19-1-5.js # TypeError: Array.prototype.map called on incompatible receiver a number.
built-ins/Array/prototype/map/15.4.4.19-1-7.js # TypeError: Array.prototype.map called on incompatible receiver a string.
built-ins/Array/prototype/map/15.4.4.19-2-1.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-2-14.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-2-19.js # TypeError: Array.prototype.map called on incompatible receiver a function.
built-ins/Array/prototype/map/15.4.4.19-2-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-2-6.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-3-1.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-10.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-11.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-12.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-13.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-14.js # Expected a RangeError but got a TypeError
built-ins/Array/prototype/map/15.4.4.19-3-15.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-16.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-17.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-18.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-19.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-2.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-20.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-21.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-23.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-3-24.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-25.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-28.js # Expected a RangeError but got a TypeError
built-ins/Array/prototype/map/15.4.4.19-3-29.js # Expected a RangeError but got a TypeError
built-ins/Array/prototype/map/15.4.4.19-3-3.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-4.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-5.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-6.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-7.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-3-8.js # Expected a RangeError but got a TypeError
built-ins/Array/prototype/map/15.4.4.19-3-9.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-5-10.js # testResult[0] Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/map/15.4.4.19-5-14.js # testResult[0] Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/map/15.4.4.19-5-15.js # testResult[0] Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/map/15.4.4.19-5-16.js # testResult[0] Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/map/15.4.4.19-5-17.js # testResult[0] Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/map/15.4.4.19-5-18.js # testResult[0] Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/map/15.4.4.19-5-19.js # testResult[0] Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/map/15.4.4.19-5-2.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/map/15.4.4.19-5-22.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/map/15.4.4.19-5-23.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/map/15.4.4.19-5-24.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/map/15.4.4.19-5-3.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/map/15.4.4.19-5-4.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/map/15.4.4.19-5-5.js # TypeError: foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-5-6.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/map/15.4.4.19-5-9.js # testResult[0] Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/map/15.4.4.19-8-6.js # resArr[4] Expected SameValue(«undefined», «1») to be true
built-ins/Array/prototype/map/15.4.4.19-8-8.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-i-1.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-i-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-8-c-i-7.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-8-c-i-8.js # newArr[1] Expected SameValue(«13», «true») to be true
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-16.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-17.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-18.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-19.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-20.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-21.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-22.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-23.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-6.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-7.js # Expected a Error but got a TypeError
built-ins/Array/prototype/map/15.4.4.19-8-c-ii-8.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-iii-2.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-iii-3.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-iii-4.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-8-c-iii-5.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-9-10.js # TypeError: Foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-9-11.js # TypeError: Foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-9-12.js # TypeError: Foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-9-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/map/15.4.4.19-9-5.js # TypeError: Array.prototype.map called on incompatible receiver a data object.
built-ins/Array/prototype/map/15.4.4.19-9-6.js # TypeError: Foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-9-7.js # TypeError: Foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-9-8.js # TypeError: Foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/15.4.4.19-9-9.js # TypeError: Foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/map/call-with-boolean.js # TypeError: Array.prototype.map called on incompatible receiver a boolean.
built-ins/Array/prototype/map/create-ctor-non-object.js # null value Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Array/prototype/map/create-non-array-invalid-len.js # Expected a RangeError but got a TypeError
built-ins/Array/prototype/pop/S15.4.4.6_A2_T1.js # Array.prototype.pop called on incompatible receiver a data object.
built-ins/Array/prototype/pop/S15.4.4.6_A2_T4.js # Array.prototype.pop called on incompatible receiver a data object.
built-ins/Array/prototype/pop/S15.4.4.6_A3_T1.js # Array.prototype.pop called on incompatible receiver a data object.
@@ -78,6 +529,9 @@ built-ins/Array/prototype/pop/S15.4.4.6_A3_T2.js # Array.prototype.pop called o
built-ins/Array/prototype/pop/S15.4.4.6_A3_T3.js # Array.prototype.pop called on incompatible receiver a data object.
built-ins/Array/prototype/pop/S15.4.4.6_A4_T1.js # #1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.pop() === 1. Actual: undefined
built-ins/Array/prototype/pop/S15.4.4.6_A4_T2.js # Array.prototype.pop called on incompatible receiver a data object.
built-ins/Array/prototype/pop/call-with-boolean.js # TypeError: Array.prototype.pop called on incompatible receiver a boolean.
built-ins/Array/prototype/pop/clamps-to-integer-limit.js # TypeError: Array.prototype.pop called on incompatible receiver a data object.
built-ins/Array/prototype/pop/length-near-integer-limit.js # TypeError: Array.prototype.pop called on incompatible receiver a data object.
built-ins/Array/prototype/push/S15.4.4.7_A2_T1.js # Array.prototype.push called on incompatible receiver a data object.
built-ins/Array/prototype/push/S15.4.4.7_A2_T3.js # Array.prototype.push called on incompatible receiver a data object.
built-ins/Array/prototype/push/S15.4.4.7_A3.js # The value of x[4294967295] is expected to be "x" Expected SameValue(«undefined», «"x"») to be true
@@ -85,10 +539,51 @@ built-ins/Array/prototype/push/S15.4.4.7_A4_T1.js # Array.prototype.push called
built-ins/Array/prototype/push/S15.4.4.7_A4_T2.js # Array.prototype.push called on incompatible receiver a data object.
built-ins/Array/prototype/push/S15.4.4.7_A4_T3.js # Array.prototype.push called on incompatible receiver a data object.
built-ins/Array/prototype/push/S15.4.4.7_A5_T1.js # Array.prototype.push called on incompatible receiver a data object.
built-ins/Array/prototype/push/call-with-boolean.js # TypeError: Array.prototype.push called on incompatible receiver a boolean.
built-ins/Array/prototype/push/clamps-to-integer-limit.js # TypeError: Array.prototype.push called on incompatible receiver a data object.
built-ins/Array/prototype/push/length-near-integer-limit.js # TypeError: Array.prototype.push called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-1-10.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-1-11.js # TypeError: Array.prototype.reduce called on incompatible receiver a Date.
built-ins/Array/prototype/reduce/15.4.4.21-1-12.js # TypeError: Array.prototype.reduce called on incompatible receiver a RegExp.
built-ins/Array/prototype/reduce/15.4.4.21-1-13.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-1-14.js # TypeError: Array.prototype.reduce called on incompatible receiver an Error.
built-ins/Array/prototype/reduce/15.4.4.21-1-3.js # TypeError: Array.prototype.reduce called on incompatible receiver a boolean.
built-ins/Array/prototype/reduce/15.4.4.21-1-5.js # TypeError: Array.prototype.reduce called on incompatible receiver a number.
built-ins/Array/prototype/reduce/15.4.4.21-1-7.js # TypeError: Array.prototype.reduce called on incompatible receiver a string.
built-ins/Array/prototype/reduce/15.4.4.21-10-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduce/15.4.4.21-10-4.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduce/15.4.4.21-10-6.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduce/15.4.4.21-10-7.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduce/15.4.4.21-2-1.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-2-14.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-2-17.js # func(12, 11) Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/reduce/15.4.4.21-2-19.js # TypeError: Array.prototype.reduce called on incompatible receiver a function.
built-ins/Array/prototype/reduce/15.4.4.21-2-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduce/15.4.4.21-2-6.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduce/15.4.4.21-3-1.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-10.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-11.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-12.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-13.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-14.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-15.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-16.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-17.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-18.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-19.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-2.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-20.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-21.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-22.js # toStringAccessed !== true
built-ins/Array/prototype/reduce/15.4.4.21-3-23.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduce/15.4.4.21-3-24.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-25.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-3.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-4.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-5.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-6.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-7.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-3-9.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-5-2.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduce/15.4.4.21-5-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduce/15.4.4.21-5-4.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
@@ -104,14 +599,77 @@ built-ins/Array/prototype/reduce/15.4.4.21-7-6.js # … cannot be constructed:
built-ins/Array/prototype/reduce/15.4.4.21-7-7.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduce/15.4.4.21-7-8.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduce/15.4.4.21-7-9.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-1.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-29.js # TypeError: Array.prototype.reduce called on incompatible receiver a function.
built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-7.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduce/15.4.4.21-8-b-iii-1-8.js # Array.reduce of an empty array with no initial value.
built-ins/Array/prototype/reduce/15.4.4.21-8-c-4.js # Array.reduce of an empty array with no initial value.
built-ins/Array/prototype/reduce/15.4.4.21-9-6.js # res Expected SameValue(«"123"», «"1235"») to be true
built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-1.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-29.js # TypeError: Array.prototype.reduce called on incompatible receiver a function.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-7.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduce/15.4.4.21-9-c-i-8.js # testResult !== true
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-16.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-18.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-20.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-21.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-22.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-23.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-24.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-25.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-26.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-30.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-31.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-32.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-33.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-34.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-35.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-37.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-7.js # Expected a Error but got a TypeError
built-ins/Array/prototype/reduce/15.4.4.21-9-c-ii-8.js # TypeError: Array.prototype.reduce called on incompatible receiver a data object.
built-ins/Array/prototype/reduce/call-with-boolean.js # TypeError: Array.prototype.reduce called on incompatible receiver a boolean.
built-ins/Array/prototype/reduceRight/15.4.4.22-1-10.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-1-11.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a Date.
built-ins/Array/prototype/reduceRight/15.4.4.22-1-12.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a RegExp.
built-ins/Array/prototype/reduceRight/15.4.4.22-1-13.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-1-14.js # TypeError: Array.prototype.reduceRight called on incompatible receiver an Error.
built-ins/Array/prototype/reduceRight/15.4.4.22-1-3.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a boolean.
built-ins/Array/prototype/reduceRight/15.4.4.22-1-5.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a number.
built-ins/Array/prototype/reduceRight/15.4.4.22-1-7.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a string.
built-ins/Array/prototype/reduceRight/15.4.4.22-10-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduceRight/15.4.4.22-10-4.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduceRight/15.4.4.22-10-6.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduceRight/15.4.4.22-10-7.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduceRight/15.4.4.22-2-1.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-2-14.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-2-19.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a function.
built-ins/Array/prototype/reduceRight/15.4.4.22-2-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduceRight/15.4.4.22-2-6.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduceRight/15.4.4.22-3-1.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-10.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-11.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-12.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-13.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-14.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-15.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-16.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-17.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-18.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-19.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-2.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-20.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-21.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-22.js # toStringAccessed !== true
built-ins/Array/prototype/reduceRight/15.4.4.22-3-24.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-25.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-3.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-4.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-5.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-6.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-7.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-3-9.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-5-2.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduceRight/15.4.4.22-5-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduceRight/15.4.4.22-5-4.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
@@ -127,20 +685,50 @@ built-ins/Array/prototype/reduceRight/15.4.4.22-7-6.js # … cannot be construc
built-ins/Array/prototype/reduceRight/15.4.4.22-7-7.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduceRight/15.4.4.22-7-8.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduceRight/15.4.4.22-7-9.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-1.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-29.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a function.
built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-7.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduceRight/15.4.4.22-8-b-iii-1-8.js # Array.reduceRight of an empty array with no initial value.
built-ins/Array/prototype/reduceRight/15.4.4.22-8-c-4.js # Array.reduceRight of an empty array with no initial value.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-6.js # res Expected SameValue(«"91"», «"151"») to be true
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-i-1.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-i-29.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a function.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-i-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-i-7.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-i-8.js # testResult !== true
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-16.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-20.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-21.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-22.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-23.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-24.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-25.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-26.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-30.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-31.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-32.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-33.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-34.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-35.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-37.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-7.js # Expected a Test262Error but got a TypeError
built-ins/Array/prototype/reduceRight/15.4.4.22-9-c-ii-8.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a data object.
built-ins/Array/prototype/reduceRight/call-with-boolean.js # TypeError: Array.prototype.reduceRight called on incompatible receiver a boolean.
built-ins/Array/prototype/reduceRight/length-near-integer-limit.js # The value of acc.length is expected to be 2 Expected SameValue(«undefined», «2») to be true
built-ins/Array/prototype/reverse/S15.4.4.8_A2_T1.js # Array.prototype.reverse called on incompatible receiver a data object.
built-ins/Array/prototype/reverse/S15.4.4.8_A3_T3.js # Array.prototype.reverse called on incompatible receiver a data object.
built-ins/Array/prototype/reverse/S15.4.4.8_A4_T1.js # #1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.reverse(); x[0] === 1. Actual: undefined
built-ins/Array/prototype/reverse/S15.4.4.8_A4_T2.js # Array.prototype.reverse called on incompatible receiver a data object.
built-ins/Array/prototype/reverse/call-with-boolean.js # TypeError: Array.prototype.reverse called on incompatible receiver a boolean.
built-ins/Array/prototype/reverse/length-exceeding-integer-limit-with-object.js # TypeError: Only init object properties are supported.
built-ins/Array/prototype/shift/S15.4.4.9_A2_T1.js # Array.prototype.shift called on incompatible receiver a data object.
built-ins/Array/prototype/shift/S15.4.4.9_A2_T4.js # Array.prototype.shift called on incompatible receiver a data object.
built-ins/Array/prototype/shift/S15.4.4.9_A2_T5.js # Array.prototype.shift called on incompatible receiver a data object.
built-ins/Array/prototype/shift/S15.4.4.9_A3_T3.js # Array.prototype.shift called on incompatible receiver a data object.
built-ins/Array/prototype/shift/S15.4.4.9_A4_T1.js # #2: Array.prototype[1] = 1; x = [0]; x.length = 2; x.shift(); x[0] === 1. Actual: undefined
built-ins/Array/prototype/shift/S15.4.4.9_A4_T2.js # Array.prototype.shift called on incompatible receiver a data object.
built-ins/Array/prototype/shift/call-with-boolean.js # TypeError: Array.prototype.shift called on incompatible receiver a boolean.
built-ins/Array/prototype/slice/S15.4.4.10_A2.2_T5.js # Array.slice expects end to be a number.
built-ins/Array/prototype/slice/S15.4.4.10_A2_T1.js # Array.prototype.slice called on incompatible receiver a data object.
built-ins/Array/prototype/slice/S15.4.4.10_A2_T2.js # Array.prototype.slice called on incompatible receiver a data object.
@@ -152,9 +740,89 @@ built-ins/Array/prototype/slice/S15.4.4.10_A3_T1.js # Expected a RangeError but
built-ins/Array/prototype/slice/S15.4.4.10_A3_T2.js # Expected a RangeError but got a TypeError
built-ins/Array/prototype/slice/S15.4.4.10_A3_T3.js # Array.prototype.slice called on incompatible receiver a data object.
built-ins/Array/prototype/slice/S15.4.4.10_A4_T1.js # #3: Array.prototype[1] = 1; x = [0]; x.length = 2; var arr = x.slice(); arr.hasOwnProperty('…') ===
built-ins/Array/prototype/slice/call-with-boolean.js # TypeError: Array.prototype.slice called on incompatible receiver a boolean.
built-ins/Array/prototype/slice/create-ctor-non-object.js # null value Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Array/prototype/slice/length-exceeding-integer-limit-proxied-array.js # ReferenceError: Unknown identifier '…'.
built-ins/Array/prototype/slice/length-exceeding-integer-limit.js # TypeError: Array.prototype.slice called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-1-10.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-1-11.js # TypeError: Array.prototype.some called on incompatible receiver a Date.
built-ins/Array/prototype/some/15.4.4.17-1-12.js # TypeError: Array.prototype.some called on incompatible receiver a RegExp.
built-ins/Array/prototype/some/15.4.4.17-1-13.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-1-14.js # TypeError: Array.prototype.some called on incompatible receiver an Error.
built-ins/Array/prototype/some/15.4.4.17-1-3.js # TypeError: Array.prototype.some called on incompatible receiver a boolean.
built-ins/Array/prototype/some/15.4.4.17-1-5.js # TypeError: Array.prototype.some called on incompatible receiver a number.
built-ins/Array/prototype/some/15.4.4.17-1-7.js # TypeError: Array.prototype.some called on incompatible receiver a string.
built-ins/Array/prototype/some/15.4.4.17-2-1.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-2-14.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-2-17.js # func(9, 11) !== true
built-ins/Array/prototype/some/15.4.4.17-2-19.js # TypeError: Array.prototype.some called on incompatible receiver a function.
built-ins/Array/prototype/some/15.4.4.17-2-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/some/15.4.4.17-2-6.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/some/15.4.4.17-3-1.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-10.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-11.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-12.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-13.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-14.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-15.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-16.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-17.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-18.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-19.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-2.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-20.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-21.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-22.js # toStringAccessed !== true
built-ins/Array/prototype/some/15.4.4.17-3-23.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/some/15.4.4.17-3-24.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-25.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-28.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-29.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-3.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-4.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-5.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-6.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-7.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-8.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-3-9.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-5-10.js # [11].some(callbackfn, objArray) !== true
built-ins/Array/prototype/some/15.4.4.17-5-14.js # [11].some(callbackfn, Math) !== true
built-ins/Array/prototype/some/15.4.4.17-5-15.js # [11].some(callbackfn, objDate) !== true
built-ins/Array/prototype/some/15.4.4.17-5-16.js # [11].some(callbackfn, objRegExp) !== true
built-ins/Array/prototype/some/15.4.4.17-5-17.js # [11].some(callbackfn, JSON) !== true
built-ins/Array/prototype/some/15.4.4.17-5-18.js # [11].some(callbackfn, objError) !== true
built-ins/Array/prototype/some/15.4.4.17-5-19.js # [11].some(callbackfn, arg) !== true
built-ins/Array/prototype/some/15.4.4.17-5-2.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/some/15.4.4.17-5-22.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/some/15.4.4.17-5-23.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/some/15.4.4.17-5-24.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/some/15.4.4.17-5-3.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/some/15.4.4.17-5-4.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/some/15.4.4.17-5-5.js # TypeError: foo cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/some/15.4.4.17-5-6.js # TypeError: Cannot read properties of undefined (reading '…').
built-ins/Array/prototype/some/15.4.4.17-5-9.js # [11].some(callbackfn, objFunction) !== true
built-ins/Array/prototype/some/15.4.4.17-7-6.js # res Expected SameValue(«false», «true») to be true
built-ins/Array/prototype/some/15.4.4.17-7-8.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-i-1.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-i-3.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/some/15.4.4.17-7-c-i-7.js # TypeError: Con cannot be constructed: user-defined constructors and classes are not supported. Call
built-ins/Array/prototype/some/15.4.4.17-7-c-i-8.js # [, ].some(callbackfn) !== true
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-16.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-17.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-18.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-19.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-20.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-21.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-22.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-23.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-6.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-7.js # Expected a Error but got a TypeError
built-ins/Array/prototype/some/15.4.4.17-7-c-ii-8.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-iii-1.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-iii-2.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-iii-26.js # [11].some(callbackfn) !== true
built-ins/Array/prototype/some/15.4.4.17-7-c-iii-3.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-7-c-iii-4.js # TypeError: Array.prototype.some called on incompatible receiver a data object.
built-ins/Array/prototype/some/15.4.4.17-8-10.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/some/15.4.4.17-8-2.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/some/15.4.4.17-8-3.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
@@ -163,6 +831,7 @@ built-ins/Array/prototype/some/15.4.4.17-8-5.js # … cannot be constructed: us
built-ins/Array/prototype/some/15.4.4.17-8-6.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/some/15.4.4.17-8-7.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/some/15.4.4.17-8-8.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
built-ins/Array/prototype/some/call-with-boolean.js # TypeError: Array.prototype.some called on incompatible receiver a boolean.
built-ins/Array/prototype/sort/S15.4.4.11_A2.1_T3.js # #1: Check ToString operator
built-ins/Array/prototype/sort/S15.4.4.11_A2.2_T3.js # #1: Check ToString operator
built-ins/Array/prototype/sort/S15.4.4.11_A3_T1.js # Array.prototype.sort called on incompatible receiver a data object.
@@ -181,22 +850,58 @@ built-ins/Array/prototype/splice/S15.4.4.12_A3_T3.js # Array.prototype.splice c
built-ins/Array/prototype/splice/S15.4.4.12_A4_T1.js # Array.prototype.splice called on incompatible receiver a data object.
built-ins/Array/prototype/splice/S15.4.4.12_A4_T2.js # Array.prototype.splice called on incompatible receiver a data object.
built-ins/Array/prototype/splice/S15.4.4.12_A4_T3.js # Array.prototype.splice called on incompatible receiver a data object.
built-ins/Array/prototype/splice/call-with-boolean.js # TypeError: Array.prototype.splice called on incompatible receiver a boolean.
built-ins/Array/prototype/splice/clamps-length-to-integer-limit.js # TypeError: Array.prototype.splice called on incompatible receiver a data object.
built-ins/Array/prototype/splice/create-ctor-non-object.js # null value Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Array/prototype/splice/length-and-deleteCount-exceeding-integer-limit.js # TypeError: Array.prototype.splice called on incompatible receiver a data object.
built-ins/Array/prototype/splice/length-exceeding-integer-limit-shrink-array.js # TypeError: Array.prototype.splice called on incompatible receiver a data object.
built-ins/Array/prototype/splice/length-near-integer-limit-grow-array.js # TypeError: Array.prototype.splice called on incompatible receiver a data object.
built-ins/Array/prototype/toLocaleString/S15.4.4.3_A3_T1.js # #1: var n = 0; var obj = {toLocaleString: function() {n++}}; Array.prototype[1] = obj; x = [obj]; x.
built-ins/Array/prototype/toReversed/holes-not-preserved.js # Actual [4, undefined, 2, undefined, 0] and expected [4, 3, 2, undefined, 0] should have the same con
built-ins/Array/prototype/toReversed/length-casted-to-zero.js # TypeError: Array.prototype.toReversed called on incompatible receiver a data object.
built-ins/Array/prototype/toReversed/length-exceeding-array-length-limit.js # TypeError: Only init object properties are supported.
built-ins/Array/prototype/toReversed/length-tolength.js # TypeError: Array.prototype.toReversed called on incompatible receiver a data object.
built-ins/Array/prototype/toReversed/this-value-boolean.js # TypeError: Array.prototype.toReversed called on incompatible receiver a boolean.
built-ins/Array/prototype/toSorted/holes-not-preserved.js # Actual [1, 3, 4, undefined, undefined] and expected [1, 2, 3, 4, undefined] should have the same con
built-ins/Array/prototype/toSorted/length-casted-to-zero.js # TypeError: Array.prototype.toSorted called on incompatible receiver a data object.
built-ins/Array/prototype/toSorted/length-exceeding-array-length-limit.js # TypeError: Only init object properties are supported.
built-ins/Array/prototype/toSorted/length-tolength.js # TypeError: Array.prototype.toSorted called on incompatible receiver a data object.
built-ins/Array/prototype/toSorted/this-value-boolean.js # TypeError: Array.prototype.toSorted called on incompatible receiver a boolean.
built-ins/Array/prototype/toSpliced/holes-not-preserved.js # Actual [0, undefined, 2, undefined, 4] and expected [0, undefined, 2, 3, 4] should have the same con
built-ins/Array/prototype/toSpliced/length-casted-to-zero.js # TypeError: Array.prototype.toSpliced called on incompatible receiver a data object.
built-ins/Array/prototype/toSpliced/length-clamped-to-2pow53minus1.js # TypeError: Array.prototype.toSpliced called on incompatible receiver a data object.
built-ins/Array/prototype/toSpliced/length-exceeding-array-length-limit.js # TypeError: Only init object properties are supported.
built-ins/Array/prototype/toSpliced/length-tolength.js # TypeError: Array.prototype.toSpliced called on incompatible receiver a data object.
built-ins/Array/prototype/toSpliced/this-value-boolean.js # TypeError: Array.prototype.toSpliced called on incompatible receiver a boolean.
built-ins/Array/prototype/toString/S15.4.4.2_A1_T4.js # Expected a Test262Error to be thrown but no exception was thrown at all
built-ins/Array/prototype/toString/S15.4.4.2_A3_T1.js # #1: Array.prototype[1] = 1; x = [0]; x.length = 2; x.toString() === "0,1". Actual: 0,
built-ins/Array/prototype/toString/call-with-boolean.js # TypeError: Array.prototype.toString called on incompatible receiver a boolean.
built-ins/Array/prototype/unshift/S15.4.4.13_A2_T1.js # Array.prototype.unshift called on incompatible receiver a data object.
built-ins/Array/prototype/unshift/S15.4.4.13_A2_T3.js # Array.prototype.unshift called on incompatible receiver a data object.
built-ins/Array/prototype/unshift/S15.4.4.13_A3_T2.js # Array.prototype.unshift called on incompatible receiver a data object.
built-ins/Array/prototype/unshift/S15.4.4.13_A4_T1.js # Array.prototype.unshift called on incompatible receiver a data object.
built-ins/Array/prototype/unshift/S15.4.4.13_A4_T2.js # #3: Array.prototype[0] = 1; x = []; x.length = 1; x.unshift(0); x[1] === 1. Actual: undefined
built-ins/Array/prototype/unshift/call-with-boolean.js # TypeError: Array.prototype.unshift called on incompatible receiver a boolean.
built-ins/Array/prototype/unshift/clamps-to-integer-limit.js # TypeError: Array.prototype.unshift called on incompatible receiver a data object.
built-ins/Array/prototype/unshift/length-near-integer-limit.js # TypeError: Only init object properties are supported.
built-ins/Array/prototype/with/length-exceeding-array-length-limit.js # TypeError: Only init object properties are supported.
built-ins/Array/prototype/with/length-tolength.js # TypeError: Array.prototype.with called on incompatible receiver a data object.
built-ins/Array/prototype/with/this-value-boolean.js # TypeError: Array.prototype.with called on incompatible receiver a boolean.
built-ins/Function/prototype/bind/15.3.4.5-2-6.js # TypeError: Object(number) wrapper objects are not supported; use the primitive value directly.
built-ins/Function/prototype/bind/15.3.4.5-20-2.js # Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Function/prototype/bind/15.3.4.5-20-3.js # Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Function/prototype/bind/15.3.4.5-21-2.js # Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Function/prototype/bind/15.3.4.5-21-3.js # Expected a TypeError to be thrown but no exception was thrown at all
built-ins/Function/prototype/bind/S15.3.4.5_A1.js # baz() throws a TypeError exception Expected a TypeError to be thrown but no exception was thrown at
built-ins/Function/prototype/bind/S15.3.4.5_A2.js # baz() throws a TypeError exception Expected a TypeError to be thrown but no exception was thrown at
built-ins/Iterator/from/return-method-returns-iterator-result.js # Iterator next must be a function.
built-ins/Iterator/prototype/Symbol.iterator/is-function.js # every built-in collection iterator shares one prototype, so its parent is Object.prototype
built-ins/Iterator/prototype/drop/limit-tonumber-throws.js # Expected a Test262Error but got a RangeError
built-ins/Iterator/prototype/drop/limit-tonumber.js # Iterator.prototype.drop expects a non-negative count, received NaN.
built-ins/Iterator/prototype/drop/this-non-callable-next.js # TypeError: Iterator next must be a function.
built-ins/Iterator/prototype/filter/this-non-callable-next.js # TypeError: Iterator next must be a function.
built-ins/Iterator/prototype/flatMap/this-non-callable-next.js # TypeError: Iterator next must be a function.
built-ins/Iterator/prototype/map/this-non-callable-next.js # TypeError: Iterator next must be a function.
built-ins/Iterator/prototype/take/limit-tonumber-throws.js # Expected a Test262Error but got a RangeError
built-ins/Iterator/prototype/take/limit-tonumber.js # Iterator.prototype.take expects a non-negative count, received NaN.
built-ins/Object/is/not-same-value-x-y-object.js # Object(number) wrapper objects are not supported; use the primitive value directly.
@@ -220,12 +925,23 @@ built-ins/Object/isExtensible/15.2.3.13-2-26.js # … cannot be constructed: us
built-ins/Object/isExtensible/15.2.3.13-2-27.js # … cannot be constructed: user-defined constructors and classes are not supported.
built-ins/Object/preventExtensions/15.2.3.10-3-24.js # … cannot be constructed: user-defined constructors and classes are not supported.
built-ins/Object/preventExtensions/throws-when-false.js # Unknown identifier 'Proxy'.
built-ins/Iterator/prototype/take/this-non-callable-next.js # TypeError: Iterator next must be a function.
language/arguments-object/10.6-13-c-1-s.js # Expected a TypeError to be thrown but no exception was thrown at all
language/arguments-object/10.6-14-c-4-s.js # Expected a TypeError to be thrown but no exception was thrown at all
language/arguments-object/10.6-2gs.js # Expected a TypeError to be thrown but no exception was thrown at all
language/arguments-object/S10.6_A3_T1.js # #1: arguments object doesn't exists
language/arguments-object/S10.6_A5_T3.js # #1: arguments object don't exists
language/arguments-object/S10.6_A5_T4.js # #1: arguments object don't exists
language/expressions/tagged-template/constructor-invocation.js # The called value cannot be constructed: user-defined constructors and classes are not supported.
language/expressions/tagged-template/template-object-frozen-strict.js # Expected a TypeError to be thrown but no exception was thrown at all
language/expressions/this/11.1.1-1.js # Expected SameValue(«undefined», «undefined») to be false
language/statements/async-generator/dstr/ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/async-generator/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/async-generator/dstr/dflt-ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/async-generator/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/async-generator/return-undefined-implicit-and-explicit.js # Actual ["tick 1", "tick 2", "g1 ret", "g2 ret", "g3 ret", "g4 ret"] and expected ["tick 1", "g1 ret"
language/statements/const/dstr/ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/const/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/for-await-of/async-func-decl-dstr-obj-empty-bool.js # TypeError: Object destructuring requires a data object or array value, received a boolean.
language/statements/for-await-of/async-func-decl-dstr-obj-empty-num.js # TypeError: Object destructuring requires a data object or array value, received a number.
language/statements/for-await-of/async-func-decl-dstr-obj-empty-string.js # TypeError: Object destructuring requires a data object or array value, received a string.
@@ -238,49 +954,91 @@ language/statements/for-await-of/async-gen-decl-dstr-obj-rest-number.js # TypeE
language/statements/for-await-of/async-gen-decl-dstr-obj-rest-str-val.js # TypeError: Object destructuring requires a data object or array value, received a string.
language/statements/for-in/S12.6.4_A7_T2.js # for...in visits keys deleted during the loop
language/statements/for-in/order-enumerable-shadowed.js # Object.create property descriptors are not supported; assign the fields after creating the object.
language/statements/for-in/S12.6.4_A6.1.js # TypeError: FACTORY cannot be constructed: user-defined constructors and classes are not supported. C
language/statements/for-in/S12.6.4_A6.js # TypeError: FACTORY cannot be constructed: user-defined constructors and classes are not supported. C
language/statements/for-of/dstr/array-elem-iter-rtrn-close-err.js # Iterator next must be a function.
language/statements/for-of/dstr/array-elem-iter-thrw-close-err.js # Expected SameValue(«1», «0») to be true
language/statements/for-of/dstr/array-elem-iter-thrw-close.js # Expected SameValue(«1», «0») to be true
language/statements/for-of/dstr/array-elem-trlg-iter-list-thrw-close-err.js # Expected SameValue(«1», «0») to be true
language/statements/for-of/dstr/array-elem-trlg-iter-list-thrw-close.js # Expected SameValue(«1», «0») to be true
language/statements/for-of/dstr/array-elem-trlg-iter-rest-rtrn-close-err.js # Expected a Test262Error to be thrown but no exception was thrown at all
language/statements/for-of/dstr/array-elem-trlg-iter-rest-rtrn-close-null.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/for-of/dstr/array-elem-trlg-iter-rest-rtrn-close.js # Expected SameValue(«11», «1») to be true
language/statements/for-of/dstr/array-elem-trlg-iter-rest-thrw-close-err.js # Expected SameValue(«11», «1») to be true
language/statements/for-of/dstr/array-elem-trlg-iter-rest-thrw-close.js # Expected SameValue(«11», «1») to be true
language/statements/for-of/dstr/array-rest-iter-rtrn-close-err.js # Iterator next must be a function.
language/statements/for-of/dstr/array-rest-iter-rtrn-close-null.js # Iterator next must be a function.
language/statements/for-of/dstr/array-rest-iter-rtrn-close.js # Test262Error
language/statements/for-of/dstr/array-rest-iter-thrw-close-err.js # Expected SameValue(«11», «0») to be true
language/statements/for-of/dstr/array-rest-iter-thrw-close.js # Expected SameValue(«11», «0») to be true
language/statements/for-of/dstr/array-rest-lref-err.js # Expected SameValue(«1», «0») to be true
language/statements/for-of/dstr/const-ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/for-of/dstr/const-ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/for-of/dstr/let-ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/for-of/dstr/let-ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/for-of/dstr/obj-empty-bool.js # Object destructuring requires a data object or array value, received a boolean.
language/statements/for-of/dstr/obj-empty-num.js # Object destructuring requires a data object or array value, received a number.
language/statements/for-of/dstr/obj-empty-string.js # Object destructuring requires a data object or array value, received a string.
language/statements/for-of/dstr/obj-rest-number.js # Object destructuring requires a data object or array value, received a number.
language/statements/for-of/dstr/obj-rest-str-val.js # Object destructuring requires a data object or array value, received a string.
language/statements/for-of/dstr/var-ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/for-of/dstr/var-ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/for-of/throw-from-catch.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
language/statements/for-of/throw-from-finally.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
language/statements/for-of/throw.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
language/statements/for/dstr/const-ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/for/dstr/const-ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/for/dstr/let-ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/for/dstr/let-ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/for/dstr/var-ary-init-iter-get-err-array-prototype.js # Expected a TypeError but got a ReferenceError
language/statements/for/dstr/var-ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/function/13.2-1-s.js # TypeError: foo cannot be constructed: user-defined constructors and classes are not supported. Call
language/statements/function/13.2-19-b-3gs.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/function/13.2-2-s.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/function/13.2-3-s.js # TypeError: foo cannot be constructed: user-defined constructors and classes are not supported. Call
language/statements/function/13.2-4-s.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/function/S13.2.2_A10.js # #1: var obj = new FACTORY() does not lead to throwing exception. Actual: Exception is TypeError: FAC
language/statements/function/S13.2.2_A12.js # #1: var obj = new FACTORY() does not lead to throwing exception. Actual: Exception is TypeError: FAC
language/statements/function/S13.2.2_A15_T1.js # TypeError: __FACTORY cannot be constructed: user-defined constructors and classes are not supported.
language/statements/function/S13.2.2_A15_T2.js # TypeError: __FACTORY cannot be constructed: user-defined constructors and classes are not supported.
language/statements/function/S13.2.2_A15_T3.js # TypeError: __FACTORY cannot be constructed: user-defined constructors and classes are not supported.
language/statements/function/S13.2.2_A15_T4.js # TypeError: __FACTORY cannot be constructed: user-defined constructors and classes are not supported.
language/statements/function/S13.2.2_A16_T1.js # TypeError: The called value cannot be constructed: user-defined constructors and classes are not sup
language/statements/function/S13.2.2_A16_T2.js # TypeError: The called value cannot be constructed: user-defined constructors and classes are not sup
language/statements/function/S13.2.2_A16_T3.js # TypeError: The called value cannot be constructed: user-defined constructors and classes are not sup
language/statements/function/S13.2.2_A1_T1.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
language/statements/function/S13.2.2_A1_T2.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
language/statements/function/S13.2.2_A2.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
language/statements/function/S13.2.2_A3_T1.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
language/statements/function/S13.2.2_A3_T2.js # … cannot be constructed: user-defined constructors and classes are not supported. Call it as a funct
language/statements/function/S13.2.2_A4_T1.js # TypeError: __FACTORY cannot be constructed: user-defined constructors and classes are not supported.
language/statements/function/S13.2.2_A4_T2.js # TypeError: __FACTORY cannot be constructed: user-defined constructors and classes are not supported.
language/statements/function/S13.2.2_A5_T1.js # TypeError: __FACTORY cannot be constructed: user-defined constructors and classes are not supported.
language/statements/function/S13.2.2_A5_T2.js # TypeError: __FACTORY cannot be constructed: user-defined constructors and classes are not supported.
language/statements/function/S13.2.2_A6_T1.js # TypeError: __func cannot be constructed: user-defined constructors and classes are not supported. Ca
language/statements/function/S13.2.2_A6_T2.js # TypeError: __func cannot be constructed: user-defined constructors and classes are not supported. Ca
language/statements/function/S13.2.2_A7_T1.js # TypeError: __func cannot be constructed: user-defined constructors and classes are not supported. Ca
language/statements/function/S13.2.2_A7_T2.js # TypeError: __func cannot be constructed: user-defined constructors and classes are not supported. Ca
language/statements/function/S13.2.2_A8_T1.js # TypeError: __func cannot be constructed: user-defined constructors and classes are not supported. Ca
language/statements/function/S13.2.2_A8_T2.js # TypeError: __func cannot be constructed: user-defined constructors and classes are not supported. Ca
language/statements/function/S13.2_A1_T1.js # #1: __func.prototype !== undefined
language/statements/function/S13.2_A1_T2.js # #1: __func.prototype !== undefined
language/statements/function/S13.2_A4_T1.js # Unknown identifier '…'.
language/statements/function/S13.2_A4_T2.js # #1: typeof __gunc.prototype === '…'. Actual: typeof __gunc.prototype ===undefined
language/statements/function/dstr/ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/function/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/function/dstr/dflt-ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/generators/default-proto.js # generator functions have no GeneratorFunction.prototype
language/statements/function/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/generators/dstr/ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/generators/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/generators/dstr/dflt-ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/generators/prototype-relation-to-function.js # generator functions have no GeneratorFunction.prototype
language/statements/generators/dstr/dflt-ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/generators/restricted-properties.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/labeled/value-await-non-module.js # Failed to parse TypeScript: Expression expected.
language/statements/let/dstr/ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/let/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/return/S12.9_A1_T1.js # expected SyntaxError but the program ran
language/statements/return/S12.9_A1_T10.js # expected SyntaxError but the program ran
language/statements/return/S12.9_A1_T2.js # expected SyntaxError but the program ran
@@ -291,5 +1049,21 @@ language/statements/return/S12.9_A1_T6.js # expected SyntaxError but the progra
language/statements/return/S12.9_A1_T7.js # expected SyntaxError but the program ran
language/statements/return/S12.9_A1_T8.js # expected SyntaxError but the program ran
language/statements/return/S12.9_A1_T9.js # expected SyntaxError but the program ran
language/statements/try/S12.14_A17.js # TypeError: Integer cannot be constructed: user-defined constructors and classes are not supported. C
language/statements/try/dstr/ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/try/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
language/statements/variable/S12.2_A11.js # TypeError: Cannot read properties of undefined (reading '…').
language/statements/variable/S12.2_A9.js # #1: When using property attributes, {DontEnum} not used
language/statements/variable/dstr/ary-init-iter-get-err-array-prototype.js # Expected a TypeError to be thrown but no exception was thrown at all
language/statements/variable/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js # Expected SameValue(«3», «42») to be true
built-ins/Array/prototype/entries/returns-iterator-from-object.js # TypeError: Array.prototype.entries called on incompatible receiver a data object.
built-ins/Array/prototype/keys/returns-iterator-from-object.js # TypeError: Array.prototype.keys called on incompatible receiver a data object.
built-ins/Array/prototype/toReversed/frozen-this-value.js # TypeError: Array.prototype.toReversed called on incompatible receiver a data object.
built-ins/Array/prototype/toSorted/frozen-this-value.js # TypeError: Array.prototype.toSorted called on incompatible receiver a data object.
built-ins/Array/prototype/toSpliced/frozen-this-value.js # TypeError: Array.prototype.toSpliced called on incompatible receiver a data object.
built-ins/Array/prototype/values/returns-iterator-from-object.js # TypeError: Array.prototype.values called on incompatible receiver a data object.
built-ins/Object/getPrototypeOf/15.2.3.2-2-30.js # TypeError: Object.getPrototypeOf cannot convert undefined to an object.
built-ins/Object/isExtensible/15.2.3.13-2-1.js # Expected true but got false
built-ins/Object/isExtensible/15.2.3.13-2-29.js # Object.isExtensible(this) !== true
built-ins/Object/isFrozen/15.2.3.12-3-1.js # Expected true but got false
built-ins/Object/isSealed/15.2.3.11-4-1.js # Expected true but got false
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode/console-app",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"scripts": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/console-core",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode/console-function",
"version": "2.0.16",
"version": "2.0.15",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode/console-mail",
"version": "2.0.16",
"version": "2.0.15",
"dependencies": {
"@jsx-email/all": "2.2.3",
"@jsx-email/cli": "1.4.3",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode/console-support",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"scripts": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
"version": "2.0.16",
"version": "2.0.15",
"name": "@opencode/core",
"type": "module",
"license": "MIT",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@opencode/desktop",
"private": true,
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"homepage": "https://opencode.ai",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode/enterprise",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode/function",
"version": "2.0.16",
"version": "2.0.15",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
"version": "2.0.16",
"version": "2.0.15",
"name": "@opencode/http-recorder",
"description": "Record and replay Effect HTTP and WebSocket traffic with deterministic cassettes",
"type": "module",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/httpapi-codegen",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"exports": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/latex",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"exports": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/merman",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"exports": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/plugin-browser",
"version": "2.0.16",
"version": "2.0.15",
"description": "OpenCode's desktop browser plugin",
"type": "module",
"license": "MIT",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/plugin",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"scripts": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/protocol",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"repository": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/schema",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"repository": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
"version": "2.0.16",
"version": "2.0.15",
"name": "@opencode/sdk",
"type": "module",
"license": "MIT",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/server",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"repository": {
@@ -163,89 +163,6 @@ story("mounts cached completed Markdown with sanitized HTML and decorations", as
await expect(markdown).toHaveAttribute("data-markdown-ready", "")
})
story("shows a stable GitHub mark without changing link text or other sites", async ({ page }) => {
await page.evaluate(async (fixture) => {
const { mountMarkdown } = await import(fixture)
await mountMarkdown({
text: [
"[#540](https://github.com/anomalyco/opencode/pull/540)",
"[GitHub](https://github.com)",
"[other site](https://example.com/docs)",
"[lookalike](https://github.com.evil.example/pull/540)",
].join(" · "),
cached: true,
})
}, fixture)
const markdown = page.getByTestId("markdown-fixture").locator('[data-component="markdown"]')
await expect(markdown).toHaveAttribute("data-markdown-ready", "")
const github = markdown.getByRole("link", { name: "#540" })
await expect(github).toHaveAttribute("href", "https://github.com/anomalyco/opencode/pull/540")
await expect(github).toHaveText("#540")
expect(await github.evaluate((link) => getComputedStyle(link, "::before").width)).toBe("14px")
expect(await github.evaluate((link) => getComputedStyle(link, "::before").maskImage)).toContain("data:image/svg+xml")
expect(
await markdown.getByRole("link", { name: "GitHub" }).evaluate((link) => getComputedStyle(link, "::before").content),
).toBe('""')
for (const name of ["other site", "lookalike"]) {
expect(
await markdown.getByRole("link", { name }).evaluate((link) => getComputedStyle(link, "::before").content),
).toBe("none")
}
})
story("keeps favicon space stable across loading and failure without fetching private hosts", async ({ page }) => {
const requested: string[] = []
let release: () => void = () => undefined
const loading = new Promise<void>((resolve) => (release = resolve))
await page.route("https://www.google.com/s2/favicons?**", async (route) => {
requested.push(route.request().url())
if (route.request().url().includes("developer.mozilla.org")) await loading
if (route.request().url().includes("broken.example.org")) return route.abort()
await route.fulfill({ status: 200, contentType: "image/png", body: png })
})
await page.evaluate(async (fixture) => {
const { mountMarkdown } = await import(fixture)
await mountMarkdown({
text: [
"[docs](https://developer.mozilla.org/docs)",
"[missing](https://broken.example.org/docs)",
"[private](http://localhost:8080/docs)",
"[GitHub](https://github.com/anomalyco/opencode)",
].join(" · "),
cached: true,
})
}, fixture)
const markdown = page.getByTestId("markdown-fixture").locator('[data-component="markdown"]')
await expect(markdown).toHaveAttribute("data-markdown-ready", "")
const docs = markdown.getByRole("link", { name: "docs" })
const image = docs.locator(".markdown-link-favicon img")
await expect.poll(() => requested.some((url) => url.includes("developer.mozilla.org"))).toBe(true)
await expect(image).toHaveCSS("opacity", "0")
await expect(docs.locator(".markdown-link-favicon")).toHaveCSS("width", "14px")
const width = await docs.evaluate((link) => link.getBoundingClientRect().width)
release()
await expect(image).toHaveAttribute("data-loaded", "")
await expect(image).toHaveCSS("opacity", "1")
await expect(image).not.toHaveAttribute("role", "button")
expect(await image.evaluate((favicon) => favicon.onclick)).toBeNull()
expect(await docs.evaluate((link) => link.getBoundingClientRect().width)).toBe(width)
expect(
await image.evaluate((favicon) => favicon.getBoundingClientRect().top - favicon.parentElement!.getBoundingClientRect().top),
).toBe(0)
await expect(markdown.getByRole("link", { name: "missing" }).locator(".markdown-link-favicon img")).not.toHaveAttribute(
"data-loaded",
"",
)
await expect(markdown.getByRole("link", { name: "private" }).locator(".markdown-link-favicon img")).toHaveCount(0)
await expect(markdown.getByRole("link", { name: "GitHub" }).locator(".markdown-link-favicon")).toHaveCount(0)
expect(requested).toHaveLength(2)
expect(requested.every((url) => !url.includes("localhost") && !url.includes("github.com"))).toBe(true)
})
async function resolvedColor(page: Page, token: string) {
return page.evaluate((token) => {
const probe = document.createElement("span")
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode/session-ui",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"license": "MIT",
@@ -16,7 +16,7 @@ export function createImagePreview() {
}
return (root: HTMLElement) => {
root.querySelectorAll<HTMLImageElement>("img:not([data-markdown-favicon])").forEach((image) => {
root.querySelectorAll<HTMLImageElement>("img").forEach((image) => {
image.setAttribute("role", "button")
image.setAttribute("aria-haspopup", "dialog")
image.setAttribute("aria-label", image.alt || i18n.t("ui.imagePreview.alt"))
@@ -1,3 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.23.49-2.69-.94-2.69-.94-.36-.92-.89-1.17-.89-1.17-.73-.5.06-.49.06-.49.8.06 1.22.82 1.22.82.71 1.21 1.87.86 2.33.66.07-.51.28-.86.51-1.06-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/>
</svg>

Before

Width:  |  Height:  |  Size: 645 B

@@ -1,5 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none" stroke="black">
<circle cx="8" cy="8" r="6"/>
<ellipse cx="8" cy="8" rx="2.5" ry="6"/>
<path d="M2 8h12"/>
</svg>

Before

Width:  |  Height:  |  Size: 192 B

@@ -101,55 +101,6 @@
text-underline-offset: 2px;
}
a.external-link:is(
[href="https://github.com" i],
[href^="https://github.com/" i],
[href="http://github.com" i],
[href^="http://github.com/" i]
):not(:has(img))::before {
content: "";
display: inline-block;
width: 14px;
height: 14px;
margin-inline-end: 4px;
vertical-align: -0.125em;
background: currentColor;
mask: url("./markdown-github.svg") center / contain no-repeat;
}
.markdown-link-favicon {
position: relative;
display: inline-block;
width: 14px;
height: 14px;
margin-inline-end: 4px;
vertical-align: -0.125em;
}
.markdown-link-favicon::before {
content: "";
position: absolute;
inset: 0;
background: currentColor;
mask: url("./markdown-globe.svg") center / contain no-repeat;
}
.markdown-link-favicon img {
position: absolute;
inset: 0;
display: block;
width: 14px;
height: 14px;
margin: 0;
border-radius: 2px;
cursor: inherit;
opacity: 0;
}
.markdown-link-favicon img[data-loaded] {
opacity: 1;
}
a[data-local-link] {
cursor: pointer;
}
@@ -85,42 +85,3 @@ export const StreamingInlineCode = {
</div>
),
}
const externalLinkChunks = [
"1. ",
"[#540](https://github.com/anomalyco/opencode/pull/540)",
": Batch access-policy reads.\n2. ",
"[Stack Overflow](https://stackoverflow.com/questions/123)",
": Favicon from a public site.\n3. ",
"[MDN docs](https://developer.mozilla.org/en-US/docs/Web)",
": Globe while loading.\n4. ",
"[Unavailable favicon](https://absent-site.example.org/docs)",
": Globe fallback.\n5. ",
"[Local host](http://localhost:8080/docs)",
": No third-party request.",
]
function StreamingExternalLinks() {
const [count, setCount] = createSignal(1)
const timer = setInterval(() => {
setCount((value) => {
if (value === externalLinkChunks.length) {
clearInterval(timer)
return value
}
return value + 1
})
}, 380)
onCleanup(() => clearInterval(timer))
return (
<Markdown text={externalLinkChunks.slice(0, count()).join("")} streaming={count() < externalLinkChunks.length} />
)
}
export const ExternalLinksStreaming = {
render: () => (
<div class="mx-auto max-w-[680px] rounded-lg border border-border-weak-base bg-background-base px-5 py-4">
<StreamingExternalLinks />
</div>
),
}
@@ -289,50 +289,6 @@ function markCodeLinks(root: HTMLDivElement) {
}
}
const publicFaviconHost = /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/
const privateFaviconSuffix = /\.(?:alt|example|internal|invalid|local|localhost|onion|test|ts\.net)$/
function markExternalLinkFavicons(root: HTMLDivElement) {
root.querySelectorAll<HTMLAnchorElement>("a.external-link[href]").forEach((link) => {
if (!link.textContent?.trim() || link.querySelector("img")) return
if (!URL.canParse(link.href)) return
const url = new URL(link.href)
if (url.protocol !== "http:" && url.protocol !== "https:") return
if (url.hostname.toLowerCase() === "github.com") return
const favicon = document.createElement("span")
favicon.className = "markdown-link-favicon"
favicon.setAttribute("aria-hidden", "true")
const host = url.hostname.toLowerCase()
if (
publicFaviconHost.test(host) &&
!privateFaviconSuffix.test(host) &&
host !== "home.arpa" &&
!host.endsWith(".home.arpa")
) {
const image = document.createElement("img")
image.src = `https://www.google.com/s2/favicons?domain=${encodeURIComponent(url.host)}&sz=32`
image.alt = ""
image.setAttribute("data-markdown-favicon", "")
image.width = 14
image.height = 14
image.decoding = "async"
favicon.appendChild(image)
}
link.insertBefore(favicon, link.firstChild)
})
}
function setupExternalLinkFavicons(root: HTMLDivElement) {
const loaded = (event: Event) => {
const image = event.target
if (!(image instanceof HTMLImageElement) || !image.hasAttribute("data-markdown-favicon")) return
if (image.naturalWidth > 0) image.dataset.loaded = ""
}
root.addEventListener("load", loaded, true)
return () => root.removeEventListener("load", loaded, true)
}
function markInlineCode(root: HTMLDivElement) {
const codeNodes = Array.from(root.querySelectorAll(":not(pre) > code"))
for (const code of codeNodes) {
@@ -598,7 +554,6 @@ export function Markdown(
let copyCleanup: (() => void) | undefined
let linkCleanup: (() => void) | undefined
let faviconCleanup: (() => void) | undefined
let readImage: ReadMarkdownImage | undefined
let images: ReturnType<typeof createMarkdownImages> | undefined
@@ -644,9 +599,6 @@ export function Markdown(
}
images?.update(container)
previewImages(container)
container.querySelectorAll<HTMLImageElement>("img[data-markdown-favicon]").forEach((image) => {
if (image.complete && image.naturalWidth > 0) image.dataset.loaded = ""
})
container
.querySelectorAll<HTMLElement>('[data-slot="markdown-copy-button"]')
.forEach((button) => setCopyState(button, labels, button.dataset.copied === "true"))
@@ -656,7 +608,6 @@ export function Markdown(
copied: i18n.t("ui.message.copied"),
}))
if (!linkCleanup) linkCleanup = setupLocalLinks(container, () => markdown?.openLocalFile)
if (!faviconCleanup) faviconCleanup = setupExternalLinkFavicons(container)
container.toggleAttribute("data-local-links", !!markdown?.openLocalFile)
if (result?.ready && result.text === local.text) container.dataset.markdownReady = ""
})
@@ -666,7 +617,6 @@ export function Markdown(
images?.dispose()
if (copyCleanup) copyCleanup()
if (linkCleanup) linkCleanup()
if (faviconCleanup) faviconCleanup()
const container = root()
if (container) disposeRenderedMarkdown(container)
if (streamed) disposeMarkdownProjection(owner)
@@ -747,7 +697,6 @@ function updateBlock(container: HTMLDivElement, index: number, block: RenderedBl
source.innerHTML = block.html
markInlineCode(source)
markCodeLinks(source)
markExternalLinkFavicons(source)
if (rendered) {
rendered.renderer.update(source.innerHTML, block.mode === "live", rendered.raw !== block.raw)
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/simulation",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"repository": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/stats-app",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"license": "MIT",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/stats-core",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"license": "MIT",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/stats-server",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"license": "MIT",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/theme",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"repository": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/tui",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"license": "MIT",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@opencode/ui",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"repository": {
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/util",
"version": "2.0.16",
"version": "2.0.15",
"type": "module",
"license": "MIT",
"repository": {
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "@opencode/web",
"type": "module",
"license": "MIT",
"version": "2.0.16",
"version": "2.0.15",
"scripts": {
"dev": "astro dev",
"dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev",
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "opencode",
"displayName": "opencode",
"description": "opencode for VS Code",
"version": "2.0.16",
"version": "2.0.15",
"publisher": "sst-dev",
"repository": {
"type": "git",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode/update",
"version": "2.0.16",
"version": "2.0.15",
"private": true,
"type": "module",
"scripts": {