idea ide updates
[scannr.git] / js / flotr2 / spec / Graph.js
Alex Sadleir





Alex Sadleir



Alex Sadleir









Alex Sadleir



Alex Sadleir




Alex Sadleir



Alex Sadleir













Alex Sadleir








Alex Sadleir






Alex Sadleir


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
describe('Graph', function () {
 
    describe('Options', function () {
        var
            nodeA, nodeB,
            a, b, x, i,
            d1 = [],
            options = {};
 
        for (i = 0; i < 100; i++) {
            x = (i * 1000 * 3600 * 24 * 36.5);
            d1.push([x, i + Math.random() * 30 + Math.sin(i / 20 + Math.random() * 2) * 20 + Math.sin(i / 10 + Math.random()) * 10]);
        }
 
        options = {
            xaxis: {
                mode: 'time',
                labelsAngle: 45
            },
            selection: {
                mode: 'x'
            },
            HtmlText: false,
        };
 
        beforeEach(function () {
            nodeA = buildNode();
            Flotr = TestFlotr;
        });
 
        afterEach(function () {
            destroyNode(nodeA);
            a = b = null;
            Flotr = null;
        });
 
        it('should override nested default options with user options', function () {
            a = new TestFlotr.Graph(nodeA, d1, options);
            expect(a.options.xaxis.mode).toEqual(options.xaxis.mode);
        });
 
        it('should retain default options if user option\'s nested object does not define property', function () {
            a = new TestFlotr.Graph(nodeA, d1, options);
            expect(a.options.xaxis.tickFormatter).toBeTruthy();
        });
 
        it('should not affect default options when modifying graph options (objects)', function () {
            a = new TestFlotr.Graph(nodeA, d1, options);
            a.options.x2axis = {
                titleAlign: 'left'
            };
            a.options.xaxis.scaling = 'logarithmic';
            expect(TestFlotr.defaultOptions.xaxis.scaling).toEqual('linear');
            expect(TestFlotr.defaultOptions.x2axis.titleAlign).toBeFalsy();
        });
 
        /*
         it('should not affect default options when modifying graph options (arrays)', function() {
         a = new TestFlotr.Graph(nodeA, d1, options);
         a.options.colors[1] = '#bada55';
         expect(TestFlotr.defaultOptions.colors[1]).toNotBe('#bada55');
         });
         */
 
    });
 
    function buildNode() {
        var node = document.createElement('div');
        document.body.appendChild(node);
        node.style.width = '320px';
        node.style.height = '240px';
        return node;
    }
 
    function destroyNode(node) {
        document.body.removeChild(node);
    }
 
});