summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--public/assets/javascripts/rectangles/models/surface.js4
-rw-r--r--test/07-test-surface.js15
2 files changed, 17 insertions, 2 deletions
diff --git a/public/assets/javascripts/rectangles/models/surface.js b/public/assets/javascripts/rectangles/models/surface.js
index f7fe890..eebd566 100644
--- a/public/assets/javascripts/rectangles/models/surface.js
+++ b/public/assets/javascripts/rectangles/models/surface.js
@@ -105,7 +105,7 @@
}
Surface.prototype.translate = function (old_bounds, dimension, position, delta) {
-
+
this.clamp_delta( this.bounds, dimension, position, delta )
var new_delta = delta.clone()
@@ -182,7 +182,7 @@
intersection = bounds.y.intersection(face.y)
if (intersection.length() < height) {
// not totally sure if we can clobber the bounds here since this would prevent
- // us from looking right later
+ // us from looking rightwise later
break
}
else {
diff --git a/test/07-test-surface.js b/test/07-test-surface.js
index a9feffa..53a4b73 100644
--- a/test/07-test-surface.js
+++ b/test/07-test-surface.js
@@ -103,6 +103,21 @@ describe('double surface', function(){
})
})
+describe('triple surface', function(){
+ var surface = new Surface ()
+ surface.add( new Rect( new vec2(1, 3), new vec2(0, 4) ) )
+ surface.add( new Rect( new vec2(3, 5), new vec2(0, 4) ) )
+
+ var small = new vec2(2, 2)
+ var oblong = new vec2(4, 1)
+
+ // describe placement
+ // describe dragging up (clamp at top edge)
+ // describe dragging down (clamp at bottom edge)
+ // describe dragging left (clamp at left edge)
+ // describe dragging right (clamp at right edge)
+})
+
describe('two-level surface', function(){
var surface = new Surface ()
surface.add( new Rect( new vec2(1, 3), new vec2(0, 4) ) )