datavjs/test/libs.stream.js
Theseue 712ae56273 add
import
2012-08-23 13:32:56 +08:00

81 lines
3.8 KiB
JavaScript

module("DataV.Stream")
//4 new function tickAttr, tickTextAttr, minorTickAttr, domainAttr, others are belong to d3
//view xamples in ../examples/axis/ to know the usage.
var stream = new DataV.Stream(document.createElement("div"),100,100);
test("Stream", function () {
equal(stream.type, "Stream", "Type should be Stream");
equal(stream instanceof DataV.Chart, true, "instanceof Chart");
equal(stream instanceof DataV.Stream, true, "instanceof Stream");
equal(typeof stream.getType, "function", "getTheme should be function");
});
test("setSource", function () {
stream.setSource([[1,2]]);
equal(stream.rawData.length, 1, "setSource no columnName ok");
equal(stream.rowName, undefined, "setSource no columnName ok");
equal(stream.columnName, undefined, "setSource no columnName ok");
equal(stream.source.length, 1, "setSource no columnName ok");
equal(stream.rowName, undefined, "setSource no columnName ok");
stream.setSource([[1,2],[3,4]]);
equal(stream.rawData.length, 2, "setSource no columnName ok");
equal(stream.rowName, undefined, "setSource no columnName ok");
equal(stream.columnName, undefined, "setSource no columnName ok");
equal(stream.source.length, 2, "setSource no columnName ok");
stream.setSource([["a","b"],[1,2]]);
equal(stream.rawData.length, 2, "setSource with columnName ok");
equal(stream.rowName, undefined, "setSource no rowName ok");
equal(stream.columnName.length, 2, "setSource with columnName ok");
equal(stream.columnName[0], "a", "setSource with columnName ok");
equal(stream.source.length, 1, "setSource with columnName ok");
stream.setSource([["a",1],["b",2]]);
equal(stream.rawData.length, 2, "setSource with rowName ok");
equal(stream.rowName.length, 2, "setSource with rowName ok");
equal(stream.rowName[0], "a", "setSource with rowName ok");
equal(stream.columnName, undefined, "setSource no columnName ok");
equal(stream.source.length, 2, "setSource with rowName ok");
stream.setSource([[,"a","b"],["c",1,2],["d",3,4]]);
equal(stream.rawData.length, 3, "setSource with rowName ok");
equal(stream.rowName.length, 2, "setSource with rowName ok");
equal(stream.rowName[0], "c", "setSource with rowName ok");
equal(stream.columnName.length, 2, "setSource with columnName ok");
equal(stream.columnName[0], "a", "setSource with columnName ok");
equal(stream.source.length, 2, "setSource with rowName ok");
stream.setOptions({columnNameUsed: true});
stream.setSource([[1,2,3],[4,5,6],[7,8,9]]);
equal(stream.rawData.length, 3, "setSource with forced columnNameUsed ok");
equal(stream.rowName, undefined, "");
equal(stream.columnName.length, 3, "");
equal(stream.columnName[2], 3, "");
equal(stream.source.length, 2, "");
stream.setOptions({columnNameUsed: "auto", rowNameUsed: true});
stream.setSource([[1,2,3],[4,5,6],[7,8,9]]);
equal(stream.rawData.length, 3, "setSource with forced rowNameUsed ok");
equal(stream.rowName.length, 3, "");
equal(stream.rowName[2], 7, "");
equal(stream.columnName, undefined, "");
equal(stream.source.length, 3, "");
stream.setOptions({columnNameUsed: true, rowNameUsed: true});
stream.setSource([[1,2,3],[4,5,6],[7,8,9]]);
equal(stream.rawData.length, 3, "setSource with forced rowNameUsed and columnNameUsed ok");
equal(stream.rowName.length, 2, "");
equal(stream.rowName[1], 7, "");
equal(stream.columnName.length, 2, "");
equal(stream.columnName[1], 3, "");
equal(stream.source.length, 2, "");
stream.setOptions({columnNameUsed: "auto", rowNameUsed: "auto"});
raises(function(){
stream.setSource([[,2,3],[4,5,6],[7,8,9]]);
}, "setSource can not judge column or row situation, throw an error");
});