File: events.spec.coffee

package info (click to toggle)
jquery-at.js 1.5.4%2Bdfsg.1-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 312 kB
  • sloc: makefile: 72
file content (107 lines) | stat: -rw-r--r-- 3,601 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107

describe "events", ->

	$inputor = null
	app = null
	$ = jQuery

	beforeEach ->
	  loadFixtures "inputors.html"
	  $inputor = $("#inputor").atwho at: "@", data: fixtures["names"]
	  app = getAppOf $inputor
	afterEach ->
	  $inputor.atwho 'destroy'

	describe "inner", ->
	  controller = null
	  callbacks = null

	  beforeEach ->
	    controller = app.controller()
	    callbacks = $.fn.atwho.default.callbacks
	    simulateTypingIn $inputor

	  it "trigger esc", ->
	    esc_event = $.Event("keyup.atwhoInner", keyCode: KEY_CODE.ESC)
	    $inputor.trigger(esc_event)
	    expect(controller.view.visible()).toBe(false)

	  it "trigger tab", ->
	    spyOn(callbacks, "beforeInsert").and.callThrough()
	    tab_event = $.Event("keydown.atwhoInner", keyCode: KEY_CODE.TAB)
	    $inputor.trigger(tab_event)
	    expect(controller.view.visible()).toBe(false)
	    expect(callbacks.beforeInsert).toHaveBeenCalled()

	  it "trigger enter", ->
	    spyOn(callbacks, "beforeInsert").and.callThrough()
	    enter_event = $.Event("keydown.atwhoInner", keyCode: KEY_CODE.ENTER)
	    $inputor.trigger(enter_event)
	    expect(callbacks.beforeInsert).toHaveBeenCalled()

	  it "trigger up", ->
	    spyOn(controller.view, "prev").and.callThrough()
	    up_event = $.Event("keydown.atwhoInner", keyCode: KEY_CODE.UP)
	    $inputor.trigger(up_event)
	    expect(controller.view.prev).toHaveBeenCalled()

	  it "trigger down", ->
	    spyOn(controller.view, "next").and.callThrough()
	    down_event = $.Event("keydown.atwhoInner", keyCode: KEY_CODE.DOWN)
	    $inputor.trigger(down_event)
	    expect(controller.view.next).toHaveBeenCalled()

	  it "trigger up(ctrl + p)", ->
	    spyOn(controller.view, "prev").and.callThrough()
	    up_event = $.Event("keydown.atwhoInner", keyCode: KEY_CODE.P, ctrlKey: true)
	    $inputor.trigger(up_event)
	    expect(controller.view.prev).toHaveBeenCalled()

	  it "trigger down(ctrl + n)", ->
	    spyOn(controller.view, "next").and.callThrough()
	    down_event = $.Event("keydown.atwhoInner", keyCode: KEY_CODE.N, ctrlKey: true)
	    $inputor.trigger(down_event)
	    expect(controller.view.next).toHaveBeenCalled()

	   it "trigger p", ->
	    spyOn(controller.view, "prev").and.callThrough()
	    p_event = $.Event("keydown.atwhoInner", keyCode: KEY_CODE.P, ctrlKey: false)
	    $inputor.trigger(p_event)
	    expect(controller.view.prev).not.toHaveBeenCalled()

	   it "trigger n", ->
	    spyOn(controller.view, "prev").and.callThrough()
	    n_event = $.Event("keydown.atwhoInner", keyCode: KEY_CODE.N, ctrlKey: false)
	    $inputor.trigger(n_event)
	    expect(controller.view.prev).not.toHaveBeenCalled()

	describe "atwho", ->

	  it "trigger matched", ->
	    matched_event = spyOnEvent($inputor, "matched.atwho")
	    triggerAtwhoAt $inputor
	    expect(matched_event).toHaveBeenTriggered()

	  it "trigger inserted", ->
	    choose_event = spyOnEvent($inputor, "inserted.atwho")
	    triggerAtwhoAt $inputor
	    expect(choose_event).toHaveBeenTriggered()

	  it "trigger reposition", ->
	    reposition_event = spyOnEvent($inputor, "reposition.atwho")
	    triggerAtwhoAt $inputor
	    expect(reposition_event).toHaveBeenTriggered()

	  it "trigger a special matched for @ with alias", ->
	    $inputor.atwho
	      at: "@"
	      alias: "at-memtions"

	    event = spyOnEvent($inputor, "matched-at-memtions.atwho")
	    triggerAtwhoAt $inputor
	    expect(event).toHaveBeenTriggered()

	  it "trigger beforeDestroy", ->
	  	destroy_event = spyOnEvent($inputor, "beforeDestroy.atwho")
	  	$inputor.atwho 'destroy'
	  	expect(destroy_event).toHaveBeenTriggered()