benv.setup(function() { self.$ = require('jquery'); self.$.localStorage = require('./fixtures/localstorage'); self.$.fn.tipsy = function mockTipsy ( ) { }; self.$.fn.dialog = function mockDialog (opts) { function maybeCall (name, obj) { if (obj[name] && obj[name].call) { obj[name](); } } maybeCall('open', opts); _.forEach(opts.buttons, function (button) { maybeCall('click', button); }); }; var indexHtml = read(__dirname + '/../static/report/index.html', 'utf8'); self.$('body').html(indexHtml); //var filesys = require('fs'); //var logfile = filesys.createWriteStream('out.txt', { flags: 'a'} ) self.$.ajax = function mockAjax (url, opts) { var returnVal = someData[url] || []; if (opts && typeof opts.success === 'function') { opts.success(returnVal); } return self.$.Deferred().resolveWith(returnVal); }; self.$.plot = function mockPlot () { }; var d3 = require('d3'); //disable all d3 transitions so most of the other code can run with jsdom d3.timer = function mockTimer() { }; benv.expose({ $: self.$ , jQuery: self.$ , d3: d3 , serverSettings: serverSettings , io: { connect: function mockConnect ( ) { return { on: function mockOn ( ) { } }; } } }); benv.require(__dirname + '/../bundle/bundle.source.js'); benv.require(__dirname + '/../static/report/js/report.js'); done(); });
benv.setup(function () { benv.expose({ angular: benv.require(angularPath, 'angular'), ngAst: benv.require('../ng-ast.js', 'ngAst') }); done(); });
QUnit.test('stop angular directive override', function () { var angular = benv.require('../bower_components/angular/angular.js', 'angular'); benv.require('../stop-angular-overrides.js'); angular.module('A1', []).directive('someDirective', function () {}); QUnit.throws(function () { angular.module('A2', []).directive('someDirective', function () {}); }, 'Error'); });
benv.setup(function () { benv.expose({ angular: benv.require('../bower_components/angular/angular.js', 'angular') }); done(); });
QUnit.test('default behavior is not changed for initial directive definition', function () { var angular = benv.require('../bower_components/angular/angular.js', 'angular'); benv.require('../stop-angular-overrides.js'); var module = angular.module('A', []); // initial definition module.directive('someDirective', function () { return { restrict: 'E', replace: true, template: '<div>Some Directive</div>' }; }); var $compile = angular.injector(['ng', 'A']).get('$compile'); var $rootScope = angular.injector(['ng', 'A']).get('$rootScope'); var $element = $compile('<some-directive></some-directive>')($rootScope); QUnit.equal($element[0].tagName, 'DIV'); });
benv.setup(function() { self.$ = require('jquery'); self.$.localStorage = require('./fixtures/localstorage'); self.$.fn.tipsy = function mockTipsy ( ) { }; self.$.fn.dialog = function mockDialog (opts) { function maybeCall (name, obj) { if (obj[name] && obj[name].call) { obj[name](); } } maybeCall('open', opts); _.forEach(opts.buttons, function (button) { maybeCall('click', button); }); }; var indexHtml = read(__dirname + '/../static/admin/index.html', 'utf8'); self.$('body').html(indexHtml); //var filesys = require('fs'); //var logfile = filesys.createWriteStream('out.txt', { flags: 'a'} ) self.$.ajax = function mockAjax (url, opts) { if (url && url.url) { url = url.url; } //logfile.write(url+'\n'); //console.log(url,opts); if (opts && opts.success && opts.success.call) { if (url.indexOf('/api/v1/treatments.json?&find[created_at][$gte]=')===0) { url = '/api/v1/treatments.json?&find[created_at][$gte]='; } if (url.indexOf('/api/v1/entries.json?&find[date][$gte]=')===0) { url = '/api/v1/entries.json?&find[date][$gte]='; } return { done: function mockDone (fn) { if (someData[url]) { console.log('+++++Data for ' + url + ' sent'); opts.success(someData[url]); } else { console.log('-----Data for ' + url + ' missing'); opts.success([]); } fn(); return self.$.ajax(); }, fail: function mockFail () { return self.$.ajax(); } }; } return { done: function mockDone (fn) { if (url.indexOf('status.json') > -1) { fn(serverSettings); } else { fn({message: 'OK'}); } return self.$.ajax(); }, fail: function mockFail () { return self.$.ajax(); } }; }; self.$.plot = function mockPlot () { }; var d3 = require('d3'); //disable all d3 transitions so most of the other code can run with jsdom d3.timer = function mockTimer() { }; benv.expose({ $: self.$ , jQuery: self.$ , d3: d3 , serverSettings: serverSettings , io: { connect: function mockConnect ( ) { return { on: function mockOn (event, callback) { if ('connect' === event && callback) { callback(); } } , emit: function mockEmit (event, data, callback) { if ('authorize' === event && callback) { callback({ read: true }); } } }; } } }); benv.require(__dirname + '/../bundle/bundle.source.js'); benv.require(__dirname + '/../static/admin/js/admin.js'); done(); });
benv.setup(function() { self.$ = require('jquery'); self.$.localStorage = require('./fixtures/localstorage'); self.$.fn.tipsy = function mockTipsy ( ) { }; self.$.fn.dialog = function mockDialog (opts) { function maybeCall (name, obj) { if (obj[name] && obj[name].call) { obj[name](); } } maybeCall('open', opts); _.forEach(opts.buttons, function (button) { maybeCall('click', button); }); }; var indexHtml = read(__dirname + '/../static/profile/index.html', 'utf8'); self.$('body').html(indexHtml); //var filesys = require('fs'); //var logfile = filesys.createWriteStream('out.txt', { flags: 'a'} ) self.$.ajax = function mockAjax (url, opts) { //logfile.write(url+'\n'); //console.log(url,opts); if (opts && opts.success && opts.success.call) { return { done: function mockDone (fn) { if (someData[url]) { console.log('+++++Data for ' + url + ' sent'); opts.success(someData[url]); } else { console.log('-----Data for ' + url + ' missing'); opts.success([]); } fn(); return self.$.ajax(); }, fail: function mockFail () { return self.$.ajax(); } }; } return { done: function mockDone (fn) { fn({message: 'OK'}); return self.$.ajax(); }, fail: function mockFail () { return self.$.ajax(); } }; }; var d3 = require('d3'); //disable all d3 transitions so most of the other code can run with jsdom d3.timer = function mockTimer() { }; benv.expose({ $: self.$ , jQuery: self.$ , d3: d3 , serverSettings: serverSettings , io: { connect: function mockConnect ( ) { return { on: function mockOn ( ) { } }; } } }); benv.require(__dirname + '/../bundle/bundle.source.js'); benv.require(__dirname + '/../static/profile/js/profileeditor.js'); done(); });