summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webaudio/js/helpers.js
blob: 9e4ee6fa34333f681974122f4ad2a35bbfc3343c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function assert_array_approx_equals(actual, expected, epsilon, description)
{
  assert_true(actual.length === expected.length,
              (description + ": lengths differ, expected " + expected.length + " got " + actual.length))

  for (var i=0; i < actual.length; i++) {
    assert_approx_equals(actual[i], expected[i], epsilon, (description + ": element " + i))
  }
}

/*
  Returns an array (typed or not), of the passed array with removed trailing and ending
  zero-valued elements
 */
function trimEmptyElements(array) {
  var start = 0;
  var end = array.length;
  
  while (start < array.length) {
    if (array[start] !== 0) {
      break;
    }
    start++;
  }

  while (end > 0) {
    end--;
    if (array[end] !== 0) {
      break;
    }
  }
  return array.subarray(start, end);
}