Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

chai-backbone

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chai-backbone

Backbone assertions for the Chai assertion library

  • 0.9.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4K
increased by28.69%
Maintainers
1
Weekly downloads
 
Created
Source

chai-backbone

Build Status NPM Version

chai-backbone is an extension to the chai assertion library that provides a set of backbone specific assertions.

Use the assertions with chai's expect or should assertions.

Dependencies

Assertions

trigger

model.should.trigger("change", { with: [model] }).when(function() {
  model.set({ attribute: "value" });
});

this can also be chained further:

model.should.trigger("change").and.trigger("change:attribute").when(function() {
  model.set({ attribute: "value" });
});

model.should.trigger("change").and.not.trigger("reset").when(function() {
  model.set({ attribute: "value" });
});

route.to

Tests if a route is delegated to the correct router and if the arguments are extracted in the expected manner.

"page/3".should.route.to(myRouter, "openPage", { arguments: ["3"] });
"pages/3".should.not.route.to(myRouter, "openPage");
"page/3".should.route.to(myRouter, "openPage", { considering: [conflictingRouter] });

call

This assertion is ideal for testing view callbacks it will rebind view events to test DOM events

view.should.call('startAuthentication').when(function() {
  view.$('a.login').trigger('click');
});

Installation and Setup

Node

Do an npm install chai-backbone to get up and running. Then:

var chai = require("chai");
var chaiBackbone = require("chai-backbone");

chai.use(chaiBackbone);

You can of course put this code in a common test fixture file; for an example using Mocha

AMD

Chai Backbone supports being used as an AMD module, registering itself anonymously (just like Chai). So, assuming you have configured your loader to map the Chai and Chai Backbone files to the respective module IDs "chai" and "chai-backbone", you can use them as follows:

define(function (require, exports, module) {
    var chai = require("chai");
    var chaiBackbone = require("chai-backbone");

    chai.use(chaiBackbone);
});

<script> tag

If you include Chai Backbone directly with a <script> tag, after the one for Chai itself, then it will automatically plug in to Chai and be ready for use:

<script src="chai.js"></script>
<script src="chai-backbone.js"></script>

License

Copyright (c) 2012-2015 Matthijs Groen

MIT License (see the LICENSE file)

Keywords

FAQs

Package last updated on 12 Nov 2015

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc