Giter Site home page Giter Site logo

jasmine-flight's Introduction

DDJasmineFlight

Extensions to the Jasmine test framework for use with Flight CJS. This extension is designed to work with Karma Browserify and was inspired by the original Jasmine-Flight package.

Installation

npm install --save-dev <To Do>

N.B. jasmine-flight depends on jasmine and jasmine-jquery

DDJasmineFlight assumes you'll be loading Flight modules with Browserify.

Components

describe('flight component', function() {
	'use strict';
	
	jasmine.getFixtures().fixturesPath = '/base/test/spec/fixtures/';
    jasmine.getJSONFixtures().fixturesPath = '/base/test/spec/fixtures/';
    var fixture = readFixtures('/path/to/fixture');
    var jasmineFlight = require('../../node_modules/jasmine-flight/index.js');
    
    beforeEach(function() {
    	var registry = require('flightjs/lib/registry');
    	this.Component = this.component = this.$node = null;
    	this.Component = require('path/to/component');
    	registry.reset();
    	this.component = jasmineFlight.setupComponent(this, fixture);
    	jasmine.addMatchers(jasmineFlight.matchers);
    });

    afterEach(function () {
    	this.Component = require('path/to/component');
    	jasmineFlight.destroyComponent(this);
    	jasmineFlight.events.cleanUp();
    });

    it('needs to be defined', function() {
        expect(this.component).toBeDefined();
    });

});

Mixins

describe('flight mixin', function() {
	'use strict';
	
    var jasmineFlight = require('../../node_modules/jasmine-flight/index.js');
    
    beforeEach(function() {
    	var flight = require('flightjs');
    	this.Component = this.component = this.$node = null;
    	this.Component = flight.component(function () {}, require('/path/to/mixin'));
    	flight.registry.reset();
    	this.component = jasmineFlight.setupMixin(this, null);
    	jasmine.addMatchers(jasmineFlight.matchers);
    });

    afterEach(function () {
    	this.Component = require('/path/to/mixin');
    	jasmineFlight.destroyMixin(this);
    	jasmineFlight.events.cleanUp();
    });

    it('should be defined', function () {
        expect(this.component).toBeDefined();
    });

});

Event spy

describe('change skin component', function() {
	'use strict';
	
	jasmine.getFixtures().fixturesPath = '/base/test/spec/fixtures/';
    jasmine.getJSONFixtures().fixturesPath = '/base/test/spec/fixtures/';
    var fixture = readFixtures('/path/to/fixture');
    var jasmineFlight = require('../../node_modules/jasmine-flight/index.js');
    
    beforeEach(function() {
    	var registry = require('flightjs/lib/registry');
    	this.Component = this.component = this.$node = null;
    	this.Component = require('/path/to/component');
    	registry.reset();
    	this.component = jasmineFlight.setupComponent(this, fixture);
    	jasmine.addMatchers(jasmineFlight.matchers);
    });

    afterEach(function () {
    	this.Component = require('path/to/component');
    	jasmineFlight.destroyComponent(this);
    	jasmineFlight.events.cleanUp();
    });

    it('needs to be defined', function() {
        expect(this.component).toBeDefined();
    });

    it('needs to detect event when user click on link', function() {
  		var spyEvent = jasmineFlight.events.spyOn(document, 'uiChanged');
    	$(document).trigger('uiChanged', {
	        name: 'hello'
	    });
    	expect(spyEvent).toHaveBeenTriggeredOnAndWith(document, {name: 'hello'});
    });

});

Contributing to this project

Anyone and everyone is welcome to contribute.

Contributors

DDFilght

License

Licensed under the MIT License

jasmine-flight's People

Contributors

mo-lon avatar

Watchers

 avatar  avatar

Forkers

ansharai-web

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.