This commit is contained in:
imoses
2016-09-22 16:28:20 +03:00
2 changed files with 32 additions and 0 deletions
+16
View File
@@ -357,6 +357,22 @@ Terminal.prototype.focus = function() {
return this.textarea.focus();
};
/**
* Retrieves an option's value from the terminal.
* @param {string} key The option key.
*/
Terminal.prototype.getOption = function(key, value) {
if (!(key in Terminal.defaults)) {
throw new Error('No option with key "' + key + '"');
}
if (typeof this.options[key] !== 'undefined') {
return this.options[key];
}
return this[key];
};
/**
* Sets an option on the terminal.
* @param {string} key The option key.
+16
View File
@@ -10,6 +10,22 @@ describe('xterm.js', function() {
xterm.refresh = function(){};
});
describe('getOption', function() {
it('should retrieve the option correctly', function() {
// In the `options` namespace.
xterm.options.cursorBlink = true;
assert.equal(xterm.getOption('cursorBlink'), true);
// On the Terminal instance
delete xterm.options.cursorBlink;
xterm.cursorBlink = false;
assert.equal(xterm.getOption('cursorBlink'), false);
});
it('should throw when retrieving a non-existant option', function() {
assert.throws(xterm.getOption.bind(xterm, 'fake', true));
});
});
describe('setOption', function() {
it('should set the option correctly', function() {
xterm.setOption('cursorBlink', true);