Add Canvas nullcheck to render function
This commit is contained in:
parent
572406b963
commit
4c6dff35c3
3 changed files with 19 additions and 9 deletions
|
@ -25,8 +25,9 @@ class SimulationComponent implements OnInit {
|
|||
canvas.context2D.fillRect(0, 0, canvas.width, canvas.height);
|
||||
canvas.context2D.setFillColorRgb(0, 255, 0);
|
||||
canvas.context2D.fillText('''
|
||||
If you see this\n
|
||||
the app is broken :(
|
||||
If you see this
|
||||
|
||||
the canvas did not load correctly :(
|
||||
''', canvas.width / 2 - 50, canvas.height / 2);
|
||||
// engineService.create(canvas);
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@ class Engine {
|
|||
num _updateLag = 0.0;
|
||||
num _drawLag = 0.0;
|
||||
|
||||
final html.CanvasElement canvas;
|
||||
html.CanvasElement canvas;
|
||||
Grid _grid = new Grid(GRID_X, GRID_Y);
|
||||
bool running = false;
|
||||
|
||||
|
@ -43,7 +43,7 @@ class Engine {
|
|||
}
|
||||
|
||||
void clear() {
|
||||
_grid = new Grid(100, 100);
|
||||
_grid = new Grid(GRID_X, GRID_Y);
|
||||
running = false;
|
||||
}
|
||||
|
||||
|
@ -78,8 +78,7 @@ class Engine {
|
|||
}
|
||||
|
||||
void render([num interp]) {
|
||||
// print("rendering");
|
||||
_grid.render(canvas, interp);
|
||||
if(canvas != null) _grid.render(canvas, interp);
|
||||
}
|
||||
|
||||
void addPattern(
|
||||
|
|
|
@ -1,12 +1,22 @@
|
|||
@TestOn('browser')
|
||||
|
||||
import 'dart:html';
|
||||
|
||||
import 'package:rules_of_living/src/Engine.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
void main() {
|
||||
test("Engine can be instantiated without canvas", () {
|
||||
expect(Engine(), isNot(throwsA(anything)));
|
||||
expect(Engine(), isNot(throwsNoSuchMethodError));
|
||||
});
|
||||
|
||||
test("Engine does not throw errors when calling render directly", () {
|
||||
Engine sut = new Engine();
|
||||
// anonymous function necessary since throws can not use functions with args
|
||||
expect(() => sut.render(), isNot(throwsNoSuchMethodError));
|
||||
});
|
||||
|
||||
test("Engine does not throw errors when processing without attached canvas", () {
|
||||
Engine sut = new Engine();
|
||||
// anonymous function necessary since throws can not use functions with args
|
||||
expect(() => sut.process(1000), isNot(throwsNoSuchMethodError));
|
||||
});
|
||||
}
|
Loading…
Reference in a new issue