Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Replace using Object.is with Object.is equality
  • Loading branch information
pedrottimark committed Feb 5, 2018
commit 75485047d72dc581dd192a545c893143d22303a1
36 changes: 18 additions & 18 deletions packages/expect/src/__tests__/__snapshots__/matchers.test.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ Received: <red>undefined</>"
`;

exports[`.toBe() does not crash on circular references 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>{}</>
Expand All @@ -220,7 +220,7 @@ Difference:
`;

exports[`.toBe() fails for '"a"' with '.not' 1`] = `
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to not be:
<green>\\"a\\"</>
Expand All @@ -229,7 +229,7 @@ Received:
`;

exports[`.toBe() fails for '[]' with '.not' 1`] = `
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to not be:
<green>[]</>
Expand All @@ -238,7 +238,7 @@ Received:
`;

exports[`.toBe() fails for '{}' with '.not' 1`] = `
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to not be:
<green>{}</>
Expand All @@ -247,7 +247,7 @@ Received:
`;

exports[`.toBe() fails for '1' with '.not' 1`] = `
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to not be:
<green>1</>
Expand All @@ -256,7 +256,7 @@ Received:
`;

exports[`.toBe() fails for 'false' with '.not' 1`] = `
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to not be:
<green>false</>
Expand All @@ -265,7 +265,7 @@ Received:
`;

exports[`.toBe() fails for 'null' with '.not' 1`] = `
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to not be:
<green>null</>
Expand All @@ -274,7 +274,7 @@ Received:
`;

exports[`.toBe() fails for 'undefined' with '.not' 1`] = `
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).not.toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to not be:
<green>undefined</>
Expand All @@ -283,7 +283,7 @@ Received:
`;

exports[`.toBe() fails for: "abc" and "cde" 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>\\"cde\\"</>
Expand All @@ -293,7 +293,7 @@ Received:

exports[`.toBe() fails for: "with
trailing space" and "without trailing space" 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>\\"without trailing space\\"</>
Expand All @@ -303,7 +303,7 @@ Received:
`;

exports[`.toBe() fails for: [] and [] 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>[]</>
Expand All @@ -316,7 +316,7 @@ Difference:
`;

exports[`.toBe() fails for: {"a": 1} and {"a": 1} 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>{\\"a\\": 1}</>
Expand All @@ -329,7 +329,7 @@ Difference:
`;

exports[`.toBe() fails for: {"a": 1} and {"a": 5} 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>{\\"a\\": 5}</>
Expand All @@ -348,7 +348,7 @@ Difference:
`;

exports[`.toBe() fails for: {} and {} 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>{}</>
Expand All @@ -361,7 +361,7 @@ Difference:
`;

exports[`.toBe() fails for: -0 and 0 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>0</>
Expand All @@ -374,7 +374,7 @@ Difference:
`;

exports[`.toBe() fails for: 1 and 2 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>2</>
Expand All @@ -383,7 +383,7 @@ Received:
`;

exports[`.toBe() fails for: null and undefined 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>undefined</>
Expand All @@ -396,7 +396,7 @@ Difference:
`;

exports[`.toBe() fails for: true and false 1`] = `
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // using Object.is</>
"<dim>expect(</><red>received</><dim>).toBe(</><green>expected</><dim>) // Object.is equality</>

Expected value to be:
<green>false</>
Expand Down
5 changes: 3 additions & 2 deletions packages/expect/src/matchers.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,13 @@ type ContainIterable =

const matchers: MatchersObject = {
toBe(received: any, expected: number) {
const comment = 'Object.is equality';
const pass = Object.is(received, expected);

const message = pass
? () =>
matcherHint('.not.toBe', undefined, undefined, {
comment: 'using Object.is',
comment,
}) +
'\n\n' +
`Expected value to not be:\n` +
Expand All @@ -64,7 +65,7 @@ const matchers: MatchersObject = {

return (
matcherHint('.toBe', undefined, undefined, {
comment: 'using Object.is',
comment,
}) +
'\n\n' +
`Expected value to be:\n` +
Expand Down