Tests WebKitNamedFlowCollection interface

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Test WebKitNamedFlowCollection length property
PASS document.webkitGetNamedFlows().length is 0
PASS region1.style.webkitFlowFrom = 'flow1'; document.webkitGetNamedFlows().length is 1
PASS region2.style.webkitFlowFrom = 'flow2'; document.webkitGetNamedFlows().length is 2
PASS region1.style.webkitFlowFrom = ''; document.webkitGetNamedFlows().length is 1
PASS region2.style.webkitFlowFrom = ''; document.webkitGetNamedFlows().length is 0
Test WebKitNamedFlowCollection index getter
PASS (document.webkitGetNamedFlows()[0].name == 'flow1' && document.webkitGetNamedFlows()[1].name == 'flow2')         || (document.webkitGetNamedFlows()[0].name == 'flow2' && document.webkitGetNamedFlows()[1].name == 'flow1') is true
Test WebKitNamedFlowCollection name getter
PASS document.webkitGetNamedFlows().flow1.name is "flow1"
PASS document.webkitGetNamedFlows().flow2.name is "flow2"
PASS successfullyParsed is true

TEST COMPLETE

