| <!doctype html> | |
| <meta name=timeout content=long> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/common/utils.js"></script> | |
| <script src="resources/protected-audience-helper-module.js"></script> | |
| <body> | |
| <script> | |
| 'use strict'; | |
| promise_test(async test => { | |
| const uuid = generateUuid(); | |
| const contribution = '{ bucket: 1n, value: 1 }'; | |
| await runReportTest(test, uuid, | |
| { scoreAd: | |
| `privateAggregation.contributeToHistogram(${contribution}); | |
| forDebuggingOnly.reportAdAuctionWin('${createWritingURL(uuid)}');` | |
| }, | |
| /*expectedNumReports=*/ 1); | |
| }, 'contributeToHistogram() with positive bucket in scoreAd()'); | |
| promise_test(async test => { | |
| const uuid = generateUuid(); | |
| const contribution = '{ bucket: 0n, value: 1 }'; | |
| await runReportTest(test, uuid, | |
| { reportResult: | |
| `privateAggregation.contributeToHistogram(${contribution}); | |
| sendReportTo('${createWritingURL(uuid)}');` | |
| }, | |
| /*expectedNumReports=*/ 1); | |
| }, 'contributeToHistogram() with zero bucket in reportResult()'); | |
| promise_test(async test => { | |
| const uuid = generateUuid(); | |
| const contribution = '{ bucket: 18446744073709551616n, value: 1 }'; | |
| await runReportTest(test, uuid, | |
| { generateBid: | |
| `privateAggregation.contributeToHistogram(${contribution}); | |
| forDebuggingOnly.reportAdAuctionWin('${createWritingURL(uuid)}');` | |
| }, | |
| /*expectedNumReports=*/ 1); | |
| }, 'contributeToHistogram() with large bucket in generateBid()'); | |
| promise_test(async test => { | |
| const uuid = generateUuid(); | |
| const contribution = '{ bucket: 340282366920938463463374607431768211455n, value: 1 }'; | |
| await runReportTest(test, uuid, | |
| { reportWin: | |
| `privateAggregation.contributeToHistogram(${contribution}); | |
| sendReportTo('${createWritingURL(uuid)}');` | |
| }, | |
| /*expectedNumReports=*/ 1); | |
| }, 'contributeToHistogram() with max bucket in reportWin()'); | |
| promise_test(async test => { | |
| const uuid = generateUuid(); | |
| const contribution = '{ bucket: 1n, value: 1 }'; | |
| await runReportTest(test, uuid, | |
| { scoreAd: | |
| `privateAggregation.contributeToHistogram(${contribution}); | |
| forDebuggingOnly.reportAdAuctionWin('${createWritingURL(uuid)}');` | |
| }, | |
| /*expectedNumReports=*/ 1); | |
| }, 'contributeToHistogram() with positive value in scoreAd()'); | |
| promise_test(async test => { | |
| const uuid = generateUuid(); | |
| const contribution = '{ bucket: 1n, value: 0 }'; | |
| await runReportTest(test, uuid, | |
| { reportResult: | |
| `privateAggregation.contributeToHistogram(${contribution}); | |
| sendReportTo('${createWritingURL(uuid)}');` | |
| }, | |
| /*expectedNumReports=*/ 1); | |
| }, 'contributeToHistogram() with zero value in reportResult()'); | |
| promise_test(async test => { | |
| const uuid = generateUuid(); | |
| const contribution = '{ bucket: 1n, value: 2.3 }'; | |
| await runReportTest(test, uuid, | |
| { generateBid: | |
| `privateAggregation.contributeToHistogram(${contribution}); | |
| forDebuggingOnly.reportAdAuctionWin('${createWritingURL(uuid)}');` | |
| }, | |
| /*expectedNumReports=*/ 1); | |
| }, 'contributeToHistogram() with non-integer value in generateBid()'); | |
| </script> | |
| </body> |