[PR #1834] [MERGED] test(web): cover nullable HTTP captures through CDP and CLI #4848

Closed
opened 2026-10-31 00:55:58 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1834
Author: @shoyann
Created: 10/11/2026
Status: ✅ Merged
Merged: 10/13/2026
Merged by: @morluto

Base: main ← Head: fix/web-http-nullable-comparison


📝 Commits (10+)

  • 98d5483 fix(browser): preserve unknown HTTP response comparison fields
  • c0fbf58 fix(browser): retain proven request inventory changes
  • be387bd test(browser): reconcile HTTP response regressions with main
  • 4735385 fix(javascript): preserve Electron identity and avoid quadratic property scans
  • bbf9c9b test: reconcile regression coverage with latest main
  • 18b3d29 fix(javascript): track writes through symbolic Electron aliases
  • fe4576b fix(javascript): integrate symbolic writes with canonical Electron identity
  • 7d6c94c fix(javascript): preserve container slots and imported mutation origins
  • 3a460e9 fix(javascript): retain ordered and computed container mutation origins
  • 796097b perf(javascript): defer container mutation replay until property reads

📊 Changes

4 files changed (+457 additions, -83 deletions)

View changed files

➕ tests/boundary/browser/cdpHttpComparison.test.ts (+255 -0)
📝 tests/boundary/browser/webCaptureDiff.test.ts (+42 -83)
➕ tests/boundary/cli/httpCaptureComparison.test.ts (+77 -0)
➕ tests/fixtures/httpComparisonBrowser.ts (+83 -0)

📄 Description

The nullable HTTP comparison fix for #1830 landed on main in 486b56724. This PR keeps the additional protocol-driven and public CLI regression coverage requested in https://github.com/morluto/rea/issues/1830#issuecomment-6111846250.

Exercise CdpBrowserProvider through a loopback HTTP/WebSocket CDP fixture, then run the compiled public inspect-web-page and compare-web-captures commands against saved captures. Cover unavailable response fields in both directions, observed differences, repeated-request matching, and incomplete versus explicitly complete request inventories. Consolidate the synthetic cases superseded by these boundary tests while retaining the per-field comparison checks. The fixture simulates CDP; it does not launch a real browser.

JavaScript/Electron analysis changes have been separated into fix/javascript-electron-mutation-origins. The three latest JavaScript P2 reports are fixed there in 9a3e33f, with check:ci and 426 related tests passing locally. This PR now changes only four HTTP test/fixture files.

Validation:

  • npm run check:ci — passed.
  • HTTP/CDP comparison, webCaptureDiff, and public CLI comparison suites — 26 tests passed.
  • GitHub Actions on this PR: static checks and build passed; all 26 HTTP/CDP/CLI regression tests passed. Across the full suite, 9,280 tests passed and one unrelated MCP test failed.
  • The sole failure is tests/boundary/mcp/promptCompletion.test.ts:53, also failing in the same main commit's CI. Main's ready-only completion lookup requires executeIfReady, which the unchanged test fixture does not implement. No MCP files are changed in this PR.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/1834 **Author:** [@shoyann](https://github.com/shoyann) **Created:** 10/11/2026 **Status:** ✅ Merged **Merged:** 10/13/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `fix/web-http-nullable-comparison` --- ### 📝 Commits (10+) - [`98d5483`](https://github.com/morluto/rea/commit/98d548357a82bc0589aca8f227e4bf39547187b8) fix(browser): preserve unknown HTTP response comparison fields - [`c0fbf58`](https://github.com/morluto/rea/commit/c0fbf58e62b8e510020b05960e65f34d5e4a333b) fix(browser): retain proven request inventory changes - [`be387bd`](https://github.com/morluto/rea/commit/be387bd464de11f04ab139535d034d529ea46b0b) test(browser): reconcile HTTP response regressions with main - [`4735385`](https://github.com/morluto/rea/commit/4735385a9263b89753e23541bc2fa15b266e839d) fix(javascript): preserve Electron identity and avoid quadratic property scans - [`bbf9c9b`](https://github.com/morluto/rea/commit/bbf9c9bc87cae4c368126f39076ef8faa1957cff) test: reconcile regression coverage with latest main - [`18b3d29`](https://github.com/morluto/rea/commit/18b3d29c98764b93be1e5aebfcac78ff34d3826d) fix(javascript): track writes through symbolic Electron aliases - [`fe4576b`](https://github.com/morluto/rea/commit/fe4576ba996128543f749fa102879fc94dce0e60) fix(javascript): integrate symbolic writes with canonical Electron identity - [`7d6c94c`](https://github.com/morluto/rea/commit/7d6c94c0d2899d0cd35ef95fe5d77ba0b79d70f5) fix(javascript): preserve container slots and imported mutation origins - [`3a460e9`](https://github.com/morluto/rea/commit/3a460e96ec4b2a882bd4699c424942b81e22b9c1) fix(javascript): retain ordered and computed container mutation origins - [`796097b`](https://github.com/morluto/rea/commit/796097bfdb812cce8819387196c22d18af835dd9) perf(javascript): defer container mutation replay until property reads ### 📊 Changes **4 files changed** (+457 additions, -83 deletions) <details> <summary>View changed files</summary> ➕ `tests/boundary/browser/cdpHttpComparison.test.ts` (+255 -0) 📝 `tests/boundary/browser/webCaptureDiff.test.ts` (+42 -83) ➕ `tests/boundary/cli/httpCaptureComparison.test.ts` (+77 -0) ➕ `tests/fixtures/httpComparisonBrowser.ts` (+83 -0) </details> ### 📄 Description The nullable HTTP comparison fix for #1830 landed on main in 486b56724. This PR keeps the additional protocol-driven and public CLI regression coverage requested in https://github.com/morluto/rea/issues/1830#issuecomment-6111846250. Exercise CdpBrowserProvider through a loopback HTTP/WebSocket CDP fixture, then run the compiled public inspect-web-page and compare-web-captures commands against saved captures. Cover unavailable response fields in both directions, observed differences, repeated-request matching, and incomplete versus explicitly complete request inventories. Consolidate the synthetic cases superseded by these boundary tests while retaining the per-field comparison checks. The fixture simulates CDP; it does not launch a real browser. JavaScript/Electron analysis changes have been separated into [fix/javascript-electron-mutation-origins](https://github.com/shoyann/rea/tree/fix/javascript-electron-mutation-origins). The three latest JavaScript P2 reports are fixed there in [9a3e33f](https://github.com/shoyann/rea/commit/9a3e33f0fffc70664f302660a3670119fe8dbe34), with check:ci and 426 related tests passing locally. This PR now changes only four HTTP test/fixture files. Validation: - npm run check:ci — passed. - HTTP/CDP comparison, webCaptureDiff, and public CLI comparison suites — 26 tests passed. - [GitHub Actions on this PR](https://github.com/morluto/rea/actions/runs/38226611479): static checks and build passed; all 26 HTTP/CDP/CLI regression tests passed. Across the full suite, 9,280 tests passed and one unrelated MCP test failed. - The sole failure is `tests/boundary/mcp/promptCompletion.test.ts:53`, also failing in [the same main commit's CI](https://github.com/morluto/rea/actions/runs/38224038323). Main's ready-only completion lookup requires `executeIfReady`, which the unchanged test fixture does not implement. No MCP files are changed in this PR. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 00:55:58 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#4848
No description provided.