{"_id":"@achingbrain/chai-string","_rev":"1-886b655a9ca4a17ac29ab84fe3b85a7f","name":"@achingbrain/chai-string","dist-tags":{"latest":"2.0.1"},"versions":{"2.0.0":{"name":"@achingbrain/chai-string","version":"2.0.0","keywords":["chai","testing","string","chai-plugin","browser"],"description":"strings comparison matchers for chai","main":"chai-string.js","type":"module","scripts":{"test":"mocha test"},"repository":{"type":"git","url":"git://github.com/onechiporenko/chai-string.git"},"author":{"name":"Oleg Nechiporenko","url":"https://github.com/onechiporenko"},"license":"MIT","devDependencies":{"chai":"^5.1.0","mocha":"^10.4.0"},"_id":"@achingbrain/chai-string@2.0.0","gitHead":"eb9a354ca2aad6c52d58ec81d9be6b034675aa3c","bugs":{"url":"https://github.com/onechiporenko/chai-string/issues"},"homepage":"https://github.com/onechiporenko/chai-string#readme","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-MJP5S/OHeMI3NMXPGcfzHgQYxJD01GbINNWqNghPV7t6+3x4bkUdsxp7GDgVqmtEUu+T3MEuuuZk4UAIiYZuQw==","shasum":"e5e8790368ffaaab2bd8ea78cbce119718ee575a","tarball":"https://registry.npmjs.org/@achingbrain/chai-string/-/chai-string-2.0.0.tgz","fileCount":7,"unpackedSize":17815,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfUUCJuHZR7BZNCwWX1si/VYy4Uc+DJtMf7p+2K341TgIhAK9l/TsmJimCS6WOL2SdJ674f5bcNyAOmMrttVWlkJrX"}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/chai-string_2.0.0_1714564929240_0.6708463647706007"},"_hasShrinkwrap":false},"2.0.1":{"name":"@achingbrain/chai-string","version":"2.0.1","keywords":["chai","testing","string","chai-plugin","browser"],"description":"strings comparison matchers for chai","main":"index.js","types":"index.d.js","type":"module","scripts":{"test":"mocha test"},"repository":{"type":"git","url":"git://github.com/onechiporenko/chai-string.git"},"author":{"name":"Oleg Nechiporenko","url":"https://github.com/onechiporenko"},"license":"MIT","devDependencies":{"chai":"^5.1.0","mocha":"^10.4.0"},"_id":"@achingbrain/chai-string@2.0.1","gitHead":"e7356938109b31dab2554160c63e657a8a286971","bugs":{"url":"https://github.com/onechiporenko/chai-string/issues"},"homepage":"https://github.com/onechiporenko/chai-string#readme","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-0tJPrilGsS9oiHhespTIBck0X3EzMi8VEmLe6bbxV0+0Lbwzw58jNc7Ui1S8SwDgfnyigt88BIuGVIPw0gyCJQ==","shasum":"e688df8c03db57d22c35d467106db2e0477f28c7","tarball":"https://registry.npmjs.org/@achingbrain/chai-string/-/chai-string-2.0.1.tgz","fileCount":7,"unpackedSize":20330,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYliHH7u1012aGJ7DKbPgN9LsG9WjN/K6MbZiEJSKaMAiB1U+UT2CMn154KJkkB9B0IP0hmmiUIU5Sk3uJb0NvUSg=="}]},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"directories":{},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/chai-string_2.0.1_1714568234676_0.06452836431155884"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-01T12:02:09.141Z","2.0.0":"2024-05-01T12:02:09.388Z","modified":"2024-05-01T12:57:15.000Z","2.0.1":"2024-05-01T12:57:14.822Z"},"maintainers":[{"name":"achingbrain","email":"alex@achingbrain.net"}],"description":"strings comparison matchers for chai","homepage":"https://github.com/onechiporenko/chai-string#readme","keywords":["chai","testing","string","chai-plugin","browser"],"repository":{"type":"git","url":"git://github.com/onechiporenko/chai-string.git"},"author":{"name":"Oleg Nechiporenko","url":"https://github.com/onechiporenko"},"bugs":{"url":"https://github.com/onechiporenko/chai-string/issues"},"license":"MIT","readme":"Fork of [chai-string](https://www.npmjs.com/package/chai-string)\n  - Published as ESM\n  - Compatible with Chai 5\n  - Removes `chai.string.XXX`, only supports `expect`/`assert` style assertions\n\n# chai-string\n\nMatchers for chai to help with common string comparison assertions.\n\n[![Build Status](https://travis-ci.org/onechiporenko/chai-string.png?branch=master)](https://travis-ci.org/onechiporenko/chai-string)\n[![Downloads](http://img.shields.io/npm/dm/chai-string.svg)](http://img.shields.io/npm/dm/chai-string.svg)\n\n## Usage\n\n### Browser\n\n```html\n<script src=\"chai.js\"></script>\n<script src=\"chai-string.js\"></script>\n```\n\n### Server\n\n```javascript\nimport * as chai from 'chai'\nimport string from '@achingbrain/chai-string'\n\nchai.use(require('chai-string'))\n```\n\n## Assertions\n\n* startsWith/startWith\n* endsWith/endWith\n* equalIgnoreCase\n* equalIgnoreSpaces\n* containIgnoreSpaces\n* containIgnoreCase\n* singleLine\n* reverseOf\n* palindrome\n* entriesCount\n* indexOf\n\nAll assertions are defined for both the BDD and TDD syntax but some aliases exist to make the assertions look good with both styles.\n\n```javascript\nvar d1 = 'abcdef',\n    d2 = 'abc';\n\nd1.should.startWith.d2\nexpect(d1).to.startsWith(d2)\nassert.startsWith(d1, d2)\n```\n\n### startsWith/startWith\n```javascript\nassert.startsWith('abcdef', 'abc');\nexpect('abcdef').to.startsWith('abc');\n'abcdef'.should.startWith('abc');\n```\n\n### endsWith/endWith\n```javascript\nassert.endsWith('abcdef', 'def');\nexpect('abcdef').to.endsWith('def');\n'abcdef'.should.endWith('def');\n```\n\n### equalIgnoreCase\n```javascript\nassert.equalIgnoreCase('abcdef', 'AbCdEf');\nexpect('abcdef').to.equalIgnoreCase('AbCdEf');\n```\n\n### equalIgnoreSpaces\n```javascript\nassert.equalIgnoreSpaces('abcdef', 'a\\nb\\tc\\r d  ef');\nexpect('abcdef').to.equalIgnoreSpaces('a\\nb\\tc\\r d  ef');\n```\n\n### containIgnoreSpaces\n```javascript\nassert.containIgnoreSpaces('abcdefgh', 'a\\nb\\tc\\r d  ef');\nexpect('abcdefgh').to.containIgnoreSpaces('a\\nb\\tc\\r d  ef');\n```\n\n### containIgnoreCase\n```javascript\nassert.containIgnoreCase('abcdefgh', 'AbcDefGH');\nexpect('abcdefgh').to.containIgnoreCase('AbcDefGH');\n'abcdef'.should.containIgnoreCase('cDe');\n```\n\n### singleLine\n```javascript\nassert.singleLine('abcdef');\nexpect('abcdef').to.be.singleLine();\n```\n\n### reverseOf\n```javascript\nassert.reverseOf('abcdef', 'fedcba');\nexpect('abcdef').to.be.reverseOf('fedcba');\n```\n\n### palindrome\n```javascript\nassert.palindrome('abccba');\nexpect('abccba').to.be.palindrome();\n```\n\n### entriesCount\n```javascript\nassert.entriesCount('abcabd', 'ab', 2);\nexpect('abcabd').to.have.entriesCount('ab', 2);\n```\n\n### indexOf\n```javascript\nassert.indexOf('abcabd', 'ab', 0);\nexpect('abcabd').to.have.indexOf('ab', 0);\n```\n\n## Thanks\n\nThanks to the [chai-datetime](https://github.com/gaslight/chai-datetime) module for giving me an idea for how to structure and test a chai plugin.\n","readmeFilename":"README.md"}