mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-20 15:18:08 +02:00
Use binary search in getVisibleElements()
This commit is contained in:
parent
a033b4bf3d
commit
a78bb6b946
3 changed files with 100 additions and 17 deletions
37
test/unit/ui_utils_spec.js
Normal file
37
test/unit/ui_utils_spec.js
Normal file
|
@ -0,0 +1,37 @@
|
|||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||
/* globals expect, it, describe, binarySearchFirstItem */
|
||||
|
||||
'use strict';
|
||||
|
||||
describe('ui_utils', function() {
|
||||
|
||||
describe('binary search', function() {
|
||||
function isTrue(boolean) {
|
||||
return boolean;
|
||||
}
|
||||
function isGreater3(number) {
|
||||
return number > 3;
|
||||
}
|
||||
|
||||
it('empty array', function() {
|
||||
expect(binarySearchFirstItem([], isTrue)).toEqual(0);
|
||||
});
|
||||
it('single boolean entry', function() {
|
||||
expect(binarySearchFirstItem([false], isTrue)).toEqual(1);
|
||||
expect(binarySearchFirstItem([true], isTrue)).toEqual(0);
|
||||
});
|
||||
it('three boolean entries', function() {
|
||||
expect(binarySearchFirstItem([true, true, true], isTrue)).toEqual(0);
|
||||
expect(binarySearchFirstItem([false, true, true], isTrue)).toEqual(1);
|
||||
expect(binarySearchFirstItem([false, false, true], isTrue)).toEqual(2);
|
||||
expect(binarySearchFirstItem([false, false, false], isTrue)).toEqual(3);
|
||||
});
|
||||
it('three numeric entries', function() {
|
||||
expect(binarySearchFirstItem([0, 1, 2], isGreater3)).toEqual(3);
|
||||
expect(binarySearchFirstItem([2, 3, 4], isGreater3)).toEqual(2);
|
||||
expect(binarySearchFirstItem([4, 5, 6], isGreater3)).toEqual(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
@ -40,6 +40,7 @@
|
|||
<script src="../../src/core/worker.js"></script>
|
||||
<script src="../../src/display/metadata.js"></script>
|
||||
<script src="../../src/core/jpg.js"></script>
|
||||
<script src="../../web/ui_utils.js"></script>
|
||||
<script>PDFJS.workerSrc = '../../src/worker_loader.js';</script>
|
||||
|
||||
<!-- include spec files here... -->
|
||||
|
@ -52,6 +53,7 @@
|
|||
<script src="parser_spec.js"></script>
|
||||
<script src="api_spec.js"></script>
|
||||
<script src="metadata_spec.js"></script>
|
||||
<script src="ui_utils_spec.js"></script>
|
||||
<script src="util_spec.js"></script>
|
||||
<script src="cmap_spec.js"></script>
|
||||
<script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue