1suite('number-handler', function() {
2  test('parse numbers', function() {
3    var tests = {
4      '0': 0,
5      '1234': 1234,
6      '-40': -40,
7      '+40': 40,
8      '   -40   ': -40,
9      '4.0': 4,
10      '0.4': 0.4,
11      '.1234': 0.1234,
12      '12.34': 12.34,
13      '+.1234': 0.1234,
14      '+12.34': 12.34,
15      '-.1234': -0.1234,
16      '-12.34': -12.34,
17    };
18    for (var string in tests) {
19      assert.equal(webAnimations1.parseNumber(string), tests[string], 'Parsing "' + string + '"');
20    }
21  });
22  test('invalid numbers fail to parse', function() {
23    assert.isUndefined(webAnimations1.parseNumber(''));
24    assert.isUndefined(webAnimations1.parseNumber('nine'));
25    assert.isUndefined(webAnimations1.parseNumber('1 2'));
26    assert.isUndefined(webAnimations1.parseNumber('+-0'));
27    assert.isUndefined(webAnimations1.parseNumber('50px'));
28    assert.isUndefined(webAnimations1.parseNumber('1.2.3'));
29  });
30  test('opacity clamping', function() {
31    var interpolation = webAnimations1.propertyInterpolation('opacity', '0', '1');
32    assert.equal(interpolation(-1), '0');
33    assert.equal(interpolation(2), '1');
34  });
35});
36