Taglist: do not addTag when presssing TAB in shiftKey mode

This commit is contained in:
Yohan Boniface
2013-02-19 17:49:01 +01:00
parent 88949d6624
commit 5d70ba79d3
2 changed files with 19 additions and 1 deletions

View File

@@ -182,7 +182,8 @@ iD.ui.Taglist = function() {
function pushMore() {
if (d3.event.keyCode === 9 &&
list.selectAll('li:last-child input.value').node() === this) {
list.selectAll('li:last-child input.value').node() === this &&
!d3.event.shiftKey) {
addTag();
focusNewKey();
d3.event.preventDefault();

View File

@@ -75,4 +75,21 @@ describe("iD.ui.Inspector", function () {
expect(spy).to.have.been.calledWith(entity, tags);
});
it("adds tags when pressing the TAB key on last input.value", function () {
expect(element.selectAll('.tag-list li')[0].length).to.eql(1);
var input = d3.select('.tag-list li:last-child input.value')[0][0];
happen.keydown(d3.select(input).node(), {keyCode: 9});
expect(element.selectAll('.tag-list li')[0].length).to.eql(2);
expect(element.select('.tag-list').selectAll("input")[0][2].value).to.be.empty;
expect(element.select('.tag-list').selectAll("input")[0][3].value).to.be.empty;
});
it("does not add a tag when pressing TAB while shift is pressed", function () {
expect(element.selectAll('.tag-list li')[0].length).to.eql(1);
var input = d3.select('.tag-list li:last-child input.value')[0][0];
happen.keydown(d3.select(input).node(), {keyCode: 9, shiftKey: true});
expect(element.selectAll('.tag-list li')[0].length).to.eql(1);
});
});