First commit

This commit is contained in:
2021-03-07 05:58:59 +01:00
committed by Andreas Schaafsma
commit 6e1a5f9fe5
18475 changed files with 3309357 additions and 0 deletions

13
hGameTest/node_modules/array-includes/.editorconfig generated vendored Normal file
View File

@@ -0,0 +1,13 @@
root = true
[*]
indent_style = tab;
insert_final_newline = true;
quote_type = auto;
space_after_anonymous_functions = true;
space_after_control_statements = true;
spaces_around_operators = true;
trim_trailing_whitespace = true;
spaces_in_brackets = false;
end_of_line = lf;

1
hGameTest/node_modules/array-includes/.eslintignore generated vendored Normal file
View File

@@ -0,0 +1 @@
coverage/

22
hGameTest/node_modules/array-includes/.eslintrc generated vendored Normal file
View File

@@ -0,0 +1,22 @@
{
"root": true,
"extends": "@ljharb",
"rules": {
"complexity": 0,
"id-length": [2, { "min": 1, "max": 26 }],
"max-statements": [2, 14],
"new-cap": [2, { capIsNewExceptions: ["GetIntrinsic", "ToObject", "ToInteger", "ToLength", "SameValueZero", "RequireObjectCoercible"] }],
},
"overrides": [
{
"files": "test/**",
"rules": {
"max-lines-per-function": 0,
"no-invalid-this": 1,
},
},
],
}

View File

@@ -0,0 +1,12 @@
# These are supported funding model platforms
github: [ljharb]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: npm/array-includes
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

View File

@@ -0,0 +1,54 @@
name: 'Tests: node.js'
on: [pull_request, push]
jobs:
matrix:
runs-on: ubuntu-latest
outputs:
latest: ${{ steps.set-matrix.outputs.requireds }}
minors: ${{ steps.set-matrix.outputs.optionals }}
steps:
- uses: ljharb/actions/node/matrix@main
id: set-matrix
with:
preset: '>=4'
latest:
needs: [matrix]
name: 'latest minors'
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJson(needs.matrix.outputs.latest) }}
steps:
- uses: actions/checkout@v2
- uses: ljharb/actions/node/run@main
name: 'npm install && npm run tests-only'
with:
node-version: ${{ matrix.node-version }}
command: 'tests-only'
minors:
needs: [matrix, latest]
name: 'non-latest minors'
continue-on-error: true
if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }}
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJson(needs.matrix.outputs.minors) }}
steps:
- uses: actions/checkout@v2
- uses: ljharb/actions/node/run@main
with:
node-version: ${{ matrix.node-version }}
command: 'tests-only'
node:
name: 'node 4+'
needs: [latest, minors]
runs-on: ubuntu-latest
steps:
- run: 'echo tests completed'

View File

@@ -0,0 +1,58 @@
name: 'Tests: node.js (io.js)'
on: [pull_request, push]
jobs:
matrix:
runs-on: ubuntu-latest
outputs:
latest: ${{ steps.set-matrix.outputs.requireds }}
minors: ${{ steps.set-matrix.outputs.optionals }}
steps:
- uses: ljharb/actions/node/matrix@main
id: set-matrix
with:
preset: 'iojs'
latest:
needs: [matrix]
name: 'latest minors'
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJson(needs.matrix.outputs.latest) }}
steps:
- uses: actions/checkout@v2
- uses: ljharb/actions/node/run@main
name: 'npm install && npm run tests-only'
with:
node-version: ${{ matrix.node-version }}
command: 'tests-only'
skip-ls-check: true
minors:
needs: [matrix, latest]
name: 'non-latest minors'
continue-on-error: true
if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }}
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJson(needs.matrix.outputs.minors) }}
steps:
- uses: actions/checkout@v2
- uses: ljharb/actions/node/run@main
name: 'npm install && npm run tests-only'
with:
node-version: ${{ matrix.node-version }}
command: 'tests-only'
skip-ls-check: true
node:
name: 'io.js'
needs: [latest, minors]
runs-on: ubuntu-latest
steps:
- run: 'echo tests completed'

View File

@@ -0,0 +1,26 @@
name: 'Tests: pretest/posttest'
on: [pull_request, push]
jobs:
pretest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ljharb/actions/node/run@main
name: 'npm install && npm run pretest'
with:
node-version: 'lts/*'
command: 'pretest'
posttest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ljharb/actions/node/run@main
name: 'npm install && npm run posttest'
with:
node-version: 'lts/*'
command: 'posttest'

View File

@@ -0,0 +1,58 @@
name: 'Tests: node.js (0.x)'
on: [pull_request, push]
jobs:
matrix:
runs-on: ubuntu-latest
outputs:
stable: ${{ steps.set-matrix.outputs.requireds }}
unstable: ${{ steps.set-matrix.outputs.optionals }}
steps:
- uses: ljharb/actions/node/matrix@main
id: set-matrix
with:
preset: '0.x'
stable:
needs: [matrix]
name: 'stable minors'
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJson(needs.matrix.outputs.stable) }}
steps:
- uses: actions/checkout@v2
- uses: ljharb/actions/node/run@main
with:
node-version: ${{ matrix.node-version }}
command: 'tests-only'
cache-node-modules-key: node_modules-${{ github.workflow }}-${{ github.action }}-${{ github.run_id }}
skip-ls-check: true
unstable:
needs: [matrix, stable]
name: 'unstable minors'
continue-on-error: true
if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }}
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJson(needs.matrix.outputs.unstable) }}
steps:
- uses: actions/checkout@v2
- uses: ljharb/actions/node/run@main
with:
node-version: ${{ matrix.node-version }}
command: 'tests-only'
cache-node-modules-key: node_modules-${{ github.workflow }}-${{ github.action }}-${{ github.run_id }}
skip-ls-check: true
node:
name: 'node 0.x'
needs: [stable, unstable]
runs-on: ubuntu-latest
steps:
- run: 'echo tests completed'

View File

@@ -0,0 +1,15 @@
name: Automatic Rebase
on: [pull_request_target]
jobs:
_:
name: "Automatic Rebase"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: ljharb/rebase@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -0,0 +1,14 @@
name: Require “Allow Edits”
on: [pull_request_target]
jobs:
_:
name: "Require “Allow Edits”"
runs-on: ubuntu-latest
steps:
- uses: ljharb/require-allow-edits@main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

13
hGameTest/node_modules/array-includes/.nycrc generated vendored Normal file
View File

@@ -0,0 +1,13 @@
{
"all": true,
"check-coverage": false,
"reporter": ["text-summary", "text", "html", "json"],
"lines": 86,
"statements": 85.93,
"functions": 82.43,
"branches": 76.06,
"exclude": [
"coverage",
"test"
]
}

112
hGameTest/node_modules/array-includes/CHANGELOG.md generated vendored Normal file
View File

@@ -0,0 +1,112 @@
3.1.2 / 2020-11-24
=================
* [Robustness] remove dependency on `.apply`
* [Deps] update `es-abstract`; use `call-bind` and `get-intrinsic` where applicable
* [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `functions-have-names`, `tape`; add `aud`, `safe-publish-latest`
* [actions] add "Allow Edits" workflow
* [actions] switch Automatic Rebase workflow to `pull_request_target` event
* [Tests] migrate tests to Github Actions
* [Tests] run `nyc` on all tests
* [Tests] add `implementation` test; run `es-shim-api` in postlint; use `tape` runner
3.1.1 / 2019-12-21
=================
* [Fix] IE < 9 does not have index access on strings
* [Deps] update `es-abstract`
* [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`
* [meta] remove unused Makefile and associated utilities
* [Tests] add string tests
3.1.0 / 2019-12-11
=================
* [New] add `auto` entry point
* [Refactor] use split-up `es-abstract` (68% bundle size decrease)
* [readme] fix repo URLs, remove testling, fix readme parsing
* [Deps] update `es-abstract`, `define-properties`
* [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `evalmd`, `covert`, `functions-have-names`, `replace`, `semver`, `tape`, `@es-shims/api`, `function-bind`
* [meta] add `funding` field, FUNDING.yml
* [meta] Only apps should have lockfiles
* [Tests] add more `fromIndex` tests
* [Tests] use shared travis-ci configs
* [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops
* [Tests] remove `jscs`
* [Tests] use `functions-have-names`
* [Tests] use `npm audit` instead of `nsp`
* [Tests] remove `jscs`
* [actions] add automatic rebasing / merge commit blocking
3.0.3 / 2017-04-18
=================
* [Fix] ensure that `shim.js` actually shims when the polyfill differs from native
* [Tests] up to `node` `v7.9`, `v6.10`, `v4.8`; comment out OS X builds; improve test matrix
* [Dev Deps] update `nsp`, `eslint`, `@ljharb/eslint-config`, `tape`, `jscs`, `semver`, `function-bind`, `@es-shims/api`
* [Deps] update `es-abstract`
* [Docs] update readme: add “getting started” and “usage” (#19)
3.0.2 / 2015-06-06
=================
* Use the polyfill, not the implementation, as the default export
* [Deps] update `es-abstract`
* [Dev Deps] update `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`
* [Tests] up to `node` `v5.5`
* [Tests] keep tests passing in `node` `v0.8`
* [Tests] Only run `evalmd` as part of the full test suite, since it's more like a linter
* [Tests] fix npm upgrades for older nodes
3.0.1 / 2015-05-23
=================
* [Fix] in "shim", assign the polyfill, not the implementation
3.0.0 / 2015-05-23
=================
* [Breaking] Implement the [es-shim API](es-shims/api)
* [Deps] update `define-properties`, `es-abstract`
* [Dev Deps] update `eslint`, `semver`, `nsp`, `semver`, `jscs`
* [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
* [Tests] use my personal shared `eslint` config
* [Tests] up to `io.js` `v3.0`
2.0.0 / 2015-05-23
=================
* Fix to not skip holes, per https://github.com/tc39/Array.prototype.includes/issues/15
1.1.1 / 2015-05-23
=================
* Test up to `io.js` `v2.0`
* Update `es-abstract`, `tape`, `eslint`, `semver`, `jscs`, `semver`
1.1.0 / 2015-03-19
=================
* Update `es-abstract`, `editorconfig-tools`, `nsp`, `eslint`, `semver`
1.0.6 / 2015-02-17
=================
* All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`.
* Run `travis-ci` tests on `iojs` and `node` v0.12; allow 0.8 failures.
* Update `tape`, `jscs`, `es-abstract`, remove `is`.
1.0.5 / 2015-01-30
=================
* Update `tape`, `jscs`, `nsp`, `eslint`, `es-abstract`
1.0.4 / 2015-01-10
=================
* Use `es-abstract` for ECMAScript spec internal abstract operations
1.0.3 / 2015-01-06
=================
* Speed optimization: use Array#indexOf when available
* Fix ES3, IE 6-8, Opera 10.6, Opera 11.1 support
* Run testling on both sets of tests
1.0.2 / 2015-01-05
=================
* Ensure tests are includes in the module on `npm`
1.0.1 / 2015-01-04
=================
* Remove mistaken auto-shim.
1.0.0 / 2015-01-04
=================
* v1.0.0

21
hGameTest/node_modules/array-includes/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (C) 2015 Jordan Harband
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

94
hGameTest/node_modules/array-includes/README.md generated vendored Normal file
View File

@@ -0,0 +1,94 @@
# array-includes <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
[![Build Status][travis-svg]][travis-url]
[![dependency status][deps-svg]][deps-url]
[![dev dependency status][dev-deps-svg]][dev-deps-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url]
[![npm badge][npm-badge-png]][package-url]
An ES7/ES2016 spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.
This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES3-supported environment and complies with the proposed [spec](http://www.ecma-international.org/ecma-262/6.0/).
Because `Array.prototype.includes` depends on a receiver (the `this` value), the main export takes the array to operate on as the first argument.
## Getting started
```sh
npm install --save array-includes
```
## Usage
Basic usage: **includes(array, value[, fromIndex=0])**
```js
var includes = require('array-includes');
var assert = require('assert');
var arr = [ 'one', 'two' ];
includes(arr, 'one'); // true
includes(arr, 'three'); // false
includes(arr, 'one', 1); // false
```
## Example
```js
var arr = [
1,
'foo',
NaN,
-0
];
assert.equal(arr.indexOf(0) > -1, true);
assert.equal(arr.indexOf(-0) > -1, true);
assert.equal(includes(arr, 0), true);
assert.equal(includes(arr, -0), true);
assert.equal(arr.indexOf(NaN) > -1, false);
assert.equal(includes(arr, NaN), true);
assert.equal(includes(arr, 'foo', 0), true);
assert.equal(includes(arr, 'foo', 1), true);
assert.equal(includes(arr, 'foo', 2), false);
```
```js
/* when Array#includes is not present */
delete Array.prototype.includes;
var shimmedIncludes = includes.shim();
assert.equal(shimmedIncludes, includes.getPolyfill());
assert.equal(arr.includes('foo', 1), includes(arr, 'foo', 1));
```
```js
/* when Array#includes is present */
var shimmedIncludes = includes.shim();
assert.equal(shimmedIncludes, Array.prototype.includes);
assert.equal(arr.includes(1, 'foo'), includes(arr, 1, 'foo'));
```
## Tests
Simply clone the repo, `npm install`, and run `npm test`
[package-url]: https://npmjs.org/package/array-includes
[npm-version-svg]: http://versionbadg.es/es-shims/array-includes.svg
[travis-svg]: https://travis-ci.org/es-shims/array-includes.svg
[travis-url]: https://travis-ci.org/es-shims/array-includes
[deps-svg]: https://david-dm.org/es-shims/array-includes.svg
[deps-url]: https://david-dm.org/es-shims/array-includes
[dev-deps-svg]: https://david-dm.org/es-shims/array-includes/dev-status.svg
[dev-deps-url]: https://david-dm.org/es-shims/array-includes#info=devDependencies
[npm-badge-png]: https://nodei.co/npm/array-includes.png?downloads=true&stars=true
[license-image]: http://img.shields.io/npm/l/array-includes.svg
[license-url]: LICENSE
[downloads-image]: http://img.shields.io/npm/dm/array-includes.svg
[downloads-url]: http://npm-stat.com/charts.html?package=array-includes

3
hGameTest/node_modules/array-includes/auto.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
'use strict';
require('./shim')();

View File

@@ -0,0 +1,74 @@
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for auto.js</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="index.html">All files</a> auto.js
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">0% </span>
<span class="quiet">Statements</span>
<span class='fraction'>0/1</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>0/0</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>0/0</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">0% </span>
<span class="quiet">Lines</span>
<span class='fraction'>0/1</span>
</div>
</div>
</div>
<div class='status-line low'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet">1
2
3
4</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
&nbsp;
<span class="cstat-no" title="statement not covered" >require('./shim')();</span>
&nbsp;</pre></td></tr>
</table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Nov 23 2020 22:50:55 GMT-0800 (Pacific Standard Time)
</div>
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="sorter.js"></script>
</body>
</html>

212
hGameTest/node_modules/array-includes/coverage/base.css generated vendored Normal file
View File

@@ -0,0 +1,212 @@
body, html {
margin:0; padding: 0;
height: 100%;
}
body {
font-family: Helvetica Neue, Helvetica, Arial;
font-size: 14px;
color:#333;
}
.small { font-size: 12px; }
*, *:after, *:before {
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
h1 { font-size: 20px; margin: 0;}
h2 { font-size: 14px; }
pre {
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
margin: 0;
padding: 0;
-moz-tab-size: 2;
-o-tab-size: 2;
tab-size: 2;
}
a { color:#0074D9; text-decoration:none; }
a:hover { text-decoration:underline; }
.strong { font-weight: bold; }
.space-top1 { padding: 10px 0 0 0; }
.pad2y { padding: 20px 0; }
.pad1y { padding: 10px 0; }
.pad2x { padding: 0 20px; }
.pad2 { padding: 20px; }
.pad1 { padding: 10px; }
.space-left2 { padding-left:55px; }
.space-right2 { padding-right:20px; }
.center { text-align:center; }
.clearfix { display:block; }
.clearfix:after {
content:'';
display:block;
height:0;
clear:both;
visibility:hidden;
}
.fl { float: left; }
@media only screen and (max-width:640px) {
.col3 { width:100%; max-width:100%; }
.hide-mobile { display:none!important; }
}
.quiet {
color: #7f7f7f;
color: rgba(0,0,0,0.5);
}
.quiet a { opacity: 0.7; }
.fraction {
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
font-size: 10px;
color: #555;
background: #E8E8E8;
padding: 4px 5px;
border-radius: 3px;
vertical-align: middle;
}
div.path a:link, div.path a:visited { color: #333; }
table.coverage {
border-collapse: collapse;
margin: 10px 0 0 0;
padding: 0;
}
table.coverage td {
margin: 0;
padding: 0;
vertical-align: top;
}
table.coverage td.line-count {
text-align: right;
padding: 0 5px 0 20px;
}
table.coverage td.line-coverage {
text-align: right;
padding-right: 10px;
min-width:20px;
}
table.coverage td span.cline-any {
display: inline-block;
padding: 0 5px;
width: 100%;
}
.missing-if-branch {
display: inline-block;
margin-right: 5px;
border-radius: 3px;
position: relative;
padding: 0 4px;
background: #333;
color: yellow;
}
.skip-if-branch {
display: none;
margin-right: 10px;
position: relative;
padding: 0 4px;
background: #ccc;
color: white;
}
.missing-if-branch .typ, .skip-if-branch .typ {
color: inherit !important;
}
.coverage-summary {
border-collapse: collapse;
width: 100%;
}
.coverage-summary tr { border-bottom: 1px solid #bbb; }
.keyline-all { border: 1px solid #ddd; }
.coverage-summary td, .coverage-summary th { padding: 10px; }
.coverage-summary tbody { border: 1px solid #bbb; }
.coverage-summary td { border-right: 1px solid #bbb; }
.coverage-summary td:last-child { border-right: none; }
.coverage-summary th {
text-align: left;
font-weight: normal;
white-space: nowrap;
}
.coverage-summary th.file { border-right: none !important; }
.coverage-summary th.pct { }
.coverage-summary th.pic,
.coverage-summary th.abs,
.coverage-summary td.pct,
.coverage-summary td.abs { text-align: right; }
.coverage-summary td.file { white-space: nowrap; }
.coverage-summary td.pic { min-width: 120px !important; }
.coverage-summary tfoot td { }
.coverage-summary .sorter {
height: 10px;
width: 7px;
display: inline-block;
margin-left: 0.5em;
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
}
.coverage-summary .sorted .sorter {
background-position: 0 -20px;
}
.coverage-summary .sorted-desc .sorter {
background-position: 0 -10px;
}
.status-line { height: 10px; }
/* dark red */
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
.low .chart { border:1px solid #C21F39 }
/* medium red */
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
/* light red */
.low, .cline-no { background:#FCE1E5 }
/* light green */
.high, .cline-yes { background:rgb(230,245,208) }
/* medium green */
.cstat-yes { background:rgb(161,215,106) }
/* dark green */
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
.high .chart { border:1px solid rgb(77,146,33) }
.medium .chart { border:1px solid #666; }
.medium .cover-fill { background: #666; }
.cbranch-no { background: yellow !important; color: #111; }
.cstat-skip { background: #ddd; color: #111; }
.fstat-skip { background: #ddd; color: #111 !important; }
.cbranch-skip { background: #ddd !important; color: #111; }
span.cline-neutral { background: #eaeaea; }
.medium { background: #eaeaea; }
.cover-fill, .cover-empty {
display:inline-block;
height: 12px;
}
.chart {
line-height: 0;
}
.cover-empty {
background: white;
}
.cover-full {
border-right: none !important;
}
pre.prettyprint {
border: none !important;
padding: 0 !important;
margin: 0 !important;
}
.com { color: #999 !important; }
.ignore-none { color: #999; font-weight: normal; }
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -48px;
}
.footer, .push {
height: 48px;
}

View File

@@ -0,0 +1,6 @@
{"/Users/ljharb/Dropbox/git/array-includes.git/auto.js": {"path":"/Users/ljharb/Dropbox/git/array-includes.git/auto.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":3,"column":20}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{}}
,"/Users/ljharb/Dropbox/git/array-includes.git/implementation.js": {"path":"/Users/ljharb/Dropbox/git/array-includes.git/implementation.js","statementMap":{"0":{"start":{"line":3,"column":16},"end":{"line":3,"column":53}},"1":{"start":{"line":4,"column":15},"end":{"line":4,"column":51}},"2":{"start":{"line":5,"column":15},"end":{"line":5,"column":51}},"3":{"start":{"line":6,"column":20},"end":{"line":6,"column":61}},"4":{"start":{"line":7,"column":13},"end":{"line":7,"column":49}},"5":{"start":{"line":8,"column":16},"end":{"line":8,"column":55}},"6":{"start":{"line":9,"column":19},"end":{"line":9,"column":43}},"7":{"start":{"line":10,"column":16},"end":{"line":10,"column":46}},"8":{"start":{"line":11,"column":15},"end":{"line":11,"column":35}},"9":{"start":{"line":13,"column":14},"end":{"line":13,"column":50}},"10":{"start":{"line":14,"column":15},"end":{"line":14,"column":56}},"11":{"start":{"line":16,"column":0},"end":{"line":35,"column":2}},"12":{"start":{"line":17,"column":17},"end":{"line":17,"column":67}},"13":{"start":{"line":18,"column":1},"end":{"line":20,"column":2}},"14":{"start":{"line":19,"column":2},"end":{"line":19,"column":46}},"15":{"start":{"line":22,"column":9},"end":{"line":22,"column":23}},"16":{"start":{"line":23,"column":14},"end":{"line":23,"column":32}},"17":{"start":{"line":24,"column":1},"end":{"line":26,"column":2}},"18":{"start":{"line":25,"column":2},"end":{"line":25,"column":15}},"19":{"start":{"line":27,"column":9},"end":{"line":27,"column":69}},"20":{"start":{"line":28,"column":1},"end":{"line":33,"column":2}},"21":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"22":{"start":{"line":30,"column":3},"end":{"line":30,"column":15}},"23":{"start":{"line":32,"column":2},"end":{"line":32,"column":9}},"24":{"start":{"line":34,"column":1},"end":{"line":34,"column":14}}},"fnMap":{"0":{"name":"includes","decl":{"start":{"line":16,"column":26},"end":{"line":16,"column":34}},"loc":{"start":{"line":16,"column":50},"end":{"line":35,"column":1}},"line":16}},"branchMap":{"0":{"loc":{"start":{"line":17,"column":17},"end":{"line":17,"column":67}},"type":"cond-expr","locations":[{"start":{"line":17,"column":40},"end":{"line":17,"column":63}},{"start":{"line":17,"column":66},"end":{"line":17,"column":67}}],"line":17},"1":{"loc":{"start":{"line":18,"column":1},"end":{"line":20,"column":2}},"type":"if","locations":[{"start":{"line":18,"column":1},"end":{"line":20,"column":2}},{"start":{"line":18,"column":1},"end":{"line":20,"column":2}}],"line":18},"2":{"loc":{"start":{"line":18,"column":5},"end":{"line":18,"column":103}},"type":"binary-expr","locations":[{"start":{"line":18,"column":5},"end":{"line":18,"column":13}},{"start":{"line":18,"column":17},"end":{"line":18,"column":39}},{"start":{"line":18,"column":43},"end":{"line":18,"column":63}},{"start":{"line":18,"column":67},"end":{"line":18,"column":103}}],"line":18},"3":{"loc":{"start":{"line":24,"column":1},"end":{"line":26,"column":2}},"type":"if","locations":[{"start":{"line":24,"column":1},"end":{"line":26,"column":2}},{"start":{"line":24,"column":1},"end":{"line":26,"column":2}}],"line":24},"4":{"loc":{"start":{"line":27,"column":9},"end":{"line":27,"column":69}},"type":"cond-expr","locations":[{"start":{"line":27,"column":26},"end":{"line":27,"column":35}},{"start":{"line":27,"column":38},"end":{"line":27,"column":69}}],"line":27},"5":{"loc":{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},"type":"if","locations":[{"start":{"line":29,"column":2},"end":{"line":31,"column":3}},{"start":{"line":29,"column":2},"end":{"line":31,"column":3}}],"line":29},"6":{"loc":{"start":{"line":29,"column":35},"end":{"line":29,"column":69}},"type":"cond-expr","locations":[{"start":{"line":29,"column":49},"end":{"line":29,"column":62}},{"start":{"line":29,"column":65},"end":{"line":29,"column":69}}],"line":29}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":37,"13":36,"14":30,"15":6,"16":4,"17":4,"18":0,"19":4,"20":4,"21":3,"22":3,"23":0,"24":1},"f":{"0":37},"b":{"0":[22,15],"1":[30,6],"2":[36,36,35,33],"3":[0,4],"4":[3,1],"5":[3,0],"6":[0,3]}}
,"/Users/ljharb/Dropbox/git/array-includes.git/index.js": {"path":"/Users/ljharb/Dropbox/git/array-includes.git/index.js","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":3,"column":41}},"1":{"start":{"line":4,"column":29},"end":{"line":4,"column":79}},"2":{"start":{"line":5,"column":16},"end":{"line":5,"column":46}},"3":{"start":{"line":7,"column":21},"end":{"line":7,"column":48}},"4":{"start":{"line":8,"column":18},"end":{"line":8,"column":39}},"5":{"start":{"line":9,"column":15},"end":{"line":9,"column":28}},"6":{"start":{"line":10,"column":11},"end":{"line":10,"column":28}},"7":{"start":{"line":12,"column":13},"end":{"line":12,"column":47}},"8":{"start":{"line":15,"column":24},"end":{"line":19,"column":1}},"9":{"start":{"line":17,"column":1},"end":{"line":17,"column":31}},"10":{"start":{"line":18,"column":1},"end":{"line":18,"column":52}},"11":{"start":{"line":20,"column":0},"end":{"line":24,"column":3}},"12":{"start":{"line":26,"column":0},"end":{"line":26,"column":35}}},"fnMap":{"0":{"name":"includes","decl":{"start":{"line":15,"column":33},"end":{"line":15,"column":41}},"loc":{"start":{"line":15,"column":64},"end":{"line":19,"column":1}},"line":15}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":37,"10":35,"11":1,"12":1},"f":{"0":37},"b":{}}
,"/Users/ljharb/Dropbox/git/array-includes.git/polyfill.js": {"path":"/Users/ljharb/Dropbox/git/array-includes.git/polyfill.js","statementMap":{"0":{"start":{"line":3,"column":21},"end":{"line":3,"column":48}},"1":{"start":{"line":5,"column":0},"end":{"line":7,"column":2}},"2":{"start":{"line":6,"column":1},"end":{"line":6,"column":51}}},"fnMap":{"0":{"name":"getPolyfill","decl":{"start":{"line":5,"column":26},"end":{"line":5,"column":37}},"loc":{"start":{"line":5,"column":40},"end":{"line":7,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":8},"end":{"line":6,"column":50}},"type":"binary-expr","locations":[{"start":{"line":6,"column":8},"end":{"line":6,"column":32}},{"start":{"line":6,"column":36},"end":{"line":6,"column":50}}],"line":6}},"s":{"0":1,"1":1,"2":2},"f":{"0":2},"b":{"0":[2,0]}}
,"/Users/ljharb/Dropbox/git/array-includes.git/shim.js": {"path":"/Users/ljharb/Dropbox/git/array-includes.git/shim.js","statementMap":{"0":{"start":{"line":3,"column":13},"end":{"line":3,"column":41}},"1":{"start":{"line":4,"column":18},"end":{"line":4,"column":39}},"2":{"start":{"line":6,"column":0},"end":{"line":14,"column":2}},"3":{"start":{"line":7,"column":16},"end":{"line":7,"column":29}},"4":{"start":{"line":8,"column":1},"end":{"line":12,"column":3}},"5":{"start":{"line":11,"column":28},"end":{"line":11,"column":73}},"6":{"start":{"line":13,"column":1},"end":{"line":13,"column":17}}},"fnMap":{"0":{"name":"shimArrayPrototypeIncludes","decl":{"start":{"line":6,"column":26},"end":{"line":6,"column":52}},"loc":{"start":{"line":6,"column":55},"end":{"line":14,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":11,"column":14},"end":{"line":11,"column":15}},"loc":{"start":{"line":11,"column":26},"end":{"line":11,"column":75}},"line":11}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1},"f":{"0":1,"1":1},"b":{}}
}

View File

@@ -0,0 +1,170 @@
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for implementation.js</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="index.html">All files</a> implementation.js
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">92% </span>
<span class="quiet">Statements</span>
<span class='fraction'>23/25</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">81.25% </span>
<span class="quiet">Branches</span>
<span class='fraction'>13/16</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>1/1</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">92% </span>
<span class="quiet">Lines</span>
<span class='fraction'>23/25</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet">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
34
35
36</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">37x</span>
<span class="cline-any cline-yes">36x</span>
<span class="cline-any cline-yes">30x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">6x</span>
<span class="cline-any cline-yes">4x</span>
<span class="cline-any cline-yes">4x</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">4x</span>
<span class="cline-any cline-yes">4x</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-yes">3x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-no">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
&nbsp;
var ToInteger = require('es-abstract/2020/ToInteger');
var ToLength = require('es-abstract/2020/ToLength');
var ToObject = require('es-abstract/2020/ToObject');
var SameValueZero = require('es-abstract/2020/SameValueZero');
var $isNaN = require('es-abstract/helpers/isNaN');
var $isFinite = require('es-abstract/helpers/isFinite');
var GetIntrinsic = require('get-intrinsic');
var callBound = require('call-bind/callBound');
var isString = require('is-string');
&nbsp;
var $charAt = callBound('String.prototype.charAt');
var $indexOf = GetIntrinsic('%Array.prototype.indexOf%'); // TODO: use callBind.apply without breaking IE 8
&nbsp;
module.exports = function includes(searchElement) {
var fromIndex = arguments.length &gt; 1 ? ToInteger(arguments[1]) : 0;
if ($indexOf &amp;&amp; !$isNaN(searchElement) &amp;&amp; $isFinite(fromIndex) &amp;&amp; typeof searchElement !== 'undefined') {
return $indexOf.apply(this, arguments) &gt; -1;
}
&nbsp;
var O = ToObject(this);
var length = ToLength(O.length);
<span class="missing-if-branch" title="if path not taken" >I</span>if (length === 0) {
<span class="cstat-no" title="statement not covered" > return false;</span>
}
var k = fromIndex &gt;= 0 ? fromIndex : Math.max(0, length + fromIndex);
while (k &lt; length) {
<span class="missing-if-branch" title="else path not taken" >E</span>if (SameValueZero(searchElement, isString(O) ? <span class="branch-0 cbranch-no" title="branch not covered" >$charAt(O, k) </span>: O[k])) {
return true;
}
<span class="cstat-no" title="statement not covered" > k += 1;</span>
}
return false;
};
&nbsp;</pre></td></tr>
</table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Nov 23 2020 22:50:55 GMT-0800 (Pacific Standard Time)
</div>
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="sorter.js"></script>
</body>
</html>

View File

@@ -0,0 +1,145 @@
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for All files</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
All files
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">93.88% </span>
<span class="quiet">Statements</span>
<span class='fraction'>46/49</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">77.78% </span>
<span class="quiet">Branches</span>
<span class='fraction'>14/18</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>5/5</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">93.88% </span>
<span class="quiet">Lines</span>
<span class='fraction'>46/49</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<div class="pad1">
<table class="coverage-summary">
<thead>
<tr>
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
</tr>
</thead>
<tbody><tr>
<td class="file low" data-value="auto.js"><a href="auto.js.html">auto.js</a></td>
<td data-value="0" class="pic low"><div class="chart"><div class="cover-fill" style="width: 0%;"></div><div class="cover-empty" style="width:100%;"></div></div></td>
<td data-value="0" class="pct low">0%</td>
<td data-value="1" class="abs low">0/1</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="0" class="pct low">0%</td>
<td data-value="1" class="abs low">0/1</td>
</tr>
<tr>
<td class="file high" data-value="implementation.js"><a href="implementation.js.html">implementation.js</a></td>
<td data-value="92" class="pic high"><div class="chart"><div class="cover-fill" style="width: 92%;"></div><div class="cover-empty" style="width:8%;"></div></div></td>
<td data-value="92" class="pct high">92%</td>
<td data-value="25" class="abs high">23/25</td>
<td data-value="81.25" class="pct high">81.25%</td>
<td data-value="16" class="abs high">13/16</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="1" class="abs high">1/1</td>
<td data-value="92" class="pct high">92%</td>
<td data-value="25" class="abs high">23/25</td>
</tr>
<tr>
<td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
<td data-value="100" class="pct high">100%</td>
<td data-value="13" class="abs high">13/13</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="1" class="abs high">1/1</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="13" class="abs high">13/13</td>
</tr>
<tr>
<td class="file high" data-value="polyfill.js"><a href="polyfill.js.html">polyfill.js</a></td>
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
<td data-value="100" class="pct high">100%</td>
<td data-value="3" class="abs high">3/3</td>
<td data-value="50" class="pct medium">50%</td>
<td data-value="2" class="abs medium">1/2</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="1" class="abs high">1/1</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="3" class="abs high">3/3</td>
</tr>
<tr>
<td class="file high" data-value="shim.js"><a href="shim.js.html">shim.js</a></td>
<td data-value="100" class="pic high"><div class="chart"><div class="cover-fill cover-full" style="width: 100%;"></div><div class="cover-empty" style="width:0%;"></div></div></td>
<td data-value="100" class="pct high">100%</td>
<td data-value="7" class="abs high">7/7</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="0" class="abs high">0/0</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="2" class="abs high">2/2</td>
<td data-value="100" class="pct high">100%</td>
<td data-value="7" class="abs high">7/7</td>
</tr>
</tbody>
</table>
</div><div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Nov 23 2020 22:50:55 GMT-0800 (Pacific Standard Time)
</div>
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="sorter.js"></script>
</body>
</html>

View File

@@ -0,0 +1,143 @@
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for index.js</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="index.html">All files</a> index.js
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>13/13</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>0/0</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>1/1</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>13/13</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet">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</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">37x</span>
<span class="cline-any cline-yes">35x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
&nbsp;
var define = require('define-properties');
var RequireObjectCoercible = require('es-abstract/2020/RequireObjectCoercible');
var callBound = require('call-bind/callBound');
&nbsp;
var implementation = require('./implementation');
var getPolyfill = require('./polyfill');
var polyfill = getPolyfill();
var shim = require('./shim');
&nbsp;
var $slice = callBound('Array.prototype.slice');
&nbsp;
/* eslint-disable no-unused-vars */
var boundIncludesShim = function includes(array, searchElement) {
/* eslint-enable no-unused-vars */
RequireObjectCoercible(array);
return polyfill.apply(array, $slice(arguments, 1));
};
define(boundIncludesShim, {
getPolyfill: getPolyfill,
implementation: implementation,
shim: shim
});
&nbsp;
module.exports = boundIncludesShim;
&nbsp;</pre></td></tr>
</table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Nov 23 2020 22:50:55 GMT-0800 (Pacific Standard Time)
</div>
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="sorter.js"></script>
</body>
</html>

View File

@@ -0,0 +1,86 @@
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for polyfill.js</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="index.html">All files</a> polyfill.js
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>3/3</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">50% </span>
<span class="quiet">Branches</span>
<span class='fraction'>1/2</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>1/1</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>3/3</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet">1
2
3
4
5
6
7
8</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">2x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
&nbsp;
var implementation = require('./implementation');
&nbsp;
module.exports = function getPolyfill() {
return Array.prototype.includes || <span class="branch-1 cbranch-no" title="branch not covered" >implementation;</span>
};
&nbsp;</pre></td></tr>
</table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Nov 23 2020 22:50:55 GMT-0800 (Pacific Standard Time)
</div>
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="sorter.js"></script>
</body>
</html>

View File

@@ -0,0 +1 @@
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,107 @@
<!doctype html>
<html lang="en">
<head>
<title>Code coverage report for shim.js</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="prettify.css" />
<link rel="stylesheet" href="base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="index.html">All files</a> shim.js
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Statements</span>
<span class='fraction'>7/7</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Branches</span>
<span class='fraction'>0/0</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Functions</span>
<span class='fraction'>2/2</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">100% </span>
<span class="quiet">Lines</span>
<span class='fraction'>7/7</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">1x</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
&nbsp;
var define = require('define-properties');
var getPolyfill = require('./polyfill');
&nbsp;
module.exports = function shimArrayPrototypeIncludes() {
var polyfill = getPolyfill();
define(
Array.prototype,
{ includes: polyfill },
{ includes: function () { return Array.prototype.includes !== polyfill; } }
);
return polyfill;
};
&nbsp;</pre></td></tr>
</table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Nov 23 2020 22:50:55 GMT-0800 (Pacific Standard Time)
</div>
</div>
<script src="prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="sorter.js"></script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

View File

@@ -0,0 +1,158 @@
var addSorting = (function () {
"use strict";
var cols,
currentSort = {
index: 0,
desc: false
};
// returns the summary table element
function getTable() { return document.querySelector('.coverage-summary'); }
// returns the thead element of the summary table
function getTableHeader() { return getTable().querySelector('thead tr'); }
// returns the tbody element of the summary table
function getTableBody() { return getTable().querySelector('tbody'); }
// returns the th element for nth column
function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; }
// loads all columns
function loadColumns() {
var colNodes = getTableHeader().querySelectorAll('th'),
colNode,
cols = [],
col,
i;
for (i = 0; i < colNodes.length; i += 1) {
colNode = colNodes[i];
col = {
key: colNode.getAttribute('data-col'),
sortable: !colNode.getAttribute('data-nosort'),
type: colNode.getAttribute('data-type') || 'string'
};
cols.push(col);
if (col.sortable) {
col.defaultDescSort = col.type === 'number';
colNode.innerHTML = colNode.innerHTML + '<span class="sorter"></span>';
}
}
return cols;
}
// attaches a data attribute to every tr element with an object
// of data values keyed by column name
function loadRowData(tableRow) {
var tableCols = tableRow.querySelectorAll('td'),
colNode,
col,
data = {},
i,
val;
for (i = 0; i < tableCols.length; i += 1) {
colNode = tableCols[i];
col = cols[i];
val = colNode.getAttribute('data-value');
if (col.type === 'number') {
val = Number(val);
}
data[col.key] = val;
}
return data;
}
// loads all row data
function loadData() {
var rows = getTableBody().querySelectorAll('tr'),
i;
for (i = 0; i < rows.length; i += 1) {
rows[i].data = loadRowData(rows[i]);
}
}
// sorts the table using the data for the ith column
function sortByIndex(index, desc) {
var key = cols[index].key,
sorter = function (a, b) {
a = a.data[key];
b = b.data[key];
return a < b ? -1 : a > b ? 1 : 0;
},
finalSorter = sorter,
tableBody = document.querySelector('.coverage-summary tbody'),
rowNodes = tableBody.querySelectorAll('tr'),
rows = [],
i;
if (desc) {
finalSorter = function (a, b) {
return -1 * sorter(a, b);
};
}
for (i = 0; i < rowNodes.length; i += 1) {
rows.push(rowNodes[i]);
tableBody.removeChild(rowNodes[i]);
}
rows.sort(finalSorter);
for (i = 0; i < rows.length; i += 1) {
tableBody.appendChild(rows[i]);
}
}
// removes sort indicators for current column being sorted
function removeSortIndicators() {
var col = getNthColumn(currentSort.index),
cls = col.className;
cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
col.className = cls;
}
// adds sort indicators for current column being sorted
function addSortIndicators() {
getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted';
}
// adds event listeners for all sorter widgets
function enableUI() {
var i,
el,
ithSorter = function ithSorter(i) {
var col = cols[i];
return function () {
var desc = col.defaultDescSort;
if (currentSort.index === i) {
desc = !currentSort.desc;
}
sortByIndex(i, desc);
removeSortIndicators();
currentSort.index = i;
currentSort.desc = desc;
addSortIndicators();
};
};
for (i =0 ; i < cols.length; i += 1) {
if (cols[i].sortable) {
// add the click event handler on the th so users
// dont have to click on those tiny arrows
el = getNthColumn(i).querySelector('.sorter').parentElement;
if (el.addEventListener) {
el.addEventListener('click', ithSorter(i));
} else {
el.attachEvent('onclick', ithSorter(i));
}
}
}
}
// adds sorting functionality to the UI
return function () {
if (!getTable()) {
return;
}
cols = loadColumns();
loadData(cols);
addSortIndicators();
enableUI();
};
})();
window.addEventListener('load', addSorting);

View File

@@ -0,0 +1,35 @@
'use strict';
var ToInteger = require('es-abstract/2020/ToInteger');
var ToLength = require('es-abstract/2020/ToLength');
var ToObject = require('es-abstract/2020/ToObject');
var SameValueZero = require('es-abstract/2020/SameValueZero');
var $isNaN = require('es-abstract/helpers/isNaN');
var $isFinite = require('es-abstract/helpers/isFinite');
var GetIntrinsic = require('get-intrinsic');
var callBound = require('call-bind/callBound');
var isString = require('is-string');
var $charAt = callBound('String.prototype.charAt');
var $indexOf = GetIntrinsic('%Array.prototype.indexOf%'); // TODO: use callBind.apply without breaking IE 8
module.exports = function includes(searchElement) {
var fromIndex = arguments.length > 1 ? ToInteger(arguments[1]) : 0;
if ($indexOf && !$isNaN(searchElement) && $isFinite(fromIndex) && typeof searchElement !== 'undefined') {
return $indexOf.apply(this, arguments) > -1;
}
var O = ToObject(this);
var length = ToLength(O.length);
if (length === 0) {
return false;
}
var k = fromIndex >= 0 ? fromIndex : Math.max(0, length + fromIndex);
while (k < length) {
if (SameValueZero(searchElement, isString(O) ? $charAt(O, k) : O[k])) {
return true;
}
k += 1;
}
return false;
};

27
hGameTest/node_modules/array-includes/index.js generated vendored Normal file
View File

@@ -0,0 +1,27 @@
'use strict';
var define = require('define-properties');
var RequireObjectCoercible = require('es-abstract/2020/RequireObjectCoercible');
var callBind = require('call-bind');
var callBound = require('call-bind/callBound');
var implementation = require('./implementation');
var getPolyfill = require('./polyfill');
var polyfill = callBind.apply(getPolyfill());
var shim = require('./shim');
var $slice = callBound('Array.prototype.slice');
/* eslint-disable no-unused-vars */
var boundShim = function includes(array, searchElement) {
/* eslint-enable no-unused-vars */
RequireObjectCoercible(array);
return polyfill(array, $slice(arguments, 1));
};
define(boundShim, {
getPolyfill: getPolyfill,
implementation: implementation,
shim: shim
});
module.exports = boundShim;

122
hGameTest/node_modules/array-includes/package.json generated vendored Normal file
View File

@@ -0,0 +1,122 @@
{
"_from": "array-includes@^3.0.3",
"_id": "array-includes@3.1.2",
"_inBundle": false,
"_integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==",
"_location": "/array-includes",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "array-includes@^3.0.3",
"name": "array-includes",
"escapedName": "array-includes",
"rawSpec": "^3.0.3",
"saveSpec": null,
"fetchSpec": "^3.0.3"
},
"_requiredBy": [
"/webpack-dev-server"
],
"_resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz",
"_shasum": "a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8",
"_spec": "array-includes@^3.0.3",
"_where": "/home/andreas/Documents/Projects/haxe/openfl/nigger/node_modules/webpack-dev-server",
"author": {
"name": "Jordan Harband",
"email": "ljharb@gmail.com",
"url": "http://ljharb.codes"
},
"bugs": {
"url": "https://github.com/es-shims/array-includes/issues"
},
"bundleDependencies": false,
"contributors": [
{
"name": "Jordan Harband",
"email": "ljharb@gmail.com",
"url": "http://ljharb.codes"
}
],
"dependencies": {
"call-bind": "^1.0.0",
"define-properties": "^1.1.3",
"es-abstract": "^1.18.0-next.1",
"get-intrinsic": "^1.0.1",
"is-string": "^1.0.5"
},
"deprecated": false,
"description": "An ES7/ES2016 spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.",
"devDependencies": {
"@es-shims/api": "^2.1.2",
"@ljharb/eslint-config": "^17.3.0",
"aud": "^1.1.3",
"eslint": "^7.14.0",
"evalmd": "0.0.19",
"foreach": "^2.0.5",
"function-bind": "^1.1.1",
"functions-have-names": "^1.2.1",
"has-strict-mode": "^1.0.0",
"indexof": "^0.0.1",
"nyc": "^10.3.2",
"safe-publish-latest": "^1.1.4",
"tape": "^5.0.1"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
},
"homepage": "https://github.com/es-shims/array-includes#readme",
"keywords": [
"Array.prototype.includes",
"includes",
"array",
"ES7",
"shim",
"polyfill",
"contains",
"Array.prototype.contains",
"es-shim API"
],
"license": "MIT",
"main": "index.js",
"name": "array-includes",
"repository": {
"type": "git",
"url": "git://github.com/es-shims/array-includes.git"
},
"scripts": {
"lint": "eslint .",
"postlint": "es-shim-api --bound",
"posttest": "npx aud --production",
"prepublish": "safe-publish-latest",
"pretest": "npm run --silent lint && evalmd README.md",
"test": "npm run --silent tests-only",
"tests-only": "nyc tape 'test/**/*.js'"
},
"testling": {
"files": [
"test/index.js",
"test/implementation.js",
"test/shimmed.js"
],
"browsers": [
"iexplore/6.0..latest",
"firefox/3.0..6.0",
"firefox/15.0..latest",
"firefox/nightly",
"chrome/4.0..10.0",
"chrome/20.0..latest",
"chrome/canary",
"opera/10.0..latest",
"opera/next",
"safari/4.0..latest",
"ipad/6.0..latest",
"iphone/6.0..latest",
"android-browser/4.2"
]
},
"version": "3.1.2"
}

7
hGameTest/node_modules/array-includes/polyfill.js generated vendored Normal file
View File

@@ -0,0 +1,7 @@
'use strict';
var implementation = require('./implementation');
module.exports = function getPolyfill() {
return Array.prototype.includes || implementation;
};

14
hGameTest/node_modules/array-includes/shim.js generated vendored Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
var define = require('define-properties');
var getPolyfill = require('./polyfill');
module.exports = function shimArrayPrototypeIncludes() {
var polyfill = getPolyfill();
define(
Array.prototype,
{ includes: polyfill },
{ includes: function () { return Array.prototype.includes !== polyfill; } }
);
return polyfill;
};

18713
hGameTest/node_modules/array-includes/test.html generated vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,20 @@
'use strict';
var implementation = require('../implementation');
var callBind = require('call-bind');
var test = require('tape');
var hasStrictMode = require('has-strict-mode')();
var runTests = require('./tests');
test('as a function', function (t) {
t.test('bad array/this value', { skip: !hasStrictMode }, function (st) {
/* eslint no-useless-call: 0 */
st['throws'](function () { implementation.call(undefined); }, TypeError, 'undefined is not an object');
st['throws'](function () { implementation.call(null); }, TypeError, 'null is not an object');
st.end();
});
runTests(callBind(implementation), t);
t.end();
});

17
hGameTest/node_modules/array-includes/test/index.js generated vendored Normal file
View File

@@ -0,0 +1,17 @@
'use strict';
var includes = require('../');
var test = require('tape');
var runTests = require('./tests');
test('as a function', function (t) {
t.test('bad array/this value', function (st) {
st['throws'](function () { includes(undefined, 'a'); }, TypeError, 'undefined is not an object');
st['throws'](function () { includes(null, 'a'); }, TypeError, 'null is not an object');
st.end();
});
runTests(includes, t);
t.end();
});

36
hGameTest/node_modules/array-includes/test/shimmed.js generated vendored Normal file
View File

@@ -0,0 +1,36 @@
'use strict';
require('../shim')();
var test = require('tape');
var defineProperties = require('define-properties');
var bind = require('function-bind');
var isEnumerable = Object.prototype.propertyIsEnumerable;
var functionsHaveNames = require('functions-have-names')();
var runTests = require('./tests');
test('shimmed', function (t) {
t.equal(Array.prototype.includes.length, 1, 'Array#includes has a length of 1');
t.test('Function name', { skip: !functionsHaveNames }, function (st) {
st.equal(Array.prototype.includes.name, 'includes', 'Array#includes has name "includes"');
st.end();
});
t.test('enumerability', { skip: !defineProperties.supportsDescriptors }, function (et) {
et.equal(false, isEnumerable.call(Array.prototype, 'includes'), 'Array#includes is not enumerable');
et.end();
});
var supportsStrictMode = (function () { return typeof this === 'undefined'; }());
t.test('bad array/this value', { skip: !supportsStrictMode }, function (st) {
st['throws'](function () { return Array.prototype.includes.call(undefined, 'a'); }, TypeError, 'undefined is not an object');
st['throws'](function () { return Array.prototype.includes.call(null, 'a'); }, TypeError, 'null is not an object');
st.end();
});
runTests(bind.call(Function.call, Array.prototype.includes), t);
t.end();
});

94
hGameTest/node_modules/array-includes/test/tests.js generated vendored Normal file
View File

@@ -0,0 +1,94 @@
'use strict';
module.exports = function (includes, t) {
var sparseish = { length: 5, 0: 'a', 1: 'b' };
var overfullarrayish = { length: 2, 0: 'a', 1: 'b', 2: 'c' };
var thrower = { valueOf: function () { throw new RangeError('whoa'); } };
var numberish = { valueOf: function () { return 2; } };
t.test('simple examples', function (st) {
st.equal(true, includes([1, 2, 3], 1), '[1, 2, 3] includes 1');
st.equal(false, includes([1, 2, 3], 4), '[1, 2, 3] does not include 4');
st.equal(true, includes([NaN], NaN), '[NaN] includes NaN');
st.end();
});
t.test('does not skip holes', function (st) {
st.equal(true, includes(Array(1)), 'Array(1) includes undefined');
st.end();
});
t.test('exceptions', function (et) {
et.test('fromIndex conversion', function (st) {
st['throws'](function () { includes([0], 0, thrower); }, RangeError, 'fromIndex conversion throws');
st.end();
});
et.test('ToLength', function (st) {
st['throws'](function () { includes({ length: thrower, 0: true }, true); }, RangeError, 'ToLength conversion throws');
st.end();
});
et.end();
});
t.test('arraylike', function (st) {
st.equal(true, includes(sparseish, 'a'), 'sparse array-like object includes "a"');
st.equal(false, includes(sparseish, 'c'), 'sparse array-like object does not include "c"');
st.equal(true, includes(overfullarrayish, 'b'), 'sparse array-like object includes "b"');
st.equal(false, includes(overfullarrayish, 'c'), 'sparse array-like object does not include "c"');
st.end();
});
t.test('fromIndex', function (ft) {
ft.equal(true, includes([1], 1, NaN), 'NaN fromIndex -> 0 fromIndex');
ft.equal(true, includes([0, 1, 2], 1, 0), 'starting from 0 finds index 1');
ft.equal(true, includes([0, 1, 2], 1, 1), 'starting from 1 finds index 1');
ft.equal(false, includes([0, 1, 2], 1, 2), 'starting from 2 does not find index 1');
ft.test('number coercion', function (st) {
st.equal(false, includes(['a', 'b', 'c'], 'a', numberish), 'does not find "a" with object fromIndex coercing to 2');
st.equal(false, includes(['a', 'b', 'c'], 'a', '2'), 'does not find "a" with string fromIndex coercing to 2');
st.equal(true, includes(['a', 'b', 'c'], 'c', numberish), 'finds "c" with object fromIndex coercing to 2');
st.equal(true, includes(['a', 'b', 'c'], 'c', '2'), 'finds "c" with string fromIndex coercing to 2');
st.end();
});
ft.test('fromIndex greater than length', function (st) {
st.equal(false, includes([1], 1, 2), 'array of length 1 is not searched if fromIndex is > 1');
st.equal(false, includes([1], 1, 1), 'array of length 1 is not searched if fromIndex is >= 1');
st.equal(false, includes([1], 1, 1.1), 'array of length 1 is not searched if fromIndex is 1.1');
st.equal(false, includes([1], 1, Infinity), 'array of length 1 is not searched if fromIndex is Infinity');
st.end();
});
ft.test('negative fromIndex', function (st) {
st.equal(true, includes([1, 3], 1, -4), 'computed length would be negative; fromIndex is thus 0');
st.equal(true, includes([1, 3], 3, -4), 'computed length would be negative; fromIndex is thus 0');
st.equal(true, includes([1, 3], 1, -Infinity), 'computed length would be negative; fromIndex is thus 0');
st.equal(true, includes([12, 13], 13, -1), 'finds -1st item with -1 fromIndex');
st.equal(false, includes([12, 13], 12, -1), 'does not find -2nd item with -1 fromIndex');
st.equal(true, includes([12, 13], 13, -2), 'finds -2nd item with -2 fromIndex');
st.equal(true, includes(sparseish, 'b', -4), 'finds -4th item with -4 fromIndex');
st.equal(false, includes(sparseish, 'a', -4), 'does not find -5th item with -4 fromIndex');
st.equal(true, includes(sparseish, 'a', -5), 'finds -5th item with -5 fromIndex');
st.end();
});
ft.end();
});
t.test('strings', function (st) {
st.equal(true, includes('abc', 'c'), 'string includes one of its chars');
st.equal(false, includes('abc', 'd'), 'string does not include a char it should not');
st.equal(true, includes(Object('abc'), 'c'), 'boxed string includes one of its chars');
st.equal(false, includes(Object('abc'), 'd'), 'boxed string does not include a char it should not');
st.end();
});
};