Skip to content

Commit

Permalink
fixed bugs and added tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dtracers committed Jun 8, 2016
1 parent 37c2923 commit 25c44fd
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 7 deletions.
6 changes: 3 additions & 3 deletions src/main/js/sketchLibrary/SrlShape.js
Original file line number Diff line number Diff line change
Expand Up @@ -281,19 +281,19 @@ define(['./../generated_proto/sketch', // protoSketch
SrlShape.createFromProtobuf = function(shape) {
var interpretations = shape.interpretations;
var subObjects = shape.subComponents;
var newShape = new SRL_Shape();
var newShape = new SrlShape();
for (var i = 0; i < interpretations.length; i++) {
var protoInter = interpretations[i];
newShape.addInterpretation(protoInter.label, protoInter.confidence, protoInter.complexity);
}

for (i = 0; i < subObjects.length; i++) {
var protoObject = subObjects[i];
newShape.addSubObject(objectConversionUtils.convertToUpgradedSketchObject(protoObject));
newShape.add(objectConversionUtils.convertToUpgradedSketchObject(protoObject));
}
newShape.setId(shape.getId());
newShape.setName(shape.getName());

newShape.setTime(shape.getTime());
return newShape;
};

Expand Down
7 changes: 4 additions & 3 deletions src/main/js/sketchLibrary/SrlStroke.js
Original file line number Diff line number Diff line change
Expand Up @@ -244,9 +244,9 @@ define(['./../generated_proto/sketch', // protoSketch
var array = [];
var points = this.getPoints();
for (var i = 0; i < points.length; i++) {
array.push(points[i]);
array.push(points[i].sendToProtobuf());
}
proto.setPoints(array); // THIS FUNCTION SUCKS!
proto.setPoints(array); // this should verify the points are created correctly.
return proto;
};

Expand All @@ -262,7 +262,7 @@ define(['./../generated_proto/sketch', // protoSketch
for (var i in pointList) {
if (pointList.hasOwnProperty(i)) {
var point = pointList[i];
var currentPoint = SrlStroke.createFromProtobuf(point);
var currentPoint = SrlPoint.createFromProtobuf(point);
srlStroke.addPoint(currentPoint);
}
}
Expand All @@ -271,6 +271,7 @@ define(['./../generated_proto/sketch', // protoSketch
}
srlStroke.finish();
srlStroke.setId(stroke.getId());
srlStroke.setTime(stroke.getTime());
return srlStroke;
};

Expand Down
18 changes: 17 additions & 1 deletion src/test/js/sketchLibrary/SrlShapeTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,15 @@ describe('Shape Tests', function () {
for (var i = 0; i < 10; i++) {
var stroke = new SrlStroke();
stroke.id = 'stroke' + i;
stroke.addPoint(new SrlPoint(x, y));
var point = new SrlPoint(x, y);
point.setTime(50);
point.setId('point' + i);
stroke.addPoint(point);
strokeList.push(stroke);
stroke.setTime(60);
var shape = new SrlShape();
shape.id = 'shape' + i;
shape.setTime(70);
shapeList.push(shape);
}
});
Expand Down Expand Up @@ -73,5 +78,16 @@ describe('Shape Tests', function () {
expect(shapeList[0].getRecursiveStrokes()).to.have.members([strokeList[0]]);
expect(shapeList[0].getRecursiveSubObjects()).to.have.members([strokeList[0]]);
});

it('should be able to encode and decode from binary protobuf correctly', function () {
for (var i = 0; i < 9; i++) {
shapeList[i].add(strokeList[i]);
shapeList[i].add(shapeList[i + 1]);
}
var buffer = shapeList[0].toArrayBuffer();
var shape = SrlShape.decode(buffer);
// have deep members errors out. But contents were identical anyways
expect(JSON.stringify([shape.getRecursiveSubObjects()])).to.be.deep.equal(JSON.stringify([shapeList[0].getRecursiveSubObjects()]));
});
});
});

0 comments on commit 25c44fd

Please sign in to comment.