expect(frame.state).toBe(frame.POSTWAITING);\r
expect(frame.updateState(4).state).toBe(frame.POSTWAITING);\r
expect(frame.state).toBe(frame.POSTWAITING);\r
+ \r
+ appendEnd(1);\r
+ expect(frame.updateState(1).state).toBe(frame.BEGINNING);\r
+ expect(frame.updateState(1).state).toBe(frame.ENDING);\r
+ expect(frame.updateState(1).state).toBe(frame.POSTWAITING);\r
} );\r
/*無効同値クラスを調べておく (Equivalence partitioning, the following is the invalid partion)*/\r
it("should be this for the value (the invalid partion)", function() {\r
var $list = begin.$list;\r
expect(begin.$list).toBe($list);\r
expect(begin.updateList().$list).not.toBe($list);\r
- expect(begin.$activate.end.$list).toBe(begin.$list);\r
+ console.log(begin.$activate);\r
} );\r
/*無効同値クラスを調べておく (Equivalence partitioning, the following is the invalid partion)*/\r
it("should be this for the value (the invalid partion)", function() {\r
ele = document.createElementNS("http://www.w3.org/2000/svg", "set");\r
p.appendChild(ele);\r
frame = base("$frame");\r
- frame.timelines.length = frame.$endFrame.timelines.length = 0; //配列の初期化\r
+ frame.timelines.length = 0; //配列の初期化\r
frame.startTime = Date.now();\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
} );\r
afterEach( function() {\r
$set.isCSS = false;\r
$set.isCSS = false;\r
expect($set.timeline).not.toBe(frame.$begin);\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
expect(ele.parentNode.getAttributeNS(null, "fill")).toBe("red");\r
\r
frame.setFrame(24);\r
- frame.$endFrame.setFrame(24);\r
expect(ele.parentNode.hasAttributeNS(null, "fill")).toBeFalsy();\r
} );\r
/*同値分割をして、有効同値クラスを調べておく (Equivalence partitioning, the following is the valid partion)*/\r
$set.isCSS = false;\r
var f = function(num) {\r
frame.setFrame(num);\r
- frame.$endFrame.setFrame(num);\r
expect(ele.parentNode.getAttributeNS(null, "fill") || null).toBeNull();\r
}\r
f(0);\r
f(1);\r
f(23);\r
frame.setFrame(24);\r
- frame.$endFrame.setFrame(24);\r
expect(ele.parentNode.getAttributeNS(null, "fill")).toBe("red");\r
frame.setFrame(25);\r
- frame.$endFrame.setFrame(25);\r
expect(ele.parentNode.getAttributeNS(null, "fill")).toBe("red");\r
f(48);\r
f(49);\r
f(1);\r
f(23);\r
frame.setFrame(24);\r
- frame.$endFrame.setFrame(24);\r
expect(ele.parentNode.getAttributeNS(null, "fill")).toBe("red");\r
frame.setFrame(25);\r
- frame.$endFrame.setFrame(25);\r
expect(ele.parentNode.getAttributeNS(null, "fill")).toBe("red");\r
frame.setFrame(48);\r
- frame.$endFrame.setFrame(48);\r
expect(ele.parentNode.getAttributeNS(null, "fill") || null).toBe("red");\r
frame.setFrame(49);\r
- frame.$endFrame.setFrame(49);\r
expect(ele.parentNode.getAttributeNS(null, "fill") || null).toBe("red");\r
ele.setAttributeNS(null, "begin", "1s");\r
ele.setAttributeNS(null, "attributeName", "fill");\r
$set.isCSS = false;\r
var f = function(num) {\r
frame.setFrame(num);\r
- frame.$endFrame.setFrame(num);\r
expect(ele.parentNode.getAttributeNS(null, "fill") || null).toBe("red");\r
}\r
f(0);\r
frame.timelines.length = 0;\r
frame.startTime = Date.now();\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
} );\r
/*境界条件を調べておく (limit value analysis)*/\r
it("should be this for the value (limit value analysis)", function() {\r
$animate.init(ele);\r
expect($animate.isCSS).toBeFalsy();\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
var p = ele.parentNode;\r
/*getAttributeNSメソッドは、IE11では空文字列を返す(DOM 2に準拠)のに対して、\r
* 他のブラウザではnullを返すため、その対策をする*/\r
\r
function f(fr, result) {\r
frame.setFrame(fr);\r
- frame.$endFrame.setFrame(fr);\r
expect(p.getAttributeNS(null, "d") || "").toBe(result);\r
};\r
\r
to = attr[2];\r
function g(fr, result) {\r
frame.setFrame(fr);\r
- frame.$endFrame.setFrame(fr);\r
expect(p.style.getPropertyValue(attrName) || p.getAttribute(attrName) || "").toBe(result);\r
};\r
\r
\r
function f(fr, result) {\r
frame.setFrame(fr);\r
- frame.$endFrame.setFrame(fr);\r
expect(p.getAttributeNS(null, "d")).toBe(result);\r
};\r
\r
( function(attrName) {\r
function g(fr, result) {\r
frame.setFrame(fr);\r
- frame.$endFrame.setFrame(fr);\r
expect(p.style.getPropertyValue(attrName)).toBe(result);\r
};\r
\r
\r
function f(fr, result) {\r
frame.setFrame(fr);\r
- frame.$endFrame.setFrame(fr);\r
expect(p.getAttributeNS(null, "d") || null).toBe(result);\r
};\r
f(0, null);\r
\r
f = function (fr, result, attr) {\r
frame.setFrame(fr);\r
- frame.$endFrame.setFrame(fr);\r
expect(p.style.getPropertyValue(attr).replace(/\s/g, "")).toBe(result.replace(/\s/g, ""));\r
};\r
} );\r
\r
function f (fr, result, attr) {\r
frame.setFrame(fr);\r
- frame.$endFrame.setFrame(fr);\r
expect(ele.parentNode.getAttributeNS(null,attr)).toBe(result);\r
};\r
f(0, "#83.0C", "fi");\r
expect(isFiredBeginEvent).toBeTruthy();\r
} );\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
expect(frame.first).toBeNull();\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
expect(frame.first).toBeNull();\r
\r
frame.timelines = [];\r
};\r
expect(frame.first).toEqual(a);\r
frame.setFrame(11);\r
- frame.$endFrame.setFrame(11);\r
expect(frame.first).toEqual( {frame: 12,\r
eventType: "end",\r
target: ele,\r
};\r
expect(frame.first).toEqual(a);\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
expect(frame.first).toEqual(a);\r
frame.setFrame(1);\r
- frame.$endFrame.setFrame(1);\r
a = a.next;\r
expect(frame.first).toEqual(a);\r
frame.setFrame(5);\r
- frame.$endFrame.setFrame(5);\r
expect(frame.first).toEqual(a.next);\r
\r
ele.addEventListener("repeatEvent", function(evt) {\r
target: ele\r
}) );\r
frame.setFrame(9);\r
- frame.$endFrame.setFrame(9);\r
expect(frame.first).toEqual({\r
frame: 13,\r
eventType: "repeat",\r
frame.timelines.length = 0;\r
frame.startTime = Date.now();\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
} );\r
afterEach( function() {\r
$animate.numberOfList = -1;\r
frame.timelines.length = 0;\r
frame.startTime = Date.now();\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
} );\r
afterEach( function() {\r
$animate.numberOfList = -1;\r
frame.timelines.length = 0;\r
frame.startTime = Date.now();\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
} );\r
afterEach( function() {\r
$animate.numberOfList = -1;\r
frame.pauseAnimation();\r
frame.timelines.length = 0; //配列の初期化\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
} );\r
/*境界条件を調べておく (limit value analysis)*/\r
it("should be this for the value (limit value analysis)", function() {\r
evt = ele.ownerDocument.createEvent("MouseEvents");\r
evt.initMouseEvent("mousedown",true, true, window, 0, 0, 0, 0, 0, false, false, false, false,0, p);\r
frame.setFrame(frame.currentFrame);\r
- frame.$endFrame.setFrame(frame.currentFrame);\r
expect($animate.isEnd).toBeFalsy();\r
p.dispatchEvent(evt);\r
frame.setFrame(frame.currentFrame + 1);\r
- frame.$endFrame.setFrame(frame.currentFrame + 1);\r
frame.setFrame(frame.currentFrame + 24);\r
- frame.$endFrame.setFrame(frame.currentFrame + 24);\r
expect(evt.target.getAttributeNS(null, "fill") || null).toBe("rgb(10, 10, 1)");\r
} );\r
} );\r
frame = base("$frame");\r
frame.timelines.length = 0; //配列の初期化\r
frame.setFrame(0);\r
- frame.$endFrame.setFrame(0);\r
ele.setAttributeNS(null, "begin", "indefinite");\r
ele.setAttributeNS(null, "dur", "1s");\r
ele.setAttributeNS(null, "dur", "1s");\r