table.core.js 2.2 KB
Newer Older
T
taoqili 已提交
1 2 3 4 5 6 7
/**
 * Created with JetBrains PhpStorm.
 * User: taoqili
 * Date: 13-2-21
 * Time: 下午1:31
 * To change this template use File | Settings | File Templates.
 */
T
taoqili 已提交
8 9 10 11 12 13 14
function getTable(str) {
    var div = document.getElementById("testTable");
    if(!div){
        div = document.createElement("div");
        div.id = "testTable";
        document.body.appendChild(div);
    }
T
taoqili 已提交
15
    div.innerHTML = "<table border='1'>" + str + "</table>";
T
taoqili 已提交
16 17
    return div.firstChild;
}
T
taoqili 已提交
18
UT = UE.UETable;
T
taoqili 已提交
19
test("create UETable",function(){
T
taoqili 已提交
20
    var table = getTable("<tr><td>ddd</td></tr>"),
T
taoqili 已提交
21
        ut = new UT(table);
T
taoqili 已提交
22
    ok(ut.table === table,"UT对象创建成功");
T
taoqili 已提交
23
    ok(ut.colsNum == 1 && ut.rowsNum == 1,"单元格行、列数为1");
T
taoqili 已提交
24 25
});

T
taoqili 已提交
26 27 28
test("getMaxRows",function(){
    var table = getTable("<tr><td>1</td><td>2</td><td>3</td></tr>" +
                         "<tr><td>1</td><td>2</td><td>3</td></tr>"),
T
taoqili 已提交
29
        ut = new UT(table);
T
taoqili 已提交
30 31
    var maxRows = ut.getMaxRows();
    equal(maxRows,2,"最大行数为2");
T
taoqili 已提交
32
    table = getTable("<tr><td rowspan='3'>1</td><td>2</td><td rowspan='2'>3</td></tr>" +
T
taoqili 已提交
33
                     "<tr><td>2</td></tr>");
T
taoqili 已提交
34 35
    ut = new UT(table);
    maxRows = ut.getMaxRows();
T
taoqili 已提交
36 37 38 39 40 41 42 43
    equal(maxRows,3,"最大行数为3");
});
test("getMaxCols",function(){
    var table = getTable("<tr><td>1</td><td>2</td><td>3</td></tr>" +
                         "<tr><td>1</td><td>2</td><td>3</td></tr>"),
        ut = new UT(table);
    var maxCols = ut.getMaxCols();
    equal(maxCols,3,"最大列数为3");
T
taoqili 已提交
44

T
taoqili 已提交
45 46 47 48 49
    table = getTable("<tr><td rowspan='3'>1</td><td>2</td><td rowspan='2'>3</td></tr>" +
        "<tr><td>2</td><td colspan='3'></td></tr>");
    ut = new UT(table);
    maxCols = ut.getMaxCols();
    equal(maxCols,6,"最大列数为6");
T
taoqili 已提交
50 51 52 53 54 55 56 57 58 59 60
});

test("getSameEndPosCells",function(){
    var table = getTable("<tr><td rowspan='2'>1</td><td>2</td><td>3</td></tr>" +
                         "<tr><td>2</td><td>3</td></tr>"),
        ut = new UT(table);
    var cell = table.rows[0].cells[0],
        cells1 = ut.getSameEndPosCells(cell,"x"),
        cells2 = ut.getSameEndPosCells(cell,"y");
    ok(cells1.length == 1, "获取到同样X轴结尾位置的cell1个");
    ok(cells2.length == 2, "获取到同样Y轴结尾位置的cell2个");
T
taoqili 已提交
61
});