summaryrefslogtreecommitdiff
path: root/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T1.js
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T1.js')
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T1.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T1.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T1.js
new file mode 100644
index 000000000..709b963e7
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.3_Function_Objects/15.3.4_Properties_of_the_Function_Prototype_Object/15.3.4.3_Function.prototype.apply/S15.3.4.3_A1_T1.js
@@ -0,0 +1,33 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+* @name: S15.3.4.3_A1_T1;
+* @section: 15.3.4.3;
+* @assertion: The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown;
+* @description: Calling "apply" method of the object that does not have a [[Call]] property.
+* Prototype of the object is Function();
+*/
+
+var proto=Function();
+
+function FACTORY(){};
+
+FACTORY.prototype=proto;
+
+var obj = new FACTORY;
+
+//CHECK#1
+if (typeof obj.apply !== "function") {
+ $ERROR('#1: apply method accessed');
+}
+
+//CHECK#2
+try {
+ obj.apply();
+ $FAIL('#2: If the object does not have a [[Call]] property, a TypeError exception is thrown');
+} catch (e) {
+ if (!(e instanceof TypeError)) {
+ $ERROR('#2.1: If the object does not have a [[Call]] property, a TypeError exception is thrown');
+ }
+}