예제 #1
0
파일: SlimTest.php 프로젝트: ntdt/Slim
 /**
  * Test Slim::etag only accepts 'strong' or 'weak' types
  *
  * Pre-conditions:
  * You have initialized a Slim application that sets an ETag
  * with an invalid type argument.
  *
  * Post-conditions:
  * An InvalidArgumentException is thrown
  */
 public function testSlimETagThrowsExceptionForInvalidType(){
     $this->setExpectedException('InvalidArgumentException');
     Slim::init();
     Slim::get('/', function () {
         Slim::etag('123','foo');
     });
     Slim::run();
 }
예제 #2
0
파일: SlimTest.php 프로젝트: kolanos/Slim
 /**
  * Test Slim returns 200 OK when ETag does not match `If-None-Match` request header
  *
  * Pre-conditions:
  * You have initialized a Slim application that sets an ETag for the requested
  * resource route. The HTTP `If-None-Match` header is set and does not match
  * the ETag identifier value.
  *
  * Post-conditions:
  * The Slim application will return an HTTP 200 OK response.
  */
 public function testSlimEtagDoesNotMatch()
 {
     Slim::init();
     Slim::get('/', function () {
         Slim::etag('xyz789');
     });
     Slim::run();
     $this->assertEquals(200, Slim::response()->status());
 }
예제 #3
0
파일: SlimTest.php 프로젝트: rs3d/Slimplr
 /**
  * Test ETag with invalid type
  */
 public function testETagWithInvalidType()
 {
     $this->setExpectedException('InvalidArgumentException');
     Slim_Environment::mock(array('SCRIPT_NAME' => '/foo', 'PATH_INFO' => '/bar', 'IF_NONE_MATCH' => '"abc1234"'));
     $s = new Slim();
     $s->get('/bar', function () use($s) {
         $s->etag('123', 'foo');
     });
     $s->call();
 }
예제 #4
0
 /**
  * Test Slim::etag only accepts 'strong' or 'weak' types
  *
  * Pre-conditions:
  * Slim app instantiated;
  * Define route that matches current HTTP request;
  * Route sets ETag header with an invalid argument;
  *
  * Post-conditions:
  * Slim app response status is 500;
  */
 public function testSlimETagThrowsExceptionForInvalidType()
 {
     $app = new Slim();
     $app->get('/', function () use($app) {
         $app->etag('123', 'foo');
     });
     $app->run();
     $this->assertEquals(500, $app->response()->status());
 }
예제 #5
0
 /**
  * Test ETag with invalid type
  */
 public function testETagWithInvalidType()
 {
     $this->setExpectedException('InvalidArgumentException');
     Slim_Environment::mock(array('REQUEST_METHOD' => 'GET', 'REMOTE_ADDR' => '127.0.0.1', 'SCRIPT_NAME' => '/foo', 'PATH_INFO' => '/bar', 'QUERY_STRING' => 'one=foo&two=bar', 'SERVER_NAME' => 'slimframework.com', 'SERVER_PORT' => 80, 'HTTP_IF_NONE_MATCH' => '"abc1234"', 'slim.url_scheme' => 'http', 'slim.input' => '', 'slim.errors' => @fopen('php://stderr', 'w')));
     $s = new Slim();
     $s->get('/bar', function () use($s) {
         $s->etag('123', 'foo');
     });
     $env = $s->environment();
     list($status, $header, $body) = $s->call($env);
 }
예제 #6
0
<?php

require_once 'Views/Twig/Autoloader.php';
Twig_Autoloader::register();
require 'Slim/Slim.php';
require 'Views/TwigView.php';
require 'lib/database.php';
$app = new Slim(array('view' => 'TwigView', 'http.version' => '1.0'));
$app->get('/', function () use($app) {
    $app->redirect('wishlist');
});
$app->get('/wishlist(/:order)', function ($order = 'year') use($app) {
    $app->etag('wishlist');
    $albums = Database::getAlbums('wishlist', $order);
    $data = array('albums' => $albums, 'page' => 'wishlist', 'order' => $order);
    $app->render('index.html', $data);
});
$app->get('/coleccao(/:order)', function ($order = 'year') use($app) {
    $app->etag('coleccao');
    $albums = Database::getAlbums('collection', $order);
    $data = array('albums' => $albums, 'page' => 'coleccao', 'order' => $order);
    $app->render('index.html', $data);
});
$app->run();