chai-equal-jsx

    1.0.9 • Public • Published

    chai-equal-jsx

    NPM version Build Status Build Status Downloads

    Adds equalJSX and includeJSX methods to chai assertions. Uses Algolia's react-element-to-jsx-string under the hood.

    Installation

    npm install -D chai-equal-jsx
    

    Setup

    import chai from 'chai';
    import equalJSX from 'chai-equal-jsx';
     
    chai.use(equalJSX);

    Usage

    The following tests are all passing:

    Expect

    class TestComponent extends React.Component {}
     
    // equalJSX
    expect(<div />).to.equalJSX(<div />);
    expect(<TestComponent />).to.equalJSX(<TestComponent />);
     
    expect(<div />).to.not.equalJSX(<span />);
    expect(<TestComponent />).to.not.equalJSX(<span />);
     
    // includeJSX
    expect(<div><TestComponent /></div>).to.includeJSX(<TestComponent />);
    expect(<div><TestComponent /><span /></div>).to.includeJSX(<span></span>);
     
    expect(<TestComponent />).to.not.includeJSX(<span></span>);
    expect(<div><span /><TestComponent /></div>).to.not.includeJSX(</>);

    Should

    chai.should();
     
    class TestComponent extends React.Component {}
     
    // equalJSX
    (<div />).should.equalJSX(<div />);
    (<TestComponent />).should.equalJSX(<TestComponent />);
     
    (<div />).should.not.equalJSX(<span />);
    (<TestComponent />).should.not.equalJSX(<span />);
     
    // includeJSX
    (<div><TestComponent /></div>).should.includeJSX(<TestComponent />);
    (<div><TestComponent /><span /></div>).should.includeJSX(<span></span>);
     
    (<TestComponent />).should.not.includeJSX(<span></span>);
    (<div><span /><TestComponent /></div>).should.not.includeJSX(</>);

    See test/index.js for usage in context.

    Install

    npm i chai-equal-jsx

    DownloadsWeekly Downloads

    41

    Version

    1.0.9

    License

    MIT

    Last publish

    Collaborators

    • echenley