this.state = play;\r
}\r
} else if (state === play) {\r
- if ( (f >= cacheBegin + this.activeTime)\r
- || (endTime >= cacheBegin) || (startTime > cacheBegin) ) {\r
+ if ( (endTime >= cacheBegin) || (startTime > cacheBegin) ) {\r
/*終了時刻に到達したか、再び開始イベントが発火されたとき*/\r
this.state = end;\r
- /*現時点を終了時刻とみなす*/\r
- this.end = f;\r
- /*activeTimeプロパティは、begin属性とend属性が反映されていないため、\r
- * beginEndプロパティに別に設定しておく*/\r
- (endTime > 0) && (this.beginEnd = endTime - startTime);\r
+ if (endTime > 0) {\r
+ /*endTimeを終了時刻とみなす*/\r
+ this.end = endTime;\r
+ /*activeTimeプロパティは、begin属性とend属性が反映されていないため、\r
+ * beginEndプロパティに別に設定しておく*/\r
+ this.beginEnd = endTime - startTime;\r
+ }\r
}\r
} else if (state === end) {\r
if (startTime > cacheBegin) {\r
expect(frame.updateState(0).state).toBe(frame.PLAYING);\r
expect(frame.begin).toBe(0);\r
expect(frame.updateState(1).state).toBe(frame.ENDING);\r
- expect(frame.end).toBe(1);\r
+ expect(frame.end).toBe(0);\r
expect(frame.beginEnd).toBe(Number.MAX_VALUE);\r
expect(frame.updateState(1).state).toBe(frame.BEGINNING);\r
expect(frame.begin).toBe(1);\r
ele = document.createElementNS("http://www.w3.org/2000/svg", "animate");\r
p.appendChild(ele);\r
frame = base("$frame");\r
+ frame.pauseAnimation();\r
frame.timelines.length = 0;\r
frame.startTime = Date.now();\r
frame.setFrame(0);\r