diff --git a/changelog.md b/changelog.md index 863646487c..c60ea6a889 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,6 @@ # 更新日志 2.0(2020-05) +- 填加bi-user-select-enable和bi-user-select-disable通用类名 - 修复树系列多层半选状态下,勾选祖先节点,后代节点不受影响的问题 - 修复上传控件多个title问题 diff --git a/src/case/button/node/__test__/node.arrow.test.js b/src/case/button/node/__test__/node.arrow.test.js new file mode 100644 index 0000000000..4b2a08ef5e --- /dev/null +++ b/src/case/button/node/__test__/node.arrow.test.js @@ -0,0 +1,79 @@ +/** + * @author Kobi + * @date 2020/5/12 + */ + +describe("test node.arrow", function () { + + /** + * test_author_kobi + **/ + it("doRedMark 和 unRedMark", function () { + var widget = BI.Test.createWidget({ + type: "bi.arrow_group_node", + text: "要标红的AAA", + }); + widget.doRedMark("AAA"); + expect(widget.element.find(".bi-keyword-red-mark").length).to.not.equal(0); + widget.unRedMark(); + expect(widget.element.find(".bi-keyword-red-mark").length).to.equal(0); + widget.destroy(); + }); + + /** + * test_author_kobi + **/ + it("doClick", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.arrow_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".expander-down-font").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".expander-right-font").length).to.not.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); + + /** + * test_author_kobi + **/ + it("点击图标", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.arrow_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".expander-down-font").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".expander-right-font").length).to.not.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); + + /** + * test_author_kobi + **/ + it("setText", function () { + var widget = BI.Test.createWidget({ + type: "bi.arrow_group_node", + text: "AAA", + }); + widget.setText("BBB"); + expect(widget.element.find(".bi-text").text()).to.equal("BBB"); + widget.destroy(); + }); +}); diff --git a/src/case/button/node/__test__/node.first.plus.test.js b/src/case/button/node/__test__/node.first.plus.test.js new file mode 100644 index 0000000000..28912a1caa --- /dev/null +++ b/src/case/button/node/__test__/node.first.plus.test.js @@ -0,0 +1,66 @@ +/** + * @author Kobi + * @date 2020/5/12 + */ + +describe("test node.first.plus", function () { + + /** + * test_author_kobi + **/ + it("doRedMark 和 unRedMark", function () { + var widget = BI.Test.createWidget({ + type: "bi.first_plus_group_node", + text: "要标红的AAA", + }); + widget.doRedMark("AAA"); + expect(widget.element.find(".bi-keyword-red-mark").length).to.not.equal(0); + widget.unRedMark(); + expect(widget.element.find(".bi-keyword-red-mark").length).to.equal(0); + widget.destroy(); + }); + + /** + * test_author_kobi + **/ + it("doClick", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.first_plus_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".tree-expand-icon-type2").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".tree-expand-icon-type2").length).to.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); + + /** + * test_author_kobi + **/ + it("点击图标", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.first_plus_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".tree-expand-icon-type2").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".tree-expand-icon-type2").length).to.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); +}); diff --git a/src/case/button/node/__test__/node.icon.arrow.test.js b/src/case/button/node/__test__/node.icon.arrow.test.js new file mode 100644 index 0000000000..d5bd74dbb6 --- /dev/null +++ b/src/case/button/node/__test__/node.icon.arrow.test.js @@ -0,0 +1,66 @@ +/** + * @author Kobi + * @date 2020/5/12 + */ + +describe("test node.icon.arrow", function () { + + /** + * test_author_kobi + **/ + it("doRedMark 和 unRedMark", function () { + var widget = BI.Test.createWidget({ + type: "bi.icon_arrow_node", + text: "要标红的AAA", + }); + widget.doRedMark("AAA"); + expect(widget.element.find(".bi-keyword-red-mark").length).to.not.equal(0); + widget.unRedMark(); + expect(widget.element.find(".bi-keyword-red-mark").length).to.equal(0); + widget.destroy(); + }); + + /** + * test_author_kobi + **/ + it("doClick", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.icon_arrow_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".expander-down-font").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".expander-right-font").length).to.not.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); + + /** + * test_author_kobi + **/ + it("点击图标", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.icon_arrow_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".expander-down-font").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".expander-right-font").length).to.not.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); +}); diff --git a/src/case/button/node/__test__/node.last.plus.test.js b/src/case/button/node/__test__/node.last.plus.test.js new file mode 100644 index 0000000000..53fab71d98 --- /dev/null +++ b/src/case/button/node/__test__/node.last.plus.test.js @@ -0,0 +1,66 @@ +/** + * @author Kobi + * @date 2020/5/12 + */ + +describe("test node.last.plus", function () { + + /** + * test_author_kobi + **/ + it("doRedMark 和 unRedMark", function () { + var widget = BI.Test.createWidget({ + type: "bi.last_plus_group_node", + text: "要标红的AAA", + }); + widget.doRedMark("AAA"); + expect(widget.element.find(".bi-keyword-red-mark").length).to.not.equal(0); + widget.unRedMark(); + expect(widget.element.find(".bi-keyword-red-mark").length).to.equal(0); + widget.destroy(); + }); + + /** + * test_author_kobi + **/ + it("doClick", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.last_plus_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".tree-expand-icon-type4").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".tree-expand-icon-type4").length).to.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); + + /** + * test_author_kobi + **/ + it("点击图标", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.last_plus_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".tree-expand-icon-type4").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".tree-expand-icon-type4").length).to.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); +}); diff --git a/src/case/button/node/__test__/node.mid.plus.test.js b/src/case/button/node/__test__/node.mid.plus.test.js new file mode 100644 index 0000000000..d5c899c28f --- /dev/null +++ b/src/case/button/node/__test__/node.mid.plus.test.js @@ -0,0 +1,66 @@ +/** + * @author Kobi + * @date 2020/5/12 + */ + +describe("test node.mid.plus", function () { + + /** + * test_author_kobi + **/ + it("doRedMark 和 unRedMark", function () { + var widget = BI.Test.createWidget({ + type: "bi.mid_plus_group_node", + text: "要标红的AAA", + }); + widget.doRedMark("AAA"); + expect(widget.element.find(".bi-keyword-red-mark").length).to.not.equal(0); + widget.unRedMark(); + expect(widget.element.find(".bi-keyword-red-mark").length).to.equal(0); + widget.destroy(); + }); + + /** + * test_author_kobi + **/ + it("doClick", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.mid_plus_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".tree-expand-icon-type3").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".tree-expand-icon-type3").length).to.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); + + /** + * test_author_kobi + **/ + it("点击图标", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.mid_plus_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".tree-expand-icon-type3").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".tree-expand-icon-type3").length).to.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); +}); diff --git a/src/case/button/node/__test__/node.multilayer.icon.arrow.test.js b/src/case/button/node/__test__/node.multilayer.icon.arrow.test.js new file mode 100644 index 0000000000..c060e5499f --- /dev/null +++ b/src/case/button/node/__test__/node.multilayer.icon.arrow.test.js @@ -0,0 +1,73 @@ +/** + * @author Kobi + * @date 2020/5/12 + */ + +describe("test node.multilayer.icon.arrow", function () { + + /** + * test_author_kobi + **/ + it("doRedMark 和 unRedMark", function () { + var widget = BI.Test.createWidget({ + type: "bi.multilayer_icon_arrow_node", + text: "要标红的AAA", + layer: 3, + }); + expect(widget.isOnce()).to.equal(true); + widget.doRedMark("AAA"); + expect(widget.element.find(".bi-keyword-red-mark").length).to.not.equal(0); + widget.unRedMark(); + expect(widget.element.find(".bi-keyword-red-mark").length).to.equal(0); + widget.destroy(); + }); + + /** + * test_author_kobi + **/ + it("isSelected 和 setSelected", function () { + var widget = BI.Test.createWidget({ + type: "bi.multilayer_icon_arrow_node", + text: "AAA", + layer: 3, + }); + widget.setSelected(true); + expect(widget.element.find(".active").length).to.not.equal(0); + expect(widget.isSelected()).to.equal(true); + widget.destroy(); + }); + + /** + * test_author_kobi + **/ + it("doClick", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.multilayer_icon_arrow_node", + text: "AAA", + layer: 3, + }); + BI.nextTick(function () { + widget.element.click(); + expect(widget.isSelected()).to.equal(true); + widget.destroy(); + done(); + }); + }); + + /** + * test_author_kobi + **/ + it("点击图标", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.multilayer_icon_arrow_node", + text: "AAA", + layer: 3, + }); + BI.nextTick(function () { + widget.node.element.click(); + expect(widget.element.find(".expander-down-font").length).to.not.equal(0); + widget.destroy(); + done(); + }); + }); +}); diff --git a/src/case/button/node/__test__/node.plus.test.js b/src/case/button/node/__test__/node.plus.test.js new file mode 100644 index 0000000000..aebcf46bf1 --- /dev/null +++ b/src/case/button/node/__test__/node.plus.test.js @@ -0,0 +1,66 @@ +/** + * @author Kobi + * @date 2020/5/12 + */ + +describe("test node.plus", function () { + + /** + * test_author_kobi + **/ + it("doRedMark 和 unRedMark", function () { + var widget = BI.Test.createWidget({ + type: "bi.plus_group_node", + text: "要标红的AAA", + }); + widget.doRedMark("AAA"); + expect(widget.element.find(".bi-keyword-red-mark").length).to.not.equal(0); + widget.unRedMark(); + expect(widget.element.find(".bi-keyword-red-mark").length).to.equal(0); + widget.destroy(); + }); + + /** + * test_author_kobi + **/ + it("doClick", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.plus_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".tree-expand-icon-type1").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.element.click(); + expect(widget.element.find(".tree-expand-icon-type1").length).to.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); + + /** + * test_author_kobi + **/ + it("点击图标", function (done) { + var widget = BI.Test.createWidget({ + type: "bi.plus_group_node", + text: "AAA", + }); + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".tree-expand-icon-type1").length).to.not.equal(0); + BI.delay(function () { + BI.nextTick(function () { + widget.checkbox.element.click(); + expect(widget.element.find(".tree-expand-icon-type1").length).to.equal(0); + widget.destroy(); + done(); + }); + }, 300); + }); + }); +}); diff --git a/src/case/editor/__test__/editor.clear.test.js b/src/case/editor/__test__/editor.clear.test.js index 1eea576e84..7181a769ec 100644 --- a/src/case/editor/__test__/editor.clear.test.js +++ b/src/case/editor/__test__/editor.clear.test.js @@ -89,4 +89,22 @@ describe("clear_editor", function () { editor.destroy(); }); + /** + * test_author_windy + */ + it("getValue1", function () { + var editor = BI.Test.createWidget({ + type: "bi.clear_editor", + width: 300, + value: "12346 7890", + watermark: "添加合法性判断", + errorText: "长度必须大于4", + validationChecker: function () { + return this.getValue().length > 4; + } + }); + expect(editor.getValue()).to.equal("12346 7890"); + editor.destroy(); + }); + }); \ No newline at end of file diff --git a/src/case/editor/editor.clear.js b/src/case/editor/editor.clear.js index 8c6c0f5915..372d31bdd1 100644 --- a/src/case/editor/editor.clear.js +++ b/src/case/editor/editor.clear.js @@ -144,8 +144,7 @@ BI.ClearEditor = BI.inherit(BI.Widget, { getValue: function () { if (this.isValid()) { - var res = this.editor.getValue().match(/[\S]+/g); - return BI.isNull(res) ? "" : res[res.length - 1]; + return this.editor.getValue(); } }, diff --git a/src/case/linersegment/linear.segment.js b/src/case/linersegment/linear.segment.js index c43bf2cc6e..22cc5fcd96 100644 --- a/src/case/linersegment/linear.segment.js +++ b/src/case/linersegment/linear.segment.js @@ -3,6 +3,9 @@ BI.LinearSegment = BI.inherit(BI.Widget, { props: { baseCls: "bi-linear-segment bi-split-bottom", items: [], + layouts: [{ + type: "bi.center" + }], height: 29 }, @@ -14,9 +17,7 @@ BI.LinearSegment = BI.inherit(BI.Widget, { type: "bi.linear_segment_button", height: o.height - 1 }), - layout: [{ - type: "bi.center" - }], + layouts: o.layouts, listeners: [{ eventName: "__EVENT_CHANGE__", action: function () { diff --git a/src/component/treevaluechooser/combo.listtreevaluechooser.js b/src/component/treevaluechooser/combo.listtreevaluechooser.js index 076849dcb0..4286b9cd7f 100644 --- a/src/component/treevaluechooser/combo.listtreevaluechooser.js +++ b/src/component/treevaluechooser/combo.listtreevaluechooser.js @@ -52,8 +52,8 @@ BI.ListTreeValueChooserInsertCombo = BI.inherit(BI.AbstractListTreeValueChooser, } }, { eventName: BI.MultiTreeListCombo.EVENT_CLICK_ITEM, - action: function () { - self.fireEvent(BI.ListTreeValueChooserInsertCombo.EVENT_CLICK_ITEM); + action: function (v) { + self.fireEvent(BI.ListTreeValueChooserInsertCombo.EVENT_CLICK_ITEM, v); } }, { eventName: BI.MultiTreeListCombo.EVENT_SEARCHING, diff --git a/src/component/treevaluechooser/combo.treevaluechooser.insert.js b/src/component/treevaluechooser/combo.treevaluechooser.insert.js index f89032c923..3527c5d3a2 100644 --- a/src/component/treevaluechooser/combo.treevaluechooser.insert.js +++ b/src/component/treevaluechooser/combo.treevaluechooser.insert.js @@ -51,8 +51,8 @@ BI.TreeValueChooserInsertCombo = BI.inherit(BI.AbstractTreeValueChooser, { } }, { eventName: BI.MultiTreeInsertCombo.EVENT_CLICK_ITEM, - action: function () { - self.fireEvent(BI.TreeValueChooserInsertCombo.EVENT_CLICK_ITEM); + action: function (v) { + self.fireEvent(BI.TreeValueChooserInsertCombo.EVENT_CLICK_ITEM, v); } }, { eventName: BI.MultiTreeInsertCombo.EVENT_SEARCHING, diff --git a/src/component/treevaluechooser/combo.treevaluechooser.js b/src/component/treevaluechooser/combo.treevaluechooser.js index 32e8fac3ed..a859fed0ff 100644 --- a/src/component/treevaluechooser/combo.treevaluechooser.js +++ b/src/component/treevaluechooser/combo.treevaluechooser.js @@ -51,8 +51,8 @@ BI.TreeValueChooserCombo = BI.inherit(BI.AbstractTreeValueChooser, { } }, { eventName: BI.MultiTreeCombo.EVENT_CLICK_ITEM, - action: function () { - self.fireEvent(BI.TreeValueChooserCombo.EVENT_CLICK_ITEM); + action: function (v) { + self.fireEvent(BI.TreeValueChooserCombo.EVENT_CLICK_ITEM, v); } }, { eventName: BI.MultiTreeCombo.EVENT_SEARCHING, diff --git a/src/core/__test__/alias.test.js b/src/core/__test__/alias.test.js index 51297986d8..9c2a1920ed 100644 --- a/src/core/__test__/alias.test.js +++ b/src/core/__test__/alias.test.js @@ -31,4 +31,105 @@ describe("aliasFunctionTest", function () { expect(encodeString).to.equal("tableName120"); expect(BI.decodeURIComponent(encodeString)).to.equal(targetString); }); + + /** + * test_author_kobi + **/ + it("cjkEncode 和 cjkDecode ", function () { + expect(BI.cjkEncode("测试")).to.eql("[6d4b][8bd5]"); + expect(BI.cjkEncode(123)).to.eql(123); + expect(BI.cjkDecode("[6d4b][8bd5]")).to.eql("测试"); + expect(BI.cjkDecode("6d4b 8bd5")).to.eql("6d4b 8bd5"); + expect(BI.cjkDecode(null)).to.eql(""); + }); + + /** + * test_author_kobi + **/ + it("jsonEncode 和 jsonDecode", function () { + var jsonString = '{"a":1,"b":"测\\"试","c":[5,6],"d":null,"e":false}'; + var obj = { + a: 1, + b: '测"试', + c: [5, 6], + d: null, + e: false, + }; + expect(BI.jsonEncode(obj)).to.eql(jsonString); + expect(BI.jsonDecode(jsonString)).to.eql(obj); + + expect(BI.jsonEncode({ a: function(){return 1} })).to.eql('{"a":function(){return 1}}'); + expect(BI.jsonDecode("{__time__:878313600000}")).to.eql(new Date(878313600000)); + }); + + /** + * test_author_kobi + **/ + it("getEncodeURL", function () { + expect(BI.getEncodeURL("design/{tableName}/{fieldName}",{tableName: "A", fieldName: "a"})).to.eql("design/A/a"); + }); + + /** + * test_author_kobi + **/ + it("contentFormat", function () { + expect(BI.contentFormat("", "DTyyyy-MM-dd")).to.eql(""); + expect(BI.contentFormat(878313600000, "")).to.eql("878313600000"); + expect(BI.contentFormat("test", "T")).to.eql("test"); + expect(BI.contentFormat(878313600000, "E")).to.eql("9E11"); + expect(BI.contentFormat(1000.23456789, "0,000.####")).to.eql("1,000.2346"); + expect(BI.contentFormat(879051600000, "DTyyyy-MM-dd")).to.eql("1997-11-09"); + expect(BI.contentFormat(879051600000, "DTyyyy-MM-dd HH:mm:ss a")).to.eql("1997-11-09 13:00:00 pm"); + expect(BI.contentFormat(879051600000, "DTyyyy-MM-dd hh:mm:ss a")).to.eql("1997-11-09 01:00:00 pm"); + expect(BI.contentFormat(879051600000, "DTyyy-M-d H:m:s a")).to.eql("97-11-9 13:0:0 pm"); + expect(BI.contentFormat(879048000000, "DTyyy-M-d h:m:s a")).to.eql("97-11-9 12:0:0 pm"); + }); + + /** + * test_author_kobi + **/ + it("parseFmt", function () { + expect(BI.parseFmt("yyyy-MM-dd HH:mm:ss")).to.eql("%Y-%X-%d %H:%M:%S"); + expect(BI.parseFmt("yyyy-MM-d hh:mm:ss")).to.eql("%Y-%X-%e %I:%M:%S"); + expect(BI.parseFmt("")).to.eql(""); + }); + + /** + * test_author_kobi + **/ + it("str2Date", function () { + expect(BI.str2Date('2013-12-12', 'yyyy-MM-dd')).to.eql(new Date(2013, 11, 12)); + expect(BI.str2Date('2013-12-12', 123)).to.eql(null); + }); + + /** + * test_author_kobi + **/ + it("object2Number", function () { + expect(BI.object2Number(null)).to.eql(0); + expect(BI.object2Number(123)).to.eql(123); + expect(BI.object2Number("1.23")).to.eql(1.23); + expect(BI.object2Number({ a: 2 })).to.eql(NaN); + }); + + /** + * test_author_kobi + **/ + it("object2Date", function () { + expect(BI.object2Date(null)).to.eql(new Date()); + expect(BI.object2Date(new Date(1997, 10, 9))).to.eql(new Date(1997, 10, 9)); + expect(BI.object2Date(879051600000)).to.eql(new Date(879051600000)); + expect(BI.object2Time("1997-11-09")).to.eql(new Date(1997, 10, 9)); + expect(BI.object2Date({ a: 2 })).to.eql(new Date()); + }); + + /** + * test_author_kobi + **/ + it("object2Time", function () { + expect(BI.object2Time(null)).to.eql(new Date()); + expect(BI.object2Time(new Date(1997, 11, 9))).to.eql(new Date(1997, 11, 9)); + expect(BI.object2Time("1997-11-09 13:00:00")).to.eql(new Date(1997, 10, 9, 13, 0, 0)); + expect(BI.object2Time("13:00:00")).to.eql(new Date(1970, 0, 1, 13, 0, 0)); + }); }); diff --git a/src/core/__test__/base.test.js b/src/core/__test__/base.test.js index df933bae7c..ddc3fd130b 100644 --- a/src/core/__test__/base.test.js +++ b/src/core/__test__/base.test.js @@ -285,7 +285,7 @@ describe("baseFunctionTest", function () { it("number", function () { expect(BI.parseSafeInt(9007199254740992)).to.equal(9007199254740991); expect(BI.isNegativeInteger(-3)).to.equal(true); - expect(BI.isFloat(1.2)).to.equal(false); + expect(BI.isFloat(1.2)).to.equal(true); expect(BI.isOdd(1)).to.equal(true); expect(BI.isOdd("a")).to.equal(false); expect(BI.isEven("a")).to.equal(false); @@ -304,7 +304,132 @@ describe("baseFunctionTest", function () { expect(BI.camelize("background-color")).to.equal("backgroundColor"); expect(BI.escape("'\\")).to.equal("\\'\\\\"); expect(BI.leftPad("123", 5, "0")).to.equal("00123"); - var cls = 'my-class', text = 'Some text'; - expect(BI.format('