Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
describe "Morris.Hover", ->
2
 
3
  describe "with dummy content", ->
4
 
5
    beforeEach ->
6
      parent = $('<div style="width:200px;height:180px"></div>')
7
        .appendTo($('#test'))
8
      @hover = new Morris.Hover(parent:  parent)
9
      @element = $('#test .morris-hover')
10
 
11
    it "should initialise a hidden, empty popup", ->
12
      @element.should.exist
13
      @element.should.be.hidden
14
      @element.should.be.empty
15
 
16
    describe "#show", ->
17
      it "should show the popup", ->
18
        @hover.show()
19
        @element.should.be.visible
20
 
21
    describe "#hide", ->
22
      it "should hide the popup", ->
23
        @hover.show()
24
        @hover.hide()
25
        @element.should.be.hidden
26
 
27
    describe "#html", ->
28
      it "should replace the contents of the element", ->
29
        @hover.html('<div>Foobarbaz</div>')
30
        @element.should.have.html('<div>Foobarbaz</div>')
31
 
32
    describe "#moveTo", ->
33
      beforeEach ->
34
        @hover.html('<div style="width:84px;height:84px"></div>')
35
 
36
      it "should place the popup directly above the given point", ->
37
        @hover.moveTo(100, 150)
38
        @element.should.have.css('left', '50px')
39
        @element.should.have.css('top', '40px')
40
 
41
      it "should place the popup below the given point if it does not fit above", ->
42
        @hover.moveTo(100, 50)
43
        @element.should.have.css('left', '50px')
44
        @element.should.have.css('top', '60px')
45
 
46
      it "should center the popup vertically if it will not fit above or below", ->
47
        @hover.moveTo(100, 100)
48
        @element.should.have.css('left', '50px')
49
        @element.should.have.css('top', '40px')
50
 
51
      it "should center the popup vertically if no y value is supplied", ->
52
        @hover.moveTo(100)
53
        @element.should.have.css('left', '50px')
54
        @element.should.have.css('top', '40px')
55
 
56
  describe "#update", ->
57
    it "should update content, show and reposition the popup", ->
58
      hover = new Morris.Hover(parent: $('#test'))
59
      html = "<div style='width:84px;height:84px'>Hello, Everyone!</div>"
60
      hover.update(html, 150, 200)
61
      el = $('#test .morris-hover')
62
      el.should.have.css('left', '100px')
63
      el.should.have.css('top', '90px')
64
      el.should.have.text('Hello, Everyone!')