diff options
Diffstat (limited to '')
-rw-r--r-- | testing/web-platform/tests/fledge/tentative/resources/fledge-util.sub.js | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/testing/web-platform/tests/fledge/tentative/resources/fledge-util.sub.js b/testing/web-platform/tests/fledge/tentative/resources/fledge-util.sub.js index 7be02e34ff..a7d0f63830 100644 --- a/testing/web-platform/tests/fledge/tentative/resources/fledge-util.sub.js +++ b/testing/web-platform/tests/fledge/tentative/resources/fledge-util.sub.js @@ -77,6 +77,15 @@ function createDirectFromSellerSignalsURL(origin = window.location.origin) { return url.toString(); } +function createUpdateURL(params = {}) { + let origin = window.location.origin; + let url = new URL(`${origin}${RESOURCE_PATH}update-url.py`); + url.searchParams.append('body', params.body); + url.searchParams.append('uuid', params.uuid); + + return url.toString(); +} + // Generates a UUID and registers a cleanup method with the test fixture to // request a URL from the request tracking script that clears all data // associated with the generated uuid when requested. @@ -142,19 +151,21 @@ async function waitForObservedRequests(uuid, expectedRequests, filter) { trackedRequests = trackedRequests.filter(filter); } - // If expected number of requests have been observed, compare with list of - // all expected requests and exit. - if (trackedRequests.length >= expectedRequests.length) { - assert_array_equals(trackedRequests, expectedRequests); - break; - } - // If fewer than total number of expected requests have been observed, // compare what's been received so far, to have a greater chance to fail // rather than hang on error. for (const trackedRequest of trackedRequests) { assert_in_array(trackedRequest, expectedRequests); } + + // If expected number of requests have been observed, compare with list of + // all expected requests and exit. This check was previously before the for loop, + // but was swapped in order to avoid flakiness with failing tests and their + // respective *-expected.txt. + if (trackedRequests.length >= expectedRequests.length) { + assert_array_equals(trackedRequests, expectedRequests); + break; + } } } @@ -830,3 +841,21 @@ let additionalBidHelper = function() { fetchAdditionalBids: fetchAdditionalBids }; }(); + + +// DeprecatedRenderURLReplacements helper function. +// Returns an object containing sample strings both before and after the +// replacements in 'replacements' have been applied by +// deprecatedRenderURLReplacements. All substitution strings will appear +// only once in the output strings. +function createStringBeforeAndAfterReplacements(deprecatedRenderURLReplacements) { + let beforeReplacements = ''; + let afterReplacements = ''; + if(deprecatedRenderURLReplacements){ + for (const [match, replacement] of Object.entries(deprecatedRenderURLReplacements)) { + beforeReplacements += match + "/"; + afterReplacements += replacement + "/"; + } + } + return { beforeReplacements, afterReplacements }; +} |