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;
 				}
 			}