diff --git a/packages/nbdime/src/common/util.ts b/packages/nbdime/src/common/util.ts index 7704246a..e4689218 100644 --- a/packages/nbdime/src/common/util.ts +++ b/packages/nbdime/src/common/util.ts @@ -298,7 +298,7 @@ function buildSelect(options: string[], select?: HTMLSelectElement): HTMLSelectE } for (let option of options) { let opt = document.createElement('option'); - opt.value = opt.innerText = option; + opt.text = option; select.appendChild(opt); } return select; diff --git a/packages/nbdime/test/src/common/util.spec.ts b/packages/nbdime/test/src/common/util.spec.ts index 861b3a02..a8a2a6ad 100644 --- a/packages/nbdime/test/src/common/util.spec.ts +++ b/packages/nbdime/test/src/common/util.spec.ts @@ -257,6 +257,36 @@ describe('common', () => { }); + describe('buildSelect', () => { + + it('should create an empty select', () => { + let value = util.buildSelect([]); + expect(value.outerHTML).toEqual(""); + }); + + it('should reuse a given select', () => { + const select = document.createElement('select'); + let value = util.buildSelect([], select); + expect(value).toBe(select); + }); + + it('should create a select with options', () => { + let value = util.buildSelect([ + 'foo', + 'bar', + '
boo
' + ]); + expect(value.outerHTML).toEqual( + '' + ); + }); + + }); + }); });