Mercurial > hg > webaudioevaluationtool
changeset 1015:9ad0ee1430de
Create_Test: Creates XML Document.
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Wed, 03 Jun 2015 12:07:07 +0100 |
parents | 4a0bfa7bef24 |
children | 3b24b06f93a1 |
files | test_create/test_create.html |
diffstat | 1 files changed, 56 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/test_create/test_create.html Wed Jun 03 11:19:32 2015 +0100 +++ b/test_create/test_create.html Wed Jun 03 12:07:07 2015 +0100 @@ -91,7 +91,63 @@ globalMetrics.appendChild(metric); } } + setup.appendChild(globalPreTest); + setup.appendChild(globalPostTest); + setup.appendChild(globalMetrics); + xmlDoc.appendChild(setup); + var audioHolders = document.getElementsByName('audio-holder'); + for (var i=0; i<audioHolders.length; i++) { + var audioHolder = document.createElement('audioHolder'); + var audioHolderDOM = audioHolders[i]; + var attribs = audioHolderDOM.getElementsByClassName('attrib')[0].getElementsByTagName('input'); + audioHolder.id = attribs[0].value; + if (attribs[1].value != "") {audioHolder.setAttribute('sampleRate',attribs[1].value);} + if (attribs[2].value != "") {audioHolder.setAttribute('hostURL',attribs[2].value);} + audioHolder.setAttribute('randomiseOrder',attribs[3].checked); + audioHolder.setAttribute('repeatCount',attribs[4].checked); + audioHolder.setAttribute('loop',attribs[5].checked); + audioHolder.setAttribute('elementComments',attribs[6].checked); + + // Audio-Holder PreTests + var audioHolderPreTest = document.createElement('preTest'); + var audioHolderPostTest = document.createElement('postTest'); + options = audioHolderDOM.childNodes[2].getElementsByClassName('head'); + constructPrePost(audioHolderPreTest, options); + options = audioHolderDOM.childNodes[3].getElementsByClassName('head'); + constructPrePost(audioHolderPostTest, options); + + audioHolder.appendChild(audioHolderPreTest); + audioHolder.appendChild(audioHolderPostTest); + + // audio-Elements + var audioElementsDOM = []; + var commentQuestionDOM = []; + for (var j=0; j<audioHolderDOM.childElementCount; j++) { + var child = audioHolderDOM.childNodes[j]; + var name = child.getAttribute('name'); + if (name == 'audio-element') {audioElementsDOM.push(child);} + else if (name == 'comment-question') {commentQuestionDOM.push(child);} + } + + for (var j=0; j<audioElementsDOM.length; j++) { + var audioElement = document.createElement('audioElement'); + attribs = audioElementsDOM[j].getElementsByClassName('attrib')[0].getElementsByTagName('input'); + audioElement.id = attribs[0].value; + audioElement.setAttribute('url',attribs[1].value); + audioHolder.appendChild(audioElement); + } + + for (var j=0; j<commentQuestionDOM.length; j++) { + var commentQuestion = document.createElement('commentQuestion'); + attribs = commentQuestionDOM[j].getElementsByClassName('attrib')[0].getElementsByTagName('input'); + commentQuestion.id = attribs[0].value; + commentQuestion.textContent = attribs[1].value; + audioHolder.appendChild(commentQuestion); + } + xmlDoc.appendChild(audioHolder); + } + return xmlDoc; } }