it('should return instances of types when calling get([type1, type2])', function () { var layer = new Grape.Layer(); var o0 = new Grape.GameObject(); var o1 = new Type1(); var o2 = new Type2(); var o3 = new Type3(); layer.add(o0); layer.add(o1); layer.add(o2); layer.add(o3); var result = layer.get([Type1, Type2]); expect(result.length).toBe(2); expect(result).toContain(o1); expect(result).toContain(o2); });
it('should return instances of types with descendants filtering duplicates when calling get([type1, type2], true) where type1 is parent of type2', function () { var layer = new Grape.Layer(); var o0 = new Grape.GameObject(); var o1 = new Type1(); var o2 = new Type2(); var o3 = new Type3(); layer.add(o0); layer.add(o1); layer.add(o2); layer.add(o3); var result = layer.get([Type2, Type3], true); expect(result.length).toBe(2); expect(result).toContain(o2); expect(result).toContain(o3); });
it('should return all instances added when calling get()', function () { var layer = new Grape.Layer(); var o0 = new Grape.GameObject(); var o1 = new Type1(); var o2 = new Type2(); var o3 = new Type3(); layer.add(o0); layer.add(o1); layer.add(o2); layer.add(o3); var result = layer.get(); expect(result).toContain(o0); expect(result).toContain(o1); expect(result).toContain(o2); expect(result).toContain(o3); });
it('no sprite', function () { var a = new Grape.Animation(); //no sprite var layer = new Grape.Layer(); layer.add(a); layer.emit('frame'); });
expect(function () { layer.add(new NotGameObject()); }).toThrow();
expect(function () { layer.add({}); }).toThrow();
expect(function () { layer.removeSystem('s'); }).toThrow();
expect(function () { layer.addSystem('s1', system); }).toThrow();