/** * @author Andreas Glaser */ public function testEncode() { $this->assertEquals('2016%2D01%2D01%2023%3A21%3A20', StringEncode::encode('2016-01-01 23:21:20')); $this->assertEquals('3%2E32', StringEncode::encode('3.32')); $this->assertEquals('3%2C32', StringEncode::encode('3,32')); $this->assertEquals('hello%20there', StringEncode::encode('hello there')); }
/** * @author Andreas Glaser */ public function testIsNotNullNode() { $qb = $this->em->createQueryBuilder(); $qb->select('cart, products, photos, photo')->from('AndreasGlaser\\DoctrineRql\\Entity\\Cart', 'cart')->leftJoin('cart.products', 'products')->leftJoin('products.photos', 'photos')->leftJoin('photos.photo', 'photo'); $fieldName = Helper\StringEncode::encode('cart.products.id'); $rql = 'isnotnull(' . $fieldName . ')'; ORMVisitorFactory::appendFiltersOnly($qb, $rql, false); $query = $qb->getQuery(); $this->assertEquals('SELECT c0_.id AS id_0, c0_.deleted_at AS deleted_at_1, p1_.id AS id_2, p1_.name AS name_3, p1_.published_at AS published_at_4, p1_.deleted_at AS deleted_at_5, p2_.id AS id_6, p3_.id AS id_7, p3_.name AS name_8, p2_.product_id AS product_id_9, p2_.photo_id AS photo_id_10 FROM Cart c0_ LEFT JOIN cart_products c4_ ON c0_.id = c4_.cart_id LEFT JOIN Product p1_ ON p1_.id = c4_.product_id LEFT JOIN ProductPhoto p2_ ON p1_.id = p2_.product_id LEFT JOIN Photo p3_ ON p2_.photo_id = p3_.id WHERE p1_.id IS NOT NULL', $query->getSQL()); $this->assertEquals(0, $query->getParameters()->count()); }