/*引数で指定した要素 ele の属性を解析して、フレームに追加する*/\r
push: function(/*Element Node*/ ele) {\r
if (!ele) {\r
- return;\r
+ return null;\r
}\r
this.element = ele.parentNode || null;\r
if (!( ele.hasAttribute("from") || ele.hasAttribute("to")\r
*「3.2.2. Animation function values」より引用\r
*http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues\r
*/\r
- return;\r
+ return null;\r
}\r
/*eleの属性の値を、それぞれオブジェクトに割り当て*/\r
var $frame = base("$frame"),\r
} );\r
$frame.addLine(frame);\r
this.frame.push(frame);\r
- }\r
+ } \r
+ getAttr = begin = ele = void 0;\r
+ return frame;\r
+\r
/*属性を取得するためのインライン関数*/\r
function getAttr(name) {\r
/*DOM Level2やIE11では、getAttributeNSメソッドは空文字を返す。他のブラウザではnullを返すことが多い\r
* http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-ElGetAttrNS*/\r
return (ele.getAttributeNS(null, name) || null);\r
};\r
- getAttr = begin = ele = void 0;\r
},\r
\r
/*setValuesメソッド\r
} );\r
} );\r
describe("A $attribute object", function() {\r
- describe("An push method", function() {\r
+ describe("A push method", function() {\r
var attr, s;\r
beforeEach( function() {\r
attr = base("$calcMode").$attribute.up("width");\r
it("should be this for the value (limit value analysis)", function() {\r
expect(attr.frame.length).toEqual(0);\r
expect(attr.element).toBeNull();\r
- attr.push();\r
+ expect(attr.push()).toBeNull();\r
expect(attr.element).toBeNull();\r
expect(attr.frame.length).toEqual(0);\r
expect(base("$frame").timelines.length).toEqual(0);\r
\r
- attr.push(s);\r
+ expect(attr.push(s)).toBeNull();\r
expect(attr.element).toBeNull();\r
expect(attr.frame.length).toEqual(0);\r
expect(base("$frame").timelines.length).toEqual(0);\r
\r
var p = document.createElement("g");\r
p.appendChild(s);\r
- attr.push(s);\r
+ expect(attr.push(s)).toBeNull();\r
expect(attr.element).toBe(p);\r
expect(attr.frame.length).toEqual(0);\r
expect(base("$frame").timelines.length).toEqual(0);\r
function check(attrName, num) {\r
s.setAttribute(attrName, "1");\r
expect(s.hasAttributeNS(null, attrName)).toBeTruthy();\r
- attr.push(s);\r
+ var l = attr.push(s);\r
expect(attr.element).toBe(p);\r
var timelines = base("$frame").timelines;\r
expect(timelines.length).toEqual(num);\r
var line = timelines[num-1];\r
expect(line).toBe(attr.frame[attr.frame.length-1]);\r
expect(line.string).toBe("0");\r
+ expect(line).toBe(l); //タイムラインのオブジェクトを返す\r
var act = line.$activate;\r
expect(act.dur).toBeNull();\r
expect(act.end).toBe(0);\r