952a4a4c73
To improve testability, the backend communication with the developer tools is moved to a service that can then be mocked for testing purposes. Moving functionality to a service means that an app file is needed to create the module before the controller and the service and that the app, service, and controller should be contained in the application html page.
41 lines
1019 B
JavaScript
41 lines
1019 B
JavaScript
describe('hintService', function() {
|
|
var hintService;
|
|
|
|
beforeEach(module('ngHintUI'));
|
|
beforeEach(inject(function(_hintService_) {
|
|
hintService = _hintService_;
|
|
}));
|
|
|
|
var messageFunction = {
|
|
addListener: jasmine.createSpy('messageFunction')
|
|
}
|
|
var postMessageFunction = jasmine.createSpy('postMessageFunction');
|
|
var onDisconnectFunction = {
|
|
addListener: jasmine.createSpy('onDisconnect')
|
|
}
|
|
chrome = {
|
|
extension: {
|
|
connect: function() {
|
|
return {
|
|
onMessage: messageFunction,
|
|
postMessage: postMessageFunction,
|
|
onDisconnect: onDisconnectFunction
|
|
};
|
|
}
|
|
},
|
|
devtools: {
|
|
inspectedWindow: {
|
|
tabId: 1
|
|
}
|
|
}
|
|
};
|
|
|
|
it('should set the function to be executed for each hint', function() {
|
|
var onHintFunction = function() {
|
|
console.log('Do this when passed a hint.');
|
|
};
|
|
hintService.setHintFunction(onHintFunction);
|
|
expect(hintService.getHintFunction()).toEqual(onHintFunction);
|
|
});
|
|
});
|