datavjs/test/lib.stream.js
2012-10-17 02:24:45 +08:00

77 lines
3.7 KiB
JavaScript

module("Stream");
var stream = new 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");
});