// Selection.setFocus(false)
false

// Selection.setFocus(null)
true

// Selection.setFocus(a)
! - onSetFocus
// oldFocus
null

// newFocus
_level0.a

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.a



true

// Selection.setFocus(b)
! - onSetFocus
// oldFocus
_level0.a

// newFocus
_level0.b

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.b



true

// Selection.setSelection(0)
undefined

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.b


// Selection.setSelection()
undefined

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.b


// Selection.setSelection(0, 1)
undefined

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.b


// Selection.setSelection(-1, 1)
undefined

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.b


// Selection.setSelection(0, 5)
undefined

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.b


// Selection.setFocus(b)
true

// b.focusEnabled = false;
// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.b


// Selection.setFocus(undefined)
! - onSetFocus
// oldFocus
_level0.b

// newFocus
null

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
null



true

// Selection.setFocus(c)
! - onSetFocus
// oldFocus
null

// newFocus
_level0.c

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.c



true

// Selection.setFocus(d)
false

// Selection.setFocus(e)
! - onSetFocus
// oldFocus
_level0.c

// newFocus
null

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
null



true

// Selection.setFocus(button)
! - onSetFocus
// oldFocus
null

// newFocus
_level0.button

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.button



true

// Selection.setFocus(text_input
! - onSetFocus
// oldFocus
_level0.button

// newFocus
_level0.text_input

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.text_input



true

// Selection.setFocus(text_selectable)
! - onSetFocus
// oldFocus
_level0.text_input

// newFocus
_level0.text_selectable

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.text_selectable



true

// Selection.setSelection(0)
undefined

// Selection.getBeginIndex()
0

// Selection.getCaretIndex()
15

// Selection.getEndIndex()
15

// Selection.getFocus()
_level0.text_selectable


// Selection.setSelection(2, 2)
undefined

// Selection.getBeginIndex()
2

// Selection.getCaretIndex()
2

// Selection.getEndIndex()
2

// Selection.getFocus()
_level0.text_selectable


// Selection.setSelection()
undefined

// Selection.getBeginIndex()
2

// Selection.getCaretIndex()
2

// Selection.getEndIndex()
2

// Selection.getFocus()
_level0.text_selectable


// Selection.setSelection(-1, 1)
undefined

// Selection.getBeginIndex()
0

// Selection.getCaretIndex()
1

// Selection.getEndIndex()
1

// Selection.getFocus()
_level0.text_selectable


// Selection.setSelection(0, 5)
undefined

// Selection.getBeginIndex()
0

// Selection.getCaretIndex()
5

// Selection.getEndIndex()
5

// Selection.getFocus()
_level0.text_selectable


// Selection.setSelection(5, 2)
undefined

// Selection.getBeginIndex()
2

// Selection.getCaretIndex()
2

// Selection.getEndIndex()
5

// Selection.getFocus()
_level0.text_selectable


// Selection.setFocus(text_non_selectable)
! - onSetFocus
// oldFocus
_level0.text_selectable

// newFocus
_level0.text_non_selectable

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.text_non_selectable



true

// Selection.setFocus(text_input)
! - onSetFocus
// oldFocus
_level0.text_non_selectable

// newFocus
_level0.text_input

// Selection.getBeginIndex()
-1

// Selection.getCaretIndex()
-1

// Selection.getEndIndex()
-1

// Selection.getFocus()
_level0.text_input



true

// Selection.setSelection(1, 3)
// text_input.text
Input text

// text_input.replaceSel('blah')

// text_input.text
Iblahut text

// text_input.replaceSel('blah')
// text_input.text
Iblahblahut text

