In this lab, we’re learning Open Standard. We need to work on lots of tests suites and write some tests for JavaScript (ECMAScript ) standard.
Firstly, what is open standards?
An open standard is a standard that made available to the general public and are developed and maintained via a collaborative and consensus driven process. In open source, open standards are guidelines to keep technologies “open”.
Next, what isECMAScript ?
ECMAScript is a subset of JavaScript, which is basically ECMAScript at its core but builds upon it. The specification defined in ECMA-262 for creating a general purpose scripting language. ECMAScript provides the rules, details, and guidelines that a scripting language must observe to be consider ECMASript compliant.
Finally, let me talk about my testing experiences.
1.create new test.js –> This test is for the reverse function.
here is code link:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//tester.js | |
// Copyright 2009 the Sputnik authors. All rights reserved. | |
// This code is governed by the BSD license found in the LICENSE file. | |
/*— | |
info: | | |
The elements of the array are rearranged so as to reverse their order. | |
The object is returned as the result of the call | |
esid: sec-array.prototype.reverse | |
es5id: 15.4.4.8_A1_T1 | |
description: Checking case when reverse is given no arguments or one argument | |
—*/ | |
//CHECK#1 | |
var x = []; | |
var reverse = x.reverse(); | |
assert.sameValue(x,x.reverse()); | |
//CHECK#2 | |
x = []; | |
x[0] = 1; | |
var reverse = x.reverse(); | |
assert.sameValue(reverse,x.reverse()); | |
//CHECK#3 | |
x = new Array(1,2); | |
var reverse = x.reverse(); | |
assert.sameValue(reverse,x.reverse()); | |
//CHECK#4 | |
assert.notSameValue(x[0],2); | |
//CHECK#5 | |
assert.notSameValue(x[1],1); | |
//CHECK#6 | |
var arrLength = x.length; | |
assert.sameValue(arrLength, 2); | |
// //CHECK#1 | |
// var x = []; | |
// var reverse = x.reverse(); | |
// if (reverse !== x) { | |
// $ERROR('#1: x = []; x.reverse() === x. Actual: ' + (reverse)); | |
// } | |
// //CHECK#2 | |
// x = []; | |
// x[0] = 1; | |
// var reverse = x.reverse(); | |
// if (reverse !== x) { | |
// $ERROR('#2: x = []; x[0] = 1; x.reverse() === x. Actual: ' + (reverse)); | |
// } | |
// //CHECK#3 | |
// x = new Array(1, 2); | |
// var reverse = x.reverse(); | |
// if (reverse !== x) { | |
// $ERROR('#3: x = new Array(1,2); x.reverse() === x. Actual: ' + (reverse)); | |
// } | |
// //CHECK#4 | |
// if (x[0] !== 2) { | |
// $ERROR('#4: x = new Array(1,2); x.reverse(); x[0] === 2. Actual: ' + (x[0])); | |
// } | |
// //CHECK#5 | |
// if (x[1] !== 1) { | |
// $ERROR('#5: x = new Array(1,2); x.reverse(); x[1] === 1. Actual: ' + (x[1])); | |
// } | |
// //CHECK#6 | |
// if (x.length !== 2) { | |
// $ERROR('#6: x = new Array(1,2); x.reverse(); x.length === 2. Actual: ' + (x.length)); | |
// } | |
2.go to the folder where your test located and test it by typing test262-harness test/*.js in the terminal.
It works.