mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
Implement term.getOption
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user