summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/ajax/prototype/test/unit/position_test.js
blob: 5cea791b1f7a6224557d7b07d654847edf62dfba (plain)
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
var testVar = 'to be updated';

new Test.Unit.Runner({
  
  setup: function() {
    scrollTo(0,0);
    Position.prepare();
    Position.includeScrollOffsets = false;
  },
  
  teardown: function() {
    scrollTo(0,0);
    Position.prepare();
    Position.includeScrollOffsets = false;
  },
  
  testPrepare: function() {
    Position.prepare();
    this.assertEqual(0, Position.deltaX);
    this.assertEqual(0, Position.deltaY);
    scrollTo(20,30);
    Position.prepare();
    this.assertEqual(20, Position.deltaX);
    this.assertEqual(30, Position.deltaY);
  },
  
  testWithin: function() {
    [true, false].each(function(withScrollOffsets) {
      Position.includeScrollOffsets = withScrollOffsets;
      this.assert(!Position.within($('body_absolute'), 9, 9), 'outside left/top');
      this.assert(Position.within($('body_absolute'), 10, 10), 'left/top corner');
      this.assert(Position.within($('body_absolute'), 10, 19), 'left/bottom corner');
      this.assert(!Position.within($('body_absolute'), 10, 20), 'outside bottom');
    }, this);
    
    scrollTo(20,30);
    Position.prepare();
    Position.includeScrollOffsets = true;
    this.assert(!Position.within($('body_absolute'), 9, 9), 'outside left/top');
    this.assert(Position.within($('body_absolute'), 10, 10), 'left/top corner');
    this.assert(Position.within($('body_absolute'), 10, 19), 'left/bottom corner');
    this.assert(!Position.within($('body_absolute'), 10, 20), 'outside bottom');
  }
});