Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / webaudio / pannernode-basic.html
index 6e46586..41e021b 100644 (file)
@@ -2,6 +2,7 @@
 <html>
 <head>
 <script src="../resources/js-test.js"></script>
+<script src="resources/compatibility.js"></script>
 <script src="resources/audio-testing.js"></script>
 </head>
 
@@ -19,18 +20,18 @@ function runTest() {
         testRunner.dumpAsText();
         testRunner.waitUntilDone();
     }
-    
+
     window.jsTestIsAsync = true;
 
-    context = new webkitAudioContext();
+    context = new AudioContext();
     var panner = context.createPanner();
-   
-    if (panner.numberOfInputs === 1) 
+
+    if (panner.numberOfInputs === 1)
         testPassed("PannerNode has one input.");
     else
         testFailed("PannerNode should have one input.");
-    
-    if (panner.numberOfOutputs === 1) 
+
+    if (panner.numberOfOutputs === 1)
         testPassed("PannerNode has one output.");
     else
         testFailed("PannerNode should have one output.");
@@ -39,57 +40,57 @@ function runTest() {
         testPassed("refDistance default value is 1.");
     else
         testFailed("refDistance default value should be 1.");
-    
+
     panner.refDistance = 270.52
     if (panner.refDistance === 270.52)
         testPassed("refDistance value is set to 270.52.");
     else
         testFailed("refDistance value should be set to 270.52.");
-    
+
     if (panner.maxDistance === 10000)
         testPassed("maxDistance default value is 10000.");
     else
         testFailed("maxDistance default value should be 10000.");
-    
+
     panner.maxDistance = 100.55
     if (panner.maxDistance === 100.55)
         testPassed("maxDistance value is set to 100.55.");
     else
         testFailed("maxDistance value should be set to 100.55.");
-    
+
     if (panner.rolloffFactor === 1)
         testPassed("rolloffFactor default value is 1.");
     else
         testFailed("rolloffFactor default value should be 1.");
-    
+
     panner.rolloffFactor = 0.83
     if (panner.rolloffFactor === 0.83)
         testPassed("rolloffFactor value is set to 0.83.");
     else
         testFailed("rolloffFactor value should be set to 0.83.");
-    
+
     if (panner.coneInnerAngle === 360)
         testPassed("coneInnerAngle default value is 360.");
     else
         testFailed("coneInnerAngle default value should be 360.");
-    
+
     panner.coneInnerAngle = 240.45
     if (panner.coneInnerAngle === 240.45)
         testPassed("coneInnerAngle value is set to 240.45.");
     else
         testFailed("coneInnerAngle value should be set to 240.45.");
-    
+
     if (panner.coneOuterAngle === 360)
         testPassed("coneOuterAngle default value is 360.");
     else
         testFailed("coneOuterAngle default value should be 360.");
-    
+
     panner.coneOuterAngle = 166.66
     if (panner.coneOuterAngle === 166.66)
         testPassed("coneOuterAngle value is set to 166.66.");
     else
         testFailed("coneOuterAngle value should be set to 166.66.");
-    
+
     if (panner.coneOuterGain === 0)
         testPassed("coneOuterGain default value is 0.");
     else
@@ -101,11 +102,11 @@ function runTest() {
     else
         testFailed("coneOuterGain value should be set to 0.35.");
 
-    if (panner.panningModel === "HRTF")
-        testPassed("PannerNode defaults to 'HRTF' panningModel.");
+    if (panner.panningModel === "equalpower")
+        testPassed("PannerNode defaults to 'equalpower' panningModel.");
     else
-        testFailed("PannerNode should default to 'HRTF' panningModel.");
-    
+        testFailed("PannerNode should default to 'equalpower' panningModel.");
+
     if (panner.distanceModel === "inverse")
         testPassed("PannerNode defaults to 'inverse' distanceModel.");
     else
@@ -114,8 +115,6 @@ function runTest() {
     // Check that the .panningModel attribute can be set to all legal values.
     var panningModels = [{value: "equalpower", integerValue: panner.EQUALPOWER},
                          {value: "HRTF", integerValue: panner.HRTF},
-                         // FIXME: enable "soundfield" once feature is implemented: https://bugs.webkit.org/show_bug.cgi?id=77367
-                         // {value: "soundfield", integerValue: panner.SOUNDFIELD}
                         ];
 
     for (var i = 0; i < panningModels.length; ++i) {
@@ -134,28 +133,19 @@ function runTest() {
         }
     }
 
-    // For legacy support, verify that we can set the .panningModel attribute as an integer value and
-    // verify that this translates correctly to the WebIDL enum value.
-    for (var i = 0; i < panningModels.length; ++i) {
-        try {
-            panner.panningModel = panningModels[i].integerValue;
-            if (panner.panningModel === panningModels[i].value && panningModels[i].integerValue === i) {
-                var message = "panningModel: " + panningModels[i].integerValue + " is settable using legacy integer value.";
-                testPassed(message);
-            } else {
-                var message = "panningModel: " + panningModels[i].integerValue + " was not correctly set using legacy integer value.";
-                testFailed(message);
-            }
-        } catch(e) {
-            var message = "Setting panningModel to " + panningModels[i].integerValue + " should not throw exception using legacy integer value.";
-            testFailed(message);
-        }
+    // Check that numerical values are no longer supported.
+    panner.panningModel = "HRTF";
+    panner.panningModel = 1;
+    if (panner.panningModel == 1) {
+        testFailed("panningModel incorrectly set to " + panner.panningModel + ".");
+    } else {
+        testPassed("panningModel correctly not set to 1.");
     }
 
     // Check that the .distanceModel attribute can be set to all legal values.
-    var distanceModels = [{value: "linear", integerValue: panner.LINEAR_DISTANCE},
-                          {value: "inverse", integerValue: panner.INVERSE_DISTANCE},
-                          {value: "exponential", integerValue: panner.EXPONENTIAL_DISTANCE}
+    var distanceModels = [{value: "linear"},
+                          {value: "inverse"},
+                          {value: "exponential"}
                         ];
 
     for (var i = 0; i < distanceModels.length; ++i) {
@@ -174,28 +164,15 @@ function runTest() {
         }
     }
 
-    // For legacy support, verify that we can set the .distanceModel attribute as an integer value and
-    // verify that this translates correctly to the WebIDL enum value.
-    for (var i = 0; i < distanceModels.length; ++i) {
-        try {
-            panner.distanceModel = distanceModels[i].integerValue;
-            if (panner.distanceModel === distanceModels[i].value && distanceModels[i].integerValue === i) {
-                var message = "distanceModel: " + distanceModels[i].integerValue + " is settable using legacy integer value.";
-                testPassed(message);
-            } else {
-                var message = "distanceModel: " + distanceModels[i].integerValue + " was not correctly set using legacy integer value.";
-                testFailed(message);
-            }
-        } catch(e) {
-            var message = "Setting distanceModel to " + distanceModels[i].integerValue + " should not throw exception using legacy integer value.";
-            testFailed(message);
-        }
+    // Check that numerical values are no longer supported.
+    panner.distanceModel = "inverse";
+    panner.distanceModel = 1;
+    if (panner.distanceModel == 1) {
+        testFailed("distanceModel incorrectly set to " + panner.distanceModel + ".");
+    } else {
+        testPassed("distanceModel correctly not set to 1.");
     }
 
-    // Check that we throw a TypeError for illegal .distanceModel values.
-    shouldThrowTypeError(function() { panner.distanceModel = "xyz12349jfksd"; }, "Setting .type to illegal string value");
-    shouldThrowTypeError(function() { panner.distanceModel = new Float32Array(1); }, "Setting .type to illegal type of Float32Array");
-
     finishJSTest();
 }