mathiasbynens / mathiasbynens/String.prototype.includes

Add more test cases in Array, Object

オープン
#6 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
JavaScript
スター
70
フォーク
10
PR マージ指標
30日以内にマージされた PR はありません

説明

I understand that `searchString` is not accepted in RegExp. _(TypeError exception)_

> Throwing an exception if the first argument is a RegExp is specified in order to allow future editions to define extensions that allow such argument values.

But it does accept **Array** and **Object** through the method `toString` under the [specification](https://tc39.github.io/ecma262/#sec-string.prototype.includes).

which are

``` js
// array
['this', 'is', 'an', 'array'].toString(); // => 'this,is,an,array'

// object
({'obj': 'obj'}).toString(); // => '[object Object]'
```

Therefore, I would like to add more test cases

``` js
// array
assertEquals('this,is,an,array').includes(['this', 'is']), true);
assertEquals('this,is,an,array').includes(['this', 'is'], 1), false);
assertEquals('this, is, an, array').includes(['this', 'is']), false);

// object
assertEquals(String.prototype.includes.apply({ 'toString': function () { return '[object Object]'; }}, [{'obj': 'obj'}, 0]), true);
```

It’s weird if someone input the array or object to the method `includes`, but it does support.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Issue ではテストファイルが指定されていません。String.prototype.includes の既存のテストを見つけ、アサーションのスタイルを提案されている Array と Object のケースと比較してください。まずそのテストスイートを実行し、次に示されている変換のカバレッジを追加して、ケースがパスすることを確認してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
testing-qa
issue の種類
機能追加
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。