* stringプロパティを解析して、フレーム数を算出し、結果を$frame.beginプロパティに出力\r
* また、イベントリスナーに登録をしておく*/\r
parse: function() {\r
+ /*初期値を設定*/\r
this.begin = 0;\r
+ this.isResolved = false;\r
var str = this.trim(this.string),\r
plusminus = str.search(/[\+\-]/),\r
event = null,\r
/*アニメーション中かどうかの判別\r
* 1, idling アニメがまだ始まっていない待機状態\r
* 2, playing アニメーションの再生中\r
- * 3, ending アニメーションを終了させている最中(終了処理はまだしていない)*/\r
+ */\r
state: "idling",\r
\r
/*開始を設定されたタイムライン ($beginオブジェクト)*/\r
begin.string="click+0";\r
expect(begin.parse().begin).toBe(0);\r
expect(begin.eventOffset).toBe(0);\r
+ expect(begin.isResolved).toBeFalsy();\r
begin.string = "click+1";\r
expect(begin.parse().begin).toBe(1000*begin.fpms);\r
expect(begin.eventOffset).toBe(1000*begin.fpms);\r
begin.string = "click+0ms";\r
expect(begin.parse().begin).toBe(0);\r
expect(begin.eventOffset).toBe(0);\r
+ expect(begin.isResolved).toBeFalsy();\r
begin.string = "click-0ms";\r
expect(begin.parse().begin).toBe(0);\r
expect(begin.eventOffset).toBe(0);\r
begin.string="id.click+0";\r
expect(begin.parse().begin).toBe(0);\r
expect(begin.eventOffset).toBe(0);\r
+ expect(begin.isResolved).toBeFalsy();\r
begin.string = "id.click+1";\r
expect(begin.parse().begin).toBe(1000*begin.fpms);\r
expect(begin.eventOffset).toBe(1000*begin.fpms);\r
+ expect(begin.isResolved).toBeFalsy();\r
begin.string = " id . click ";\r
expect(begin.parse().begin).toBe(0);\r
expect(begin.eventOffset).toBe(0);\r
+ expect(begin.isResolved).toBeFalsy();\r
begin.string = "id.click+0ms";\r
expect(begin.parse().begin).toBe(0);\r
expect(begin.eventOffset).toBe(0);\r
expect(begin.parse().begin).toBe(0);\r
expect(begin.isResolved).toBeFalsy();\r
\r
+ begin.isResolved = true;\r
begin.string = "indefinite";\r
expect(begin.parse().begin).toBe(Math.floor( Number.MAX_VALUE * begin.fpms));\r
expect(begin.isResolved).toBeFalsy();\r