<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/utils.js"></script>
<script src="/shared-storage/resources/util.js"></script>
<script src="/private-aggregation/resources/util.js"></script>
<script src="/fenced-frame/resources/utils.js"></script>
<body>
<script>
'use strict';
// Note: This file should contain at most 6 shared storage subtests due to the
// budget on selectURL().
promise_test(async () => {
const paa_data = {
enableDebugMode: true,
contributions: [{bucket: 1n, value: 2}]
};
await VerifyContributeToHistogram(paa_data, /*expected_error=*/false);
}, 'basic contributeToHistogram() test');
promise_test(async () => {
const paa_data = {
enableDebugMode: true,
contributions: [{bucket: 0n, value: 2}]
};
await VerifyContributeToHistogram(paa_data, /*expected_error=*/false);
}, 'contributeToHistogram() with a zero bucket');
promise_test(async () => {
const paa_data = {
enableDebugMode: true,
contributions: [{bucket: 1n, value: 0}]
};
await VerifyContributeToHistogram(paa_data, /*expected_error=*/false);
}, 'contributeToHistogram() with a zero value');
promise_test(async () => {
const paa_data = {
enableDebugMode: true,
contributions: [{bucket: 18446744073709551616n, value: 5}]
};
await VerifyContributeToHistogram(paa_data, /*expected_error=*/false);
}, 'contributeToHistogram() with a large bucket');
promise_test(async () => {
const paa_data = {
enableDebugMode: true,
contributions: [{bucket: 340282366920938463463374607431768211455n, value: 5}]
};
await VerifyContributeToHistogram(paa_data, /*expected_error=*/false);
}, 'contributeToHistogram() with a max bucket');
promise_test(async () => {
const paa_data = {
enableDebugMode: true,
contributions: [{bucket: 1n, value: 2.3}]
};
await VerifyContributeToHistogram(paa_data, /*expected_error=*/false);
}, 'contributeToHistogram() with a non-integer value');
</script>
</body>