From 27edad92c3af494c24b0bddb052a5182e974027e Mon Sep 17 00:00:00 2001 From: Holden Rohrer <holden.rohrer@gmail.com> Date: Wed, 18 Dec 2019 15:58:38 -0500 Subject: tested and fixed space.subsection --- space.js | 10 ++++++++-- tests/space_subsection.js | 10 ++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 tests/space_subsection.js diff --git a/space.js b/space.js index 638734f..912768b 100644 --- a/space.js +++ b/space.js @@ -110,9 +110,15 @@ function Space(){ // CLASS } this.subsection = function(range){ // range is a standard quadruplet newspace = new Space(); - for (let line=0; line<range[2]-range[0]; line++) for (let chr=0; chr<range[3]-range[1]; chr++){ - newspace.data[line][chr] = this.data[line+range[0]][line+range[1]] || ''; + for (let line=0; line<=range[2]-range[0]; line++){ + newspace.data.push([]); + for (let chr=0; chr<=range[3]-range[1]; chr++){ + newspace.data[line].push( + this.data[line+range[0]][chr+range[1]] || '' + ); + } } + return newspace; } } diff --git a/tests/space_subsection.js b/tests/space_subsection.js new file mode 100644 index 0000000..a2523e5 --- /dev/null +++ b/tests/space_subsection.js @@ -0,0 +1,10 @@ +// Tests Space.subsection() +const space = require('../space'); + +newspace = new space.Space(); +newspace.adhoc('\ +line\n\ +\n\ +long long long line\ +'); +console.log(newspace.subsection([1,1,2,10])); -- cgit