mirror of
https://github.com/twbs/bootstrap.git
synced 2025-02-20 17:54:23 +01:00
get tests passing for typeahead :P
This commit is contained in:
parent
1747caf19d
commit
820a3b27b6
14
docs/assets/js/bootstrap-typeahead.js
vendored
14
docs/assets/js/bootstrap-typeahead.js
vendored
@ -33,8 +33,8 @@
|
|||||||
this.sorter = this.options.sorter || this.sorter
|
this.sorter = this.options.sorter || this.sorter
|
||||||
this.highlighter = this.options.highlighter || this.highlighter
|
this.highlighter = this.options.highlighter || this.highlighter
|
||||||
this.updater = this.options.updater || this.updater
|
this.updater = this.options.updater || this.updater
|
||||||
this.$menu = $(this.options.menu).insertAfter(this.$element)
|
|
||||||
this.source = this.options.source
|
this.source = this.options.source
|
||||||
|
this.$menu = $(this.options.menu)
|
||||||
this.shown = false
|
this.shown = false
|
||||||
this.listen()
|
this.listen()
|
||||||
}
|
}
|
||||||
@ -60,12 +60,14 @@
|
|||||||
height: this.$element[0].offsetHeight
|
height: this.$element[0].offsetHeight
|
||||||
})
|
})
|
||||||
|
|
||||||
this.$menu.css({
|
this.$menu
|
||||||
top: pos.top + pos.height
|
.insertAfter(this.$element)
|
||||||
, left: pos.left
|
.css({
|
||||||
})
|
top: pos.top + pos.height
|
||||||
|
, left: pos.left
|
||||||
|
})
|
||||||
|
.show()
|
||||||
|
|
||||||
this.$menu.show()
|
|
||||||
this.shown = true
|
this.shown = true
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
14
docs/assets/js/bootstrap.js
vendored
14
docs/assets/js/bootstrap.js
vendored
@ -1752,8 +1752,8 @@
|
|||||||
this.sorter = this.options.sorter || this.sorter
|
this.sorter = this.options.sorter || this.sorter
|
||||||
this.highlighter = this.options.highlighter || this.highlighter
|
this.highlighter = this.options.highlighter || this.highlighter
|
||||||
this.updater = this.options.updater || this.updater
|
this.updater = this.options.updater || this.updater
|
||||||
this.$menu = $(this.options.menu).insertAfter(this.$element)
|
|
||||||
this.source = this.options.source
|
this.source = this.options.source
|
||||||
|
this.$menu = $(this.options.menu)
|
||||||
this.shown = false
|
this.shown = false
|
||||||
this.listen()
|
this.listen()
|
||||||
}
|
}
|
||||||
@ -1779,12 +1779,14 @@
|
|||||||
height: this.$element[0].offsetHeight
|
height: this.$element[0].offsetHeight
|
||||||
})
|
})
|
||||||
|
|
||||||
this.$menu.css({
|
this.$menu
|
||||||
top: pos.top + pos.height
|
.insertAfter(this.$element)
|
||||||
, left: pos.left
|
.css({
|
||||||
})
|
top: pos.top + pos.height
|
||||||
|
, left: pos.left
|
||||||
|
})
|
||||||
|
.show()
|
||||||
|
|
||||||
this.$menu.show()
|
|
||||||
this.shown = true
|
this.shown = true
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
2
docs/assets/js/bootstrap.min.js
vendored
2
docs/assets/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
14
js/bootstrap-typeahead.js
vendored
14
js/bootstrap-typeahead.js
vendored
@ -33,8 +33,8 @@
|
|||||||
this.sorter = this.options.sorter || this.sorter
|
this.sorter = this.options.sorter || this.sorter
|
||||||
this.highlighter = this.options.highlighter || this.highlighter
|
this.highlighter = this.options.highlighter || this.highlighter
|
||||||
this.updater = this.options.updater || this.updater
|
this.updater = this.options.updater || this.updater
|
||||||
this.$menu = $(this.options.menu).insertAfter(this.$element)
|
|
||||||
this.source = this.options.source
|
this.source = this.options.source
|
||||||
|
this.$menu = $(this.options.menu)
|
||||||
this.shown = false
|
this.shown = false
|
||||||
this.listen()
|
this.listen()
|
||||||
}
|
}
|
||||||
@ -60,12 +60,14 @@
|
|||||||
height: this.$element[0].offsetHeight
|
height: this.$element[0].offsetHeight
|
||||||
})
|
})
|
||||||
|
|
||||||
this.$menu.css({
|
this.$menu
|
||||||
top: pos.top + pos.height
|
.insertAfter(this.$element)
|
||||||
, left: pos.left
|
.css({
|
||||||
})
|
top: pos.top + pos.height
|
||||||
|
, left: pos.left
|
||||||
|
})
|
||||||
|
.show()
|
||||||
|
|
||||||
this.$menu.show()
|
|
||||||
this.shown = true
|
this.shown = true
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
27
js/tests/unit/bootstrap-typeahead.js
vendored
27
js/tests/unit/bootstrap-typeahead.js
vendored
@ -38,7 +38,9 @@ $(function () {
|
|||||||
})
|
})
|
||||||
|
|
||||||
test("should show menu when query entered", function () {
|
test("should show menu when query entered", function () {
|
||||||
var $input = $('<input />').typeahead({
|
var $input = $('<input />')
|
||||||
|
.appendTo('body')
|
||||||
|
.typeahead({
|
||||||
source: ['aa', 'ab', 'ac']
|
source: ['aa', 'ab', 'ac']
|
||||||
})
|
})
|
||||||
, typeahead = $input.data('typeahead')
|
, typeahead = $input.data('typeahead')
|
||||||
@ -50,6 +52,7 @@ $(function () {
|
|||||||
equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
|
equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
|
||||||
equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
|
equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
|
||||||
|
|
||||||
|
$input.remove()
|
||||||
typeahead.$menu.remove()
|
typeahead.$menu.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -58,7 +61,7 @@ $(function () {
|
|||||||
source: function () {
|
source: function () {
|
||||||
return ['aa', 'ab', 'ac']
|
return ['aa', 'ab', 'ac']
|
||||||
}
|
}
|
||||||
})
|
}).appendTo('body')
|
||||||
, typeahead = $input.data('typeahead')
|
, typeahead = $input.data('typeahead')
|
||||||
|
|
||||||
$input.val('a')
|
$input.val('a')
|
||||||
@ -68,6 +71,7 @@ $(function () {
|
|||||||
equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
|
equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
|
||||||
equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
|
equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
|
||||||
|
|
||||||
|
$input.remove()
|
||||||
typeahead.$menu.remove()
|
typeahead.$menu.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -76,7 +80,7 @@ $(function () {
|
|||||||
source: function (query, process) {
|
source: function (query, process) {
|
||||||
process(['aa', 'ab', 'ac'])
|
process(['aa', 'ab', 'ac'])
|
||||||
}
|
}
|
||||||
})
|
}).appendTo('body')
|
||||||
, typeahead = $input.data('typeahead')
|
, typeahead = $input.data('typeahead')
|
||||||
|
|
||||||
$input.val('a')
|
$input.val('a')
|
||||||
@ -86,13 +90,14 @@ $(function () {
|
|||||||
equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
|
equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
|
||||||
equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
|
equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
|
||||||
|
|
||||||
|
$input.remove()
|
||||||
typeahead.$menu.remove()
|
typeahead.$menu.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should not explode when regex chars are entered", function () {
|
test("should not explode when regex chars are entered", function () {
|
||||||
var $input = $('<input />').typeahead({
|
var $input = $('<input />').typeahead({
|
||||||
source: ['aa', 'ab', 'ac', 'mdo*', 'fat+']
|
source: ['aa', 'ab', 'ac', 'mdo*', 'fat+']
|
||||||
})
|
}).appendTo('body')
|
||||||
, typeahead = $input.data('typeahead')
|
, typeahead = $input.data('typeahead')
|
||||||
|
|
||||||
$input.val('+')
|
$input.val('+')
|
||||||
@ -102,6 +107,7 @@ $(function () {
|
|||||||
equals(typeahead.$menu.find('li').length, 1, 'has 1 item in menu')
|
equals(typeahead.$menu.find('li').length, 1, 'has 1 item in menu')
|
||||||
equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
|
equals(typeahead.$menu.find('.active').length, 1, 'one item is active')
|
||||||
|
|
||||||
|
$input.remove()
|
||||||
typeahead.$menu.remove()
|
typeahead.$menu.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -109,7 +115,7 @@ $(function () {
|
|||||||
stop()
|
stop()
|
||||||
var $input = $('<input />').typeahead({
|
var $input = $('<input />').typeahead({
|
||||||
source: ['aa', 'ab', 'ac']
|
source: ['aa', 'ab', 'ac']
|
||||||
})
|
}).appendTo('body')
|
||||||
, typeahead = $input.data('typeahead')
|
, typeahead = $input.data('typeahead')
|
||||||
|
|
||||||
$input.val('a')
|
$input.val('a')
|
||||||
@ -126,13 +132,14 @@ $(function () {
|
|||||||
start()
|
start()
|
||||||
}, 200)
|
}, 200)
|
||||||
|
|
||||||
|
$input.remove()
|
||||||
typeahead.$menu.remove()
|
typeahead.$menu.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
test("should set next item when down arrow is pressed", function () {
|
test("should set next item when down arrow is pressed", function () {
|
||||||
var $input = $('<input />').typeahead({
|
var $input = $('<input />').typeahead({
|
||||||
source: ['aa', 'ab', 'ac']
|
source: ['aa', 'ab', 'ac']
|
||||||
})
|
}).appendTo('body')
|
||||||
, typeahead = $input.data('typeahead')
|
, typeahead = $input.data('typeahead')
|
||||||
|
|
||||||
$input.val('a')
|
$input.val('a')
|
||||||
@ -159,7 +166,6 @@ $(function () {
|
|||||||
|
|
||||||
ok(typeahead.$menu.find('li').first().next().hasClass('active'), "second item is active")
|
ok(typeahead.$menu.find('li').first().next().hasClass('active'), "second item is active")
|
||||||
|
|
||||||
|
|
||||||
$input.trigger({
|
$input.trigger({
|
||||||
type: 'keydown'
|
type: 'keydown'
|
||||||
, keyCode: 38
|
, keyCode: 38
|
||||||
@ -175,6 +181,7 @@ $(function () {
|
|||||||
|
|
||||||
ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active")
|
ok(typeahead.$menu.find('li').first().hasClass('active'), "first item is active")
|
||||||
|
|
||||||
|
$input.remove()
|
||||||
typeahead.$menu.remove()
|
typeahead.$menu.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -182,7 +189,7 @@ $(function () {
|
|||||||
test("should set input value to selected item", function () {
|
test("should set input value to selected item", function () {
|
||||||
var $input = $('<input />').typeahead({
|
var $input = $('<input />').typeahead({
|
||||||
source: ['aa', 'ab', 'ac']
|
source: ['aa', 'ab', 'ac']
|
||||||
})
|
}).appendTo('body')
|
||||||
, typeahead = $input.data('typeahead')
|
, typeahead = $input.data('typeahead')
|
||||||
, changed = false
|
, changed = false
|
||||||
|
|
||||||
@ -197,6 +204,7 @@ $(function () {
|
|||||||
ok(!typeahead.$menu.is(':visible'), 'the menu was hidden')
|
ok(!typeahead.$menu.is(':visible'), 'the menu was hidden')
|
||||||
ok(changed, 'a change event was fired')
|
ok(changed, 'a change event was fired')
|
||||||
|
|
||||||
|
$input.remove()
|
||||||
typeahead.$menu.remove()
|
typeahead.$menu.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -204,7 +212,7 @@ $(function () {
|
|||||||
var $input = $('<input />').typeahead({
|
var $input = $('<input />').typeahead({
|
||||||
source: ['aaaa', 'aaab', 'aaac'],
|
source: ['aaaa', 'aaab', 'aaac'],
|
||||||
minLength: 3
|
minLength: 3
|
||||||
})
|
}).appendTo('body')
|
||||||
, typeahead = $input.data('typeahead')
|
, typeahead = $input.data('typeahead')
|
||||||
|
|
||||||
$input.val('aa')
|
$input.val('aa')
|
||||||
@ -217,6 +225,7 @@ $(function () {
|
|||||||
|
|
||||||
equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
|
equals(typeahead.$menu.find('li').length, 3, 'has 3 items in menu')
|
||||||
|
|
||||||
|
$input.remove()
|
||||||
typeahead.$menu.remove()
|
typeahead.$menu.remove()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user