У меня есть следующий код в background.js
var allCookies = [];
function getAllCookies() {
chrome.cookies.getAll({}, function(cookies) {
for (var i in cookies) {
allCookies.push(cookies[i])
}
}
});
}
Теперь в specs.js
я написал следующий код для проверки метода getAllCookies
-
describe('getAllCookies', function() {
beforeEach(function() {
chrome = {
cookies: {
getAll : function() {
return [
'cookie1',
'cookie2'
]
}
}
};
spyOn(chrome.cookies,'getAll');
});
it('should updated global variable allCookies', function() {
getAllCookies();
expect(allCookies).toEqual(['cookie1','cookie2'])
})
})
Но тест не пройден как allCookies = []
, но он должен быть равен ['cookie1','cookie2']
Может ли кто-нибудь помочь мне смоделировать такие API-интерфейсы Chrome (скажем, chrome.cookies.getAll
), которые принимают в качестве аргумента функцию обратного вызова?