pax_global_header00006660000000000000000000000064137351744560014531gustar00rootroot0000000000000052 comment=ba25251d13d0d0646b9896985eb48dd92706161a object-is-1.1.3/000077500000000000000000000000001373517445600134125ustar00rootroot00000000000000object-is-1.1.3/.eslintrc000066400000000000000000000000521373517445600152330ustar00rootroot00000000000000{ "root": true, "extends": "@ljharb" } object-is-1.1.3/.github/000077500000000000000000000000001373517445600147525ustar00rootroot00000000000000object-is-1.1.3/.github/workflows/000077500000000000000000000000001373517445600170075ustar00rootroot00000000000000object-is-1.1.3/.github/workflows/rebase.yml000066400000000000000000000003721373517445600207750ustar00rootroot00000000000000name: Automatic Rebase on: [pull_request] jobs: _: name: "Automatic Rebase" runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: ljharb/rebase@master env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} object-is-1.1.3/.gitignore000066400000000000000000000003011373517445600153740ustar00rootroot00000000000000# gitignore lib-cov *.seed *.log *.csv *.dat *.out *.pid *.gz pids logs results npm-debug.log node_modules # Only apps should have lockfiles npm-shrinkwrap.json package-lock.json yarn.lock object-is-1.1.3/.npmrc000066400000000000000000000000671373517445600145350ustar00rootroot00000000000000package-lock=false allow-same-version=true message=v%s object-is-1.1.3/.travis.yml000066400000000000000000000003741373517445600155270ustar00rootroot00000000000000version: ~> 1.0 language: node_js os: - linux import: - ljharb/travis-ci:node/all.yml - ljharb/travis-ci:node/pretest.yml - ljharb/travis-ci:node/posttest.yml - ljharb/travis-ci:node/coverage.yml matrix: allow_failures: - env: COVERAGE=true object-is-1.1.3/CHANGELOG.md000066400000000000000000000257411373517445600152340ustar00rootroot00000000000000# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [v1.1.3](https://github.com/es-shims/object-is/compare/v1.1.2...v1.1.3) - 2020-09-30 ### Commits - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`6f1217f`](https://github.com/es-shims/object-is/commit/6f1217fc82cbe25d3911cad2d3298a8f3f51bd7f) - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `auto-changelog` [`68d8ab0`](https://github.com/es-shims/object-is/commit/68d8ab07275949aa78f20f0e6270c0a26aba2647) - [Deps] update `es-abstract` [`d665d57`](https://github.com/es-shims/object-is/commit/d665d570e416f039bbbc577f0c2c77104302d227) - [Deps] update `es-abstract` [`61b4d08`](https://github.com/es-shims/object-is/commit/61b4d0893212b08ec89ba8c388948fa4377f7a43) ## [v1.1.2](https://github.com/es-shims/object-is/compare/v1.1.1...v1.1.2) - 2020-04-14 ### Commits - [Fix] avoid mutating the builtin `Object.is` in the main entry point [`5988702`](https://github.com/es-shims/object-is/commit/59887020544021d7cf8e72cd84c4d67abcf558c5) ## [v1.1.1](https://github.com/es-shims/object-is/compare/v1.1.0...v1.1.1) - 2020-04-14 ### Fixed - [Deps] add missing `define-properties` [`#10`](https://github.com/es-shims/object-is/issues/10) ## [v1.1.0](https://github.com/es-shims/object-is/compare/v1.0.2...v1.1.0) - 2020-04-14 ### Commits - [New] convert to `es-shim-api` interface [`c8b6e9f`](https://github.com/es-shims/object-is/commit/c8b6e9f249438bfd9dfa315415eddd3a1d436d15) - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`; add `safe-publish-latest` [`222a2a9`](https://github.com/es-shims/object-is/commit/222a2a9a2eb08be844bf4c619d1eb711d743c6f3) - [Dev Deps] update `auto-changelog`, `tape` [`1ea6a92`](https://github.com/es-shims/object-is/commit/1ea6a92153695074c4e3f2e2e0ec26b83f6b091a) - [Dev Deps] update `auto-changelog`; add `aud` [`1d129e0`](https://github.com/es-shims/object-is/commit/1d129e0dfe386a1e39fa4f3ff991198e885299b1) - [Tests] only audit prod deps [`ad12386`](https://github.com/es-shims/object-is/commit/ad1238688dcfe9170217b6b9a02122369979d221) ## [v1.0.2](https://github.com/es-shims/object-is/compare/v1.0.1...v1.0.2) - 2019-12-15 ### Commits - [Tests] use shared travis-ci configs [`eb56ddf`](https://github.com/es-shims/object-is/commit/eb56ddf82bd08f56bd50db7333f2a7b6cef2452a) - [Tests] up to `node` `v12.6`, `v11.15`, `v10.16`, `v9.11`, `v8.16`, `v7.10`, `v6.17`, `v5.12`, `4.9`; use `nvm install-latest-npm` [`a5bb4e3`](https://github.com/es-shims/object-is/commit/a5bb4e3663902dda4eb9c748aecd04532428594a) - [Tests] remove `jscs` [`1929690`](https://github.com/es-shims/object-is/commit/19296907bbb9864518ccb2364a44f9adda9c910c) - Using my standard jscs.json file. [`a7621dc`](https://github.com/es-shims/object-is/commit/a7621dcafbdf4befa4bb97c4e132f30fd486addf) - [meta] run `auto-changelog` [`5c551c4`](https://github.com/es-shims/object-is/commit/5c551c406f8a72d53f8f4bbabc89f0c1892bf262) - Update `tape`, `covert`, `jscs` [`bd84112`](https://github.com/es-shims/object-is/commit/bd8411263e754f5a464b6d55c01ecd3b1f4c7437) - [meta] move repo to es-shims org [`15d3cdc`](https://github.com/es-shims/object-is/commit/15d3cdcbd4b78c8dee80507ac8a5f4cff7ab42d4) - Test up to `io.js` `v2.2` [`d1d2de4`](https://github.com/es-shims/object-is/commit/d1d2de48f72853552e3d3a751b3f178c5dc10ef5) - Update `tape`, `jscs` [`b40e85f`](https://github.com/es-shims/object-is/commit/b40e85f77cc906fc54246cf672a78b902bd65aab) - Add `npm run eslint` [`a80ee81`](https://github.com/es-shims/object-is/commit/a80ee81d12d8fb4120bf590c4d4622fb5dc3f67b) - Only apps should have lockfiles [`f70677a`](https://github.com/es-shims/object-is/commit/f70677adbe0a765ee26e214a95a97d0ddf88f31e) - [actions] add automatic rebasing / merge commit blocking [`27780d3`](https://github.com/es-shims/object-is/commit/27780d330cbaf3ef96479b5a0a3fe55f71b54bb6) - [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops [`cf886ce`](https://github.com/es-shims/object-is/commit/cf886ced70afff6c5a66be6f9ddba2d330034c70) - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `has-symbols` [`b70e146`](https://github.com/es-shims/object-is/commit/b70e146496488ac5e1a48651cb94292e67051e48) - [meta] add version scripts [`25a5308`](https://github.com/es-shims/object-is/commit/25a5308bfcc41733a86ce0461ef69a2459215b5b) - [Tests] up to `node` `v12.10` [`b6e934c`](https://github.com/es-shims/object-is/commit/b6e934ca8f0e65dac7ed3c30b2b7907d39e36f6b) - [Dev Deps] update `tape`, `jscs` [`df38b5a`](https://github.com/es-shims/object-is/commit/df38b5a856071aaa4d6b8e089a48d80775cb1ed9) - Adding license and downloads badges [`c743f09`](https://github.com/es-shims/object-is/commit/c743f0907b0bab73a0821541190a865a5c3e5da9) - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `covert`, `tape` [`41d1c5b`](https://github.com/es-shims/object-is/commit/41d1c5b8173f6543e01940b18daee93c586058d0) - Add tests for Symbols. [`8189ca7`](https://github.com/es-shims/object-is/commit/8189ca73b647a13f63162bc8ed14040386972530) - [Tests] up to `io.js` `v3.3`, `node` `v4.1` [`698c449`](https://github.com/es-shims/object-is/commit/698c449a8fdc6634747765333cdd8071119932b8) - Add `npm run security` [`1fe530a`](https://github.com/es-shims/object-is/commit/1fe530abd3164eb70dedd959a25f3b1ad0d02c01) - Test up to `io.js` `v3.0` [`cd6ac03`](https://github.com/es-shims/object-is/commit/cd6ac034cda66916319c68aeea190e5817de106c) - [Refactor] no-else-return [`a590382`](https://github.com/es-shims/object-is/commit/a590382d69134915f37039ae6841c9fffbdd5b81) - [docs] clean up some links [`422df90`](https://github.com/es-shims/object-is/commit/422df90523f4d7f2463e404d394f656232f0fc7c) - All grade A-supported `node`/`iojs` versions now ship with an `npm` that understands `^`. [`8684418`](https://github.com/es-shims/object-is/commit/8684418131004859fe18443d4f57f28510b72e13) - Run `travis-ci` tests on `iojs` and `node` v0.12; speed up builds; allow 0.8 failures. [`6b618ac`](https://github.com/es-shims/object-is/commit/6b618acfa5bcab8d1684d926728000afb4f1ee52) - [readme] prefer ES2015 over ES6 [`9aae9f9`](https://github.com/es-shims/object-is/commit/9aae9f9d1b4e699364f4822534b89887abb9089f) - [meta] use keepachangelog with auto-changelog [`3abdcd9`](https://github.com/es-shims/object-is/commit/3abdcd915bc647a5f01af2422fa4a37b2980f946) - [Dev Deps] update `eslint`, `@ljharb/eslint-config` [`65da8bb`](https://github.com/es-shims/object-is/commit/65da8bba76d4b0e95f95d2a6b98d7bfe5b294ff0) - [Tests] use `has-symbols` [`9c88ec7`](https://github.com/es-shims/object-is/commit/9c88ec729227f35dc18fe52131c11afd296a042e) - Update `tape`, `jscs` [`abc6021`](https://github.com/es-shims/object-is/commit/abc6021a0be38921688182e0f95376597056f6cd) - Update `jscs` [`f85f0ba`](https://github.com/es-shims/object-is/commit/f85f0ba49809030c09dfda4af0022c4122438f90) - Update `tape`, `jscs` [`9c8b28b`](https://github.com/es-shims/object-is/commit/9c8b28bf52521b70fdacdaba1035e101aa0a1240) - Using single quotes. [`46a566e`](https://github.com/es-shims/object-is/commit/46a566efbc6366aa44ef9ac8b47668ede5830d50) - [meta] add `funding` field [`f71e665`](https://github.com/es-shims/object-is/commit/f71e66510676f9bfeb6e81a05821161953879270) - [Dev Deps] update `tape` [`694a94e`](https://github.com/es-shims/object-is/commit/694a94e83b4d415b1e43adb8011ad33351945105) - Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG. [`4b29a71`](https://github.com/es-shims/object-is/commit/4b29a718b459ecde3512c4dd6577a2a5e95b7cc6) - Update `jscs` [`204e6fe`](https://github.com/es-shims/object-is/commit/204e6febc368ca94091ac0b5ec0254c33b0ee462) - Lock covert to v1.0.0. [`efc5a21`](https://github.com/es-shims/object-is/commit/efc5a21e1d0cc463ec7c7ef2f75a317085093d5e) - Updating tape [`d1ff721`](https://github.com/es-shims/object-is/commit/d1ff721d2bdec538112cdbbfedcf06d578093831) - Updating jscs [`35b4df9`](https://github.com/es-shims/object-is/commit/35b4df90d0c97a4f004f0188940b2e602b645c16) - Updating jscs [`46c3b9d`](https://github.com/es-shims/object-is/commit/46c3b9d31a7f8ce43c496e0304b22ce142311917) - Updating jscs [`75c9b8b`](https://github.com/es-shims/object-is/commit/75c9b8b45022d5e9b44b0c9a055974185b550a57) ## [v1.0.1](https://github.com/es-shims/object-is/compare/v1.0.0...v1.0.1) - 2014-08-27 ### Merged - Use svg instead of png to get better image quality [`#2`](https://github.com/es-shims/object-is/pull/2) ### Commits - Adding `npm run lint` [`af5dedd`](https://github.com/es-shims/object-is/commit/af5dedd2f40df7584c856576123a2d2852dd9694) - Using an easier isNaN check [`89474ae`](https://github.com/es-shims/object-is/commit/89474ae3e26eb857d89b01c1f3b20f859bd0f161) - Oops, run quiet coverage as part of tests [`5149e18`](https://github.com/es-shims/object-is/commit/5149e1876808e67a016fd913f6d99481bf7091f2) - Run linter as part of tests [`d5eee8a`](https://github.com/es-shims/object-is/commit/d5eee8a43b95c619cf3b06ef3d64cefc865f33f3) - Updating covert [`0b862da`](https://github.com/es-shims/object-is/commit/0b862dad7873b9aab74d2f4262b5b587120c169b) - Updating tape [`484e6ca`](https://github.com/es-shims/object-is/commit/484e6cab0d5734b8c9f23ceada58e93b09dc15ee) ## [v1.0.0](https://github.com/es-shims/object-is/compare/v0.0.0...v1.0.0) - 2014-08-01 ### Commits - Make sure old and unstable nodes don't break Travis [`c8d3dfe`](https://github.com/es-shims/object-is/commit/c8d3dfe4c0f6dc76a5b0cc22a6a6401fa1105cea) - Bumping to v1.0.0. [`8811835`](https://github.com/es-shims/object-is/commit/8811835bff203cf0dc0dee1342beeb749ea63e10) - Updating tape [`0767579`](https://github.com/es-shims/object-is/commit/0767579b3cbf59e49c73c131186bfcbad4448020) - Updating covert [`6b67a0b`](https://github.com/es-shims/object-is/commit/6b67a0b4b6933ea23c74c24037f3f515942a005a) - Run code coverage in tests [`8b5d70d`](https://github.com/es-shims/object-is/commit/8b5d70d9cbf6194d69ee22b8433fe4e0a3d7507e) - Updating tape [`57b019c`](https://github.com/es-shims/object-is/commit/57b019c8b74030601dc71dc38cd2c41cf5b735d4) - Updating tape [`91d94f9`](https://github.com/es-shims/object-is/commit/91d94f9b06c4a86942b077979536a8c2994ab374) ## v0.0.0 - 2014-02-17 ### Commits - package.json [`b724e50`](https://github.com/es-shims/object-is/commit/b724e50ea4a151f46ff5344f9dc3f00d48e60695) - read me [`62470f5`](https://github.com/es-shims/object-is/commit/62470f58dbef4ba0b96c6c000b2802e328c54be6) - Tests. [`639e212`](https://github.com/es-shims/object-is/commit/639e212c478afcb8c9a24753aa8fc2b2fdcfb925) - Initial commit [`8e95b37`](https://github.com/es-shims/object-is/commit/8e95b3744c07594c49372c5732d96235f0b7d9d6) - Implementation. [`47780bc`](https://github.com/es-shims/object-is/commit/47780bc0f483eeabd853877fa33295976cf201ae) - Travis CI [`baaf8c7`](https://github.com/es-shims/object-is/commit/baaf8c70bc7fd88cf149af9b0c992febb5e89514) - Covert is broken in node 0.6 [`ee040b2`](https://github.com/es-shims/object-is/commit/ee040b2f3a917da9a33a287daf8470e95db271e1) object-is-1.1.3/LICENSE000066400000000000000000000020711373517445600144170ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2014 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. object-is-1.1.3/README.md000066400000000000000000000034411373517445600146730ustar00rootroot00000000000000#object-is [![Version Badge][2]][1] [![Build Status][3]][4] [![dependency status][5]][6] [![dev dependency status][7]][8] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url] [![npm badge][11]][1] ES2015-compliant shim for Object.is - differentiates between -0 and +0, and can compare to NaN. Essentially, Object.is returns the same value as === - but true for NaN, and false for -0 and +0. ## Example ```js Object.is = require('object-is'); var assert = require('assert'); assert.ok(Object.is()); assert.ok(Object.is(undefined)); assert.ok(Object.is(undefined, undefined)); assert.ok(Object.is(null, null)); assert.ok(Object.is(true, true)); assert.ok(Object.is(false, false)); assert.ok(Object.is('foo', 'foo')); var arr = [1, 2]; assert.ok(Object.is(arr, arr)); assert.notOk(Object.is(arr, [1, 2])); assert.ok(Object.is(0, 0)); assert.ok(Object.is(-0, -0)); assert.notOk(Object.is(0, -0)); assert.ok(Object.is(NaN, NaN)); assert.ok(Object.is(Infinity, Infinity)); assert.ok(Object.is(-Infinity, -Infinity)); ``` ## Tests Simply clone the repo, `npm install`, and run `npm test` [1]: https://npmjs.org/package/object-is [2]: http://versionbadg.es/es-shims/object-is.svg [3]: https://travis-ci.org/es-shims/object-is.svg [4]: https://travis-ci.org/es-shims/object-is [5]: https://david-dm.org/es-shims/object-is.svg [6]: https://david-dm.org/es-shims/object-is [7]: https://david-dm.org/es-shims/object-is/dev-status.svg [8]: https://david-dm.org/es-shims/object-is#info=devDependencies [11]: https://nodei.co/npm/object-is.png?downloads=true&stars=true [license-image]: http://img.shields.io/npm/l/object-is.svg [license-url]: LICENSE [downloads-image]: http://img.shields.io/npm/dm/object-is.svg [downloads-url]: http://npm-stat.com/charts.html?package=object-is object-is-1.1.3/auto.js000066400000000000000000000000441373517445600147160ustar00rootroot00000000000000'use strict'; require('./shim')(); object-is-1.1.3/implementation.js000066400000000000000000000004361373517445600170000ustar00rootroot00000000000000'use strict'; var numberIsNaN = function (value) { return value !== value; }; module.exports = function is(a, b) { if (a === 0 && b === 0) { return 1 / a === 1 / b; } if (a === b) { return true; } if (numberIsNaN(a) && numberIsNaN(b)) { return true; } return false; }; object-is-1.1.3/index.js000066400000000000000000000006311373517445600150570ustar00rootroot00000000000000'use strict'; var define = require('define-properties'); var callBind = require('es-abstract/helpers/callBind'); var implementation = require('./implementation'); var getPolyfill = require('./polyfill'); var shim = require('./shim'); var polyfill = callBind(getPolyfill(), Object); define(polyfill, { getPolyfill: getPolyfill, implementation: implementation, shim: shim }); module.exports = polyfill; object-is-1.1.3/package.json000066400000000000000000000040431373517445600157010ustar00rootroot00000000000000{ "name": "object-is", "version": "1.1.3", "description": "ES2015-compliant shim for Object.is - differentiates between -0 and +0", "author": "Jordan Harband", "funding": { "url": "https://github.com/sponsors/ljharb" }, "license": "MIT", "main": "index.js", "scripts": { "prepublish": "safe-publish-latest", "pretest": "npm run lint", "tests-only": "node test", "test": "npm run tests-only", "posttest": "npx aud --production", "coverage": "covert test", "prelint": "es-shim-api --bound", "lint": "eslint .", "version": "auto-changelog && git add CHANGELOG.md", "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"" }, "repository": { "type": "git", "url": "git://github.com/es-shims/object-is.git" }, "bugs": { "url": "https://github.com/es-shims/object-is/issues" }, "homepage": "https://github.com/es-shims/object-is", "keywords": [ "is", "Object.is", "equality", "sameValueZero", "ES6", "ES2015", "shim", "polyfill", "es-shim API" ], "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1" }, "devDependencies": { "@es-shims/api": "^2.1.2", "@ljharb/eslint-config": "^17.2.0", "aud": "^1.1.2", "auto-changelog": "^2.2.1", "covert": "^1.1.1", "eslint": "^7.10.0", "has-symbols": "^1.0.1", "safe-publish-latest": "^1.1.4", "tape": "^5.0.1" }, "testling": { "files": "test.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..12.0", "opera/15.0..latest", "opera/next", "safari/4.0..latest", "ipad/6.0..latest", "iphone/6.0..latest", "android-browser/4.2" ] }, "engines": { "node": ">= 0.4" }, "auto-changelog": { "output": "CHANGELOG.md", "template": "keepachangelog", "unreleased": false, "commitLimit": false, "backfillLimit": false, "hideCredit": true } } object-is-1.1.3/polyfill.js000066400000000000000000000002651373517445600156050ustar00rootroot00000000000000'use strict'; var implementation = require('./implementation'); module.exports = function getPolyfill() { return typeof Object.is === 'function' ? Object.is : implementation; }; object-is-1.1.3/shim.js000066400000000000000000000004621373517445600147120ustar00rootroot00000000000000'use strict'; var getPolyfill = require('./polyfill'); var define = require('define-properties'); module.exports = function shimObjectIs() { var polyfill = getPolyfill(); define(Object, { is: polyfill }, { is: function testObjectIs() { return Object.is !== polyfill; } }); return polyfill; }; object-is-1.1.3/test/000077500000000000000000000000001373517445600143715ustar00rootroot00000000000000object-is-1.1.3/test/index.js000066400000000000000000000032131373517445600160350ustar00rootroot00000000000000'use strict'; var test = require('tape'); var hasSymbols = require('has-symbols')(); var is = require('../'); test('works with primitives', function (t) { t.ok(is(), 'two absent args are the same'); t.ok(is(undefined), 'undefined & one absent arg are the same'); t.ok(is(undefined, undefined), 'undefined is undefined'); t.ok(is(null, null), 'null is null'); t.ok(is(true, true), 'true is true'); t.ok(is(false, false), 'false is false'); t.notOk(is(true, false), 'true is not false'); t.end(); }); test('works with NaN', function (t) { t.ok(is(NaN, NaN), 'NaN is NaN'); t.end(); }); test('differentiates zeroes', function (t) { t.ok(is(0, 0), '+0 is +0'); t.ok(is(-0, -0), '-0 is -0'); t.notOk(is(0, -0), '+0 is not -0'); t.end(); }); test('nonzero numbers', function (t) { t.ok(is(Infinity, Infinity), 'infinity is infinity'); t.ok(is(-Infinity, -Infinity), 'infinity is infinity'); t.ok(is(42, 42), '42 is 42'); t.notOk(is(42, -42), '42 is not -42'); t.end(); }); test('strings', function (t) { t.ok(is('', ''), 'empty string is empty string'); t.ok(is('foo', 'foo'), 'string is string'); t.notOk(is('foo', 'bar'), 'string is not different string'); t.end(); }); test('objects', function (t) { var obj = {}; t.ok(is(obj, obj), 'object is same object'); t.notOk(is(obj, {}), 'object is not different object'); t.end(); }); test('Symbols', { skip: !hasSymbols }, function (t) { t.ok(is(Symbol.iterator, Symbol.iterator), 'Symbol.iterator is itself'); t.notOk(is(Symbol(), Symbol()), 'different Symbols are not equal'); t.notOk(is(Symbol.iterator, Object(Symbol.iterator)), 'Symbol.iterator is not boxed form of itself'); t.end(); });