lab5

In lab 5, we need to update a repository, which shows you bridges locate in Ontario. Here is repository link: (https://github.com/humphd/bridge-troll). We need to add the feature to switch night and day.

Before we change and debug the code, we need to install suncalc.SunCalc is a tiny BSD-licensed JavaScript library for calculating sun position, sunlight phases (times for sunrise, sunset, dusk, etc.), moon position and lunar phase for the given location and time. More details about suncalc on this link:(https://github.com/mourner/suncalc). Typing   ”npm install suncalc” in terminal to install that.

The another thing is finding the map themes based on library Leaflet (http://leafletjs.com/).

Next, I gonna fix the code.

I import the module in map.js

module

 

Then we need change the code to implement the feature. Here is the code what I fix and change.

change

Next, run it and copy the localhost.

It is day.

day

It is night map.

dark

It works.

lab4-OSD

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:


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

view raw

tester.js

hosted with ❤ by GitHub

2.go to the folder where your test located and test it by typing test262-harness test/*.js in the terminal.

tester

It works.