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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp <meta http-equiv="content-type" content="text/html; charset=utf-8">
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp /*Supplemental: CSS for the YUI distribution*/
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp #custom-doc { width: 95%; min-width: 950px; }
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp #pagetitle {background-image: url(/assets/bg_hd.gif);}
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp padding:10px 10px 10px 10px;
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp <link rel="stylesheet" type="text/css" href="/build/cssfonts/fonts-min.css">
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp<script type="text/javascript" src="/build/yui/yui-min.js"></script>
562568c870b1109f8b462727a15d214d71d892afTripp allowRollup: false,
562568c870b1109f8b462727a15d214d71d892afTripp filter: (window.location.search.match(/[?&]filter=([^&]+)/) || [])[1] || 'min'
562568c870b1109f8b462727a15d214d71d892afTripp}).use('charts', 'test', 'console', function (Y)
b4da4dbaec018452f750d5ffc00c96e4eba47e9aTripp ChartTests = new Y.Test.Case({
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp name: "Chart Tests",
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp setUp: function() {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp var myDataValues = [
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {category:"5/1/2010", values:2000, expenses:3700, revenue:2200},
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {category:"5/2/2010", values:50, expenses:9100, revenue:100},
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {category:"5/3/2010", values:400, expenses:1100, revenue:1500},
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {category:"5/4/2010", values:200, expenses:1900, revenue:2800},
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp {category:"5/5/2010", values:5000, expenses:5000, revenue:2650}
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp var mychart = new Y.Chart({width:400, height:300, dataProvider:myDataValues});
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp tearDown: function() {
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp //Test to ensure that all items in the series collection are of the correct type.
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp testGetSeriesByIndex: function()
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp var series = this.chart.getSeries(0),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp //Test to ensure that all items in the series collection are of the correct type.
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp testGetSeriesByKey: function()
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp var series = this.chart.getSeries("revenue"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp //Test to ensure the series axes are numeric and the category axis is of type category
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp testGetAxesByKey: function()
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp var category = this.chart.getAxisByKey("category"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp values = this.chart.getAxisByKey("values"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp //Test to ensure that getCategoryAxis returns a category axis
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp testGetCategoryAxis: function()
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp var category = this.chart.get("categoryAxis"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp //Test that the graph attribute is of type Graph
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp testGetGraph: function()
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp Y.Assert.isInstanceOf(Y.Graph, this.chart.get("graph"));
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp //Test to ensure that the axes hash contains AxisRenderer instances
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp testGetAxes: function()
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp var assert = Y.Assert,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp axes = this.chart.get("axes"),
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp for(i in axes)
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp //Test to ensure that default series keys are correct
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp testGetSeriesKeys: function()
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp var assert = Y.Assert,
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp selectedIndex,
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp testKeys = ['values', 'expenses', 'revenue'],
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp newArray = [],
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp actualKeys = this.chart.get("seriesKeys"),
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp assert.areEqual(actualKeys.length, testKeys.length, "Actual seriesKeys array is not the correct length.");
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp selectedIndex = YArray.indexOf(actualKeys, testKeys[i]);
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp assert.isNotNull(selectedIndex + 1, "The seriesKeys array should contain the following key: " + testKeys[i] + ".");
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp newArray.push(actualKeys[selectedIndex]);
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp throw new Error("The actual seriesKeys array should but does not contain " + testKeys[i] + ".");
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp assert.areEqual(newArray.length, actualKeys.length, "The seriesKeys array has more keys than it should.");
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp //Test to ensure default attributes are correct
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp testGetDefaultAttributes: function()
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp var assert = Y.Assert,
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp direction: "horizontal",
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp type: "combo",
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp valueAxisName: "values",
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp categoryAxisName: "category",
9fe78cb6e8c09c2e8e2a4628772453f0b9c1bcb7Tripp categoryKey: "category",
9fe78cb6e8c09c2e8e2a4628772453f0b9c1bcb7Tripp categoryType: "category",
9fe78cb6e8c09c2e8e2a4628772453f0b9c1bcb7Tripp interactionType: "marker"
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp for(i in attrs)
82d0cf8c731b23f6a2fbb31e3e696e629444363eTripp assert.areEqual(chart.get(i), attrs[i], "The attribute " + i + " should equal " + attrs[i] + ".");
2283e3a241de1db1aaba484b89c8aadd89446b36Tripp suite.add(ChartTests);
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp //create the console
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp var r = new Y.Console({
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp newestOnTop : false,
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp style: 'block' // to anchor in the example content
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp r.render('#testLogger');
e393eced613f9b4a5fb6bdd461d0e0bf5064d5ecTripp //run the tests