summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fledge/tentative/resources/fledge-util.sub.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/fledge/tentative/resources/fledge-util.sub.js')
-rw-r--r--testing/web-platform/tests/fledge/tentative/resources/fledge-util.sub.js43
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 };
+}