Пример #1
0
HandlerResponse WebEngine::evaluate(HandlerRequest & req)
{
	Handler * h = &HandlerRegistrar::getRoot();
	for(auto part : req.URIParts)
	{
		h = &h->resolve(part, &req);
	}
	HandlerResponse res;
	switch(req.method)
	{
		case HM_GET:
		{
			res = h->get(req);
			break;
		}
		case HM_POST:
		{
			res = h->post(req);
			break;
		}
		case HM_PUT:
		{
			res = h->put(req);
			break;
		}
		case HM_DELETE:
		{
			res = h->del(req);
			break;
		}
		case HM_OPTIONS:
		{
			res = h->get(req);
			break;
		}
		case HM_AUTH:
		{
			res = MakeAuthorizationResponse(
				h->authorize(req.body, req.version)
				);
			break;
		}
		default:
		{
			res.meta.code = RSC_ERR_BAD_METHOD;
			break;
		}
	}
	return res;
}
Пример #2
0
TEST_F(DrawableTest, StretchDrawableTest)
{
    Handler<Drawable> dr = dmanager->queryDrawable("stretch:color:red", geom::Box(100,100));
    ASSERT_TRUE(dynamic_cast<StretchDrawable*>(dr.get()));
    ASSERT_FLOAT_EQ(100, dr->width());
    ASSERT_FLOAT_EQ(100, dr->height());
}
Пример #3
0
TEST_F(DrawableTest, ColorDrawableTest)
{
    Handler<Drawable> dr = dmanager->queryDrawable("color:red", geom::Box(100,100));
    ASSERT_TRUE(dynamic_cast<ColorDrawable*>(dr.get()));
    ASSERT_FLOAT_EQ(100, dr->width());
    ASSERT_FLOAT_EQ(100, dr->height());
    ASSERT_TRUE(dr->size().near(geom::Box(100, 100), 1));
    ASSERT_EQ(Red, dr.cast<ColorDrawable>()->color());
}
Пример #4
0
TEST_F(DrawableTest, ImageDrawableWithoutSizeTest)
{
    Handler<Drawable> dr = dmanager->queryDrawable("image:" MATERIAL_DIR "/img/test.png", geom::Box());
    ASSERT_TRUE(dynamic_cast<ImageDrawable*>(dr.get()));
    ASSERT_FLOAT_EQ(360, dr->width());
    ASSERT_FLOAT_EQ(480, dr->height());
    ASSERT_TRUE(dr->size().near(geom::Box(360, 480), 1));
    Handler<ImageDrawable> img(dr.cast<ImageDrawable>());
    ASSERT_EQ(360, img->sprite()->width());
    ASSERT_EQ(480, img->sprite()->height());
}
Пример #5
0
 inline  MachineLock(Handler<NesGeist> const& parent):parent_(*parent.get()) {
     parent_.machine_mutex_.lock();
 };