summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/ajax/prototype/test/unit/number_test.js
blob: 4e09529b2c4aa41e1be210da327abf2775f7e7da (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
new Test.Unit.Runner({
  
  testNumberMathMethods: function() {
    this.assertEqual(1, (0.9).round());
    this.assertEqual(-2, (-1.9).floor());
    this.assertEqual(-1, (-1.9).ceil());

    $w('abs floor round ceil').each(function(method) {
      this.assertEqual(Math[method](Math.PI), Math.PI[method]());
    }, this);
  },

  testNumberToColorPart: function() {
    this.assertEqual('00', (0).toColorPart());
    this.assertEqual('0a', (10).toColorPart());
    this.assertEqual('ff', (255).toColorPart());
  },

  testNumberToPaddedString: function() {
    this.assertEqual('00', (0).toPaddedString(2, 16));
    this.assertEqual('0a', (10).toPaddedString(2, 16));
    this.assertEqual('ff', (255).toPaddedString(2, 16));
    this.assertEqual('000', (0).toPaddedString(3));
    this.assertEqual('010', (10).toPaddedString(3));
    this.assertEqual('100', (100).toPaddedString(3));
    this.assertEqual('1000', (1000).toPaddedString(3));
  },

  testNumberToJSON: function() {
    this.assertEqual('null', Number.NaN.toJSON());
    this.assertEqual('0', (0).toJSON());
    this.assertEqual('-293', (-293).toJSON());
  },
  
  testNumberTimes: function() {
    var results = [];
    (5).times(function(i) { results.push(i) });
    this.assertEnumEqual($R(0, 4), results);
    
    results = [];
    (5).times(function(i) { results.push(i * this.i) }, { i: 2 });
    this.assertEnumEqual([0, 2, 4, 6, 8], results);
  }
});