Socket
Socket
Sign inDemoInstall

casper-chai

Package Overview
Dependencies
0
Maintainers
2
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    casper-chai

Extends Chai with assertions for CasperJS testing.


Version published
Maintainers
2
Install size
19.7 kB
Created

Readme

Source

Casper.JS Assertions for Chai Build Status

Casper–Chai provides a set of custom assertions for use with CasperJS. You get all the benefits of Chai to test with CasperJS.

It is an alternative to Casper's built-in Tester assertions. Instead of using Casper's Tester you can use (in this case with mocha-casperjs and Chai):

describe("my page", function () {
  it("can be opened by Casper", function () {
    casper.open("http://www.google.com")

    casper.then(function () {
      expect(casper.currentHTTPStatus).to.equal(200);
    });

    casper.then(function () {
      expect("Google").to.matchTitle
    });
  });
});

Examples

Say we have a page like this:

<html>
  <head>
    <title>Casper-Chai Example</title>
    <link rel="stylesheet" href="site.css" type="text/css">
  </head>
  <body>
    <header>
      <a href="javascript:void(0)" class="signin">Sign In</a>
    </header>
    <article>
      <ul class="breadcrumbs">
        <li>Home</li>
        <li>Blog</li>
        <li aria-selected="true">Using Chai in your casper tests</li>
      </ul>
      <div class="greeting">Hello</div>
      <span class="greeting help">Need help?</span>
    </article>
    <footer>
      <a href="/help" id="help-link" class="help">Help</a>
    </footer>
  </body>
</html>

Here are some assertions that pass

expect(/Casper/).to.matchTitle
'Casper-Chai Example'.should.matchTitle
'site.css'.should.be.loaded
'body > header'.should.be.inDOM
'document.querySelectorAll('li').length'.should.evaluate.to.be.above(2)
'#help-link'.should.have.attribute('href')[0].and.equal("/help")
'ul.breadcrumbs li'.should.contain.an.element.with.attr('aria-selected')
'.greeting'.should.have.tagName(['div', 'span'])
'li[aria-selected]'.should.contain.text('Using Chai')
'header a'.should.have.text(/Sign/)
'.greeting'.should.not.have.text(/Bye/)

Here are some assertions that fail

'li'.should.have.attr('aria-selected')
'li'.should.not.have.an.element.with.attr('aria-selected')
'.greeting'.should.not.have.tagName('span')
'.help'.should.have.text('Help')
'li[aria-selected]'.should.have.text('Using Chai')

See the full documentation and more examples and check out the unit tests.

Installation

Casper-Chai can be installed with npm using npm install casper-chai, or including casper-chai.js in a directory require will find it.

Add extensions to Chai with:

casper_chai = require('casper-chai');
chai.use(casper_chai);

To develop and test casper-chai locally, clone the project and run npm install to get dependencies (which, obviously, requires npm to be installed). You will need cake to generate documentation - which should be possible by running npm install -g coffee-script. Also make sure you have the latest version of casperjs installed.

Keywords

FAQs

Last updated on 29 Mar 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc