<!DOCTYPE html>
<title>Test ImageDecoder outputs to a image-orientation: none canvas.</title>
<canvas style="image-orientation: none"></canvas>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/webcodecs/image-decoder-utils.js"></script>
<script>
promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      1, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation top-left on canvas w/o orientation');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      2, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation top-right on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      3, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation bottom-right on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      4, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation bottom-left on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      5, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation left-top on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      6, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation right-top on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      7, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation right-bottom on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      8, document.querySelector('canvas'));
}, 'Test JPEG w/ EXIF orientation left-bottom on canvas w/o orientation.');

// YUV tests
promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      1, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation top-left on canvas w/o orientation');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      2, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation top-right on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      3, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation bottom-right on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      4, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation bottom-left on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      5, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation left-top on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      6, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation right-top on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      7, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation right-bottom on canvas w/o orientation.');

promise_test(t => {
  return testFourColorDecodeWithExifOrientation(
      8, document.querySelector('canvas'), /*useYuv=*/true);
}, 'Test 4:2:0 JPEG w/ EXIF orientation left-bottom on canvas w/o orientation.');
</script>
