mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-14 14:11:23 -04:00
88 lines
2.1 KiB
JavaScript
88 lines
2.1 KiB
JavaScript
/*
|
|
jasmine tests for Snowflake UI
|
|
*/
|
|
var document = {
|
|
getElementById: function(id) {
|
|
return {};
|
|
},
|
|
createTextNode: function(txt) {
|
|
return txt;
|
|
}
|
|
};
|
|
|
|
describe('UI', function() {
|
|
|
|
it('activates debug mode when badge does not exist', function() {
|
|
var u;
|
|
spyOn(document, 'getElementById').and.callFake(function(id) {
|
|
if ('badge' === id) {
|
|
return null;
|
|
}
|
|
return {};
|
|
});
|
|
u = new DebugUI();
|
|
expect(document.getElementById.calls.count()).toEqual(2);
|
|
expect(u.$status).not.toBeNull();
|
|
expect(u.$msglog).not.toBeNull();
|
|
});
|
|
|
|
it('is not debug mode when badge exists', function() {
|
|
var u;
|
|
spyOn(document, 'getElementById').and.callFake(function(id) {
|
|
if ('badge' === id) {
|
|
return {};
|
|
}
|
|
return null;
|
|
});
|
|
u = new BadgeUI();
|
|
expect(document.getElementById).toHaveBeenCalled();
|
|
expect(document.getElementById.calls.count()).toEqual(1);
|
|
expect(u.$badge).not.toBeNull();
|
|
});
|
|
|
|
it('sets status message when in debug mode', function() {
|
|
var u;
|
|
u = new DebugUI();
|
|
u.$status = {
|
|
innerHTML: '',
|
|
appendChild: function(txt) {
|
|
return this.innerHTML = txt;
|
|
}
|
|
};
|
|
u.setStatus('test');
|
|
expect(u.$status.innerHTML).toEqual('Status: test');
|
|
});
|
|
|
|
it('sets message log css correctly for debug mode', function() {
|
|
var u;
|
|
u = new DebugUI();
|
|
u.setActive(true);
|
|
expect(u.$msglog.className).toEqual('active');
|
|
u.setActive(false);
|
|
expect(u.$msglog.className).toEqual('');
|
|
});
|
|
|
|
it('sets badge css correctly for non-debug mode', function() {
|
|
var u;
|
|
u = new BadgeUI();
|
|
u.$badge = {};
|
|
u.setActive(true);
|
|
expect(u.$badge.className).toEqual('active');
|
|
u.setActive(false);
|
|
expect(u.$badge.className).toEqual('');
|
|
});
|
|
|
|
it('logs to the textarea correctly when debug mode', function() {
|
|
var u;
|
|
u = new DebugUI();
|
|
u.$msglog = {
|
|
value: '',
|
|
scrollTop: 0,
|
|
scrollHeight: 1337
|
|
};
|
|
u.log('test');
|
|
expect(u.$msglog.value).toEqual('test\n');
|
|
expect(u.$msglog.scrollTop).toEqual(1337);
|
|
});
|
|
|
|
});
|