* $begin オブジェクトからの継承*/\r
} ).up("$activate").of( {\r
\r
- /*単純持続時間のパース去れる前の文字列*/\r
+ /*単純持続時間のパースされる前の文字列*/\r
dur: "indefinite",\r
\r
/*活動をストップさせるためのオブジェクト*/\r
/*eleの属性の値を、それぞれオブジェクトに割り当て*/\r
var begin = this.frame.$begin,\r
frame = begin.up().mix( {\r
- string: getAttr("begin"),\r
+ string: (getAttr("begin") || "0"),\r
$activate: begin.$activate.up().mix( {\r
dur: getAttr("dur"),\r
end: begin.$end.up().mix( {\r
}\r
/*属性を取得するためのインライン関数*/\r
function getAttr(name) {\r
- return ele.getAttributeNS(null, name);\r
+ return (ele.getAttributeNS(null, name) || null);\r
};\r
getAttr = begin = ele = void 0;\r
}\r
beforeEach( function() {\r
attr = base("$calcMode").$attribute.up("width");\r
base("$frame").timelines.length = 0;\r
+ base("$frame").startTime = Date.now();\r
} );\r
/*境界条件を調べておく (limit value analysis)*/\r
it("should be this for the value (limit value analysis)", function() {\r
attr.push(s);\r
expect(attr.element).toBe(p);\r
expect(attr.frame.timelines.length).toEqual(num);\r
+ var line = attr.frame.timelines[num-1];\r
+ expect(line.string).toBe("0");\r
+ var act = line.$activate;\r
+ expect(act.dur).toBeNull();\r
+ expect(act.end).toBeNull();\r
+ expect(act.repeatCount).toBeNull();\r
+ expect(act.repeatDur).toBeNull();\r
+ expect(act.min).toBe("0");\r
+ expect(act.max).toBe("indefinite");\r
\r
s.removeAttribute(attrName);\r
expect(s.hasAttributeNS(null, attrName)).toBeFalsy();\r