Skip to content

New Rule: no-assert-unexpected-type #202

Open
@bmish

Description

@bmish

I've put together a quick/rough list of what argument data type checks we could add to each qunit assertion. Feel free to comment with additional suggestions/corrections.

I do think we should have just a single rule to check the argument data types of all assertions, similar to how we have a single rule assert-args to verify the correct number of arguments for all assertions.

We would use getStaticValue to statically determine the type of arguments where possible. Types that can't be determined would be ignored.

  • deepEqual / notDeepEqual
  • equal / notEqual / strictEqual / notStrictEqual
    • suggest deepEqual and propEqual for objects
    • suggest deepEqual for arrays
    • nothing yet
  • false / true
    • disallow non-boolean values - assert.true(123);
  • ok / notOk
    • nothing yet
  • propEqual / notPropEqual
    • autofix/suggest strictEqual for literal values - assert.propEqual(foo, 123); - partially covered by qunit/require-object-in-propequal, this existing rule could be deprecated and replaced by the holistic rule

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions