aboutsummaryrefslogtreecommitdiff
path: root/spec
AgeCommit message (Collapse)AuthorFilesLines
2023-05-09Update dependenciesStormwind2-1/+2
Updated the dependencies to current versions of the gems this framework relies on. Also got the tests back running, as the synthax of RSpec slightly changed the past years.
2014-03-05correct forwarded-for headerv0.2.0Gibheer1-1/+1
2014-03-05add x-forwarded-for header to the clientGibheer1-3/+21
This adds the way to find out the actual ip of the client machine, even if it is hidden behind a local reverse proxy.
2013-10-28add cookie support to responseGibheer4-0/+111
This commit adds support for response cookies. Response now has a method cookie to fetch the current cookie. One cookie has multiple crumbs which represent a key value pair. For each crumb multiple options can be set according to the specs.
2013-10-22add cookie support in requestsGibheer1-0/+21
2013-09-10allow a dash in the middle url partGibheer1-0/+13
2013-09-09sort routes for more specific resultsGibheer1-0/+31
This change sorts the routes to get the most specific routes first and avoid hitting a route which is not the most specific match. With this the regex to extract variables is made more strict to avoid matching half of the URI.
2013-09-03add partial render methodGibheer3-32/+59
This enables the user to render partial templates to embed them into other templates and the like.
2013-08-14add request method override for browsersGibheer1-0/+43
Browsers are not able to send put, delete or any other request from a plain html form. This limits the possibilities with APIs so an override was introduced in many frameworks in the form, that `_method` could be defined in a post payload. With this, zero also supports `_method` in the post payload to make it possible to use all functions of the API with javascript through plain html.
2013-08-13fix paramter extraction with charsetGibheer1-0/+10
This fixes a bug where a charset in the content type blocked the extraction of the payload. A browser may send a string like multipart/form-data; charset=UTF-8 which include? could not find the defined types. Now it gets split and then checked against the defined types.
2013-08-06make it possible to push lists as paramtersGibheer1-0/+19
This makes it possible to push lists as paramters by naming the variables with `[]` at the end, for example `foo[]`.
2013-07-26extend server with protocol informationGibheer4-1/+63
This extends the server class with the information, if it is serving http or https. This can then be used to generate a root uri to the web application.
2013-07-22Revert "generate a name from the server details"Gibheer1-20/+0
This reverts commit 94a2d399eb81d59f9d66c5d16121611c4d1ae0cd.
2013-07-22generate a name from the server detailsGibheer1-0/+20
2013-02-27reworked the rendererGibheer7-67/+68
The renderer is now a bit smaller and asks the TemplateFinder for the actual resources. That way it can just concentrate on rendering instead of finding out, which stuff actually exists and which not.
2013-02-27reworked parts of the template finderGibheer4-8/+68
The template finder is now the instance to ask for templates. It was already looking for them, so it should be able to handle questions regarding the existence of templates too.
2013-02-12cleanup old specsGibheer1-57/+7
2013-02-12extracted the building of template treeGibheer4-5/+89
This step is a preparation to extend the functionality of the renderer. To make the main class easier, the search for templates and building of the tree is extracted into its own class.
2013-02-04rename spec for mutantGibheer1-0/+0
That kills 52 mutations!
2013-01-29catch empty routesGibheer1-0/+15
This fixes a bug where an empty route would catch all requests resulting in all routes found with the empty route.
2013-01-29make request and response staticGibheer3-32/+5
This is a step back but makes the controller work for the moment. It should be reimplemented in a better way in the future.
2013-01-28use new api of class_optionsGibheer4-12/+14
2013-01-11use class_options for the controllerGibheer4-11/+29
2013-01-11added a spec for custom parametersGibheer1-0/+4
2013-01-11split of specs for [] and []=Gibheer3-56/+97
As mutant can't use one spec file for both methods it got split up into two. I also cleaned up the tests and made them (hopefully) better readable.
2013-01-11easier environment generationGibheer1-0/+18
This still needs some work, but it should definitly be easier to generate new environments now. Why is that even so much work?
2013-01-10reworked the tests to make them cleanerGibheer1-34/+68
The tests now use simple lists for the types to make it easier to distinguish between all elements. The tests themselves are also shared now.
2013-01-10Rename Zero::Request::AcceptType spec folderStormwind2-0/+0
2013-01-10Kill the last mutant in Zero::Request:AcceptTypeStormwind1-10/+11
2013-01-09take strings for bodyGibheer1-0/+27
This makes the assignment for bodies easier when using plain Strings. They get wrapped in an array as per rack definition. For every other type, they have to implement each and get directly set as body or have to be rendered to Strings first.
2013-01-06Split response_spec.rb into single test filesStormwind7-76/+111
2013-01-06Improve test structureStormwind40-0/+0
Created folder spec/unit/zero and moved all unittest into this folder.
2013-01-06Kill all mutants in Zero::RouterStormwind1-1/+6
2013-01-06Kill all mutants in Zero::RendererStormwind4-2/+24
2013-01-06Kill all mutants i Zero::RequestStormwind2-4/+9
Fix tests for PATCH, because spec_helper didn't support it and the tests where wrong. Remove if statement from "conent_type", because ruby already returns nil, if the requested key in a hash is not found. (Sounds a bit ugly, but it's true.)
2013-01-06Kill all mutants in Zero::Request::ParameterStormwind3-1/+17
I've also changed "extract_query_params" because it does not matter, if the query string it empty or not for the "parse_string" method.
2013-01-05Kill almost all mutants in Zero::Request:AcceptTypeStormwind1-6/+11
Killed 13 of 14 mutants. I will see later, how it's possible to kill the last one. I also fixed the return value of "preferred", if the in initialize given string is empty. Fixed the default value here.
2013-01-04Kill all mutants in Zero::Request::AcceptStormwind3-3/+9
2013-01-04Kill mutant in Zero::Request::ServerStormwind1-2/+10
2013-01-04Add check if body is empty on 204 and 304 in specsStormwind1-0/+2
2012-12-23Remove 1.8 fixesStormwind1-147/+0
The fixes for Ruby 1.8 will take place in a seperate gem. So I remove all the changes here.
2012-12-22Replace 'parse_query_string' with 'decode_www_form_18' in testStormwind1-21/+23
2012-12-22Renamed specfile. Will test other method here.Stormwind1-0/+0
2012-12-22Improve query valid regexStormwind1-1/+27
Now a query string cannot look like 'foo=bar=foo' anymore.
2012-12-22Add first implementation of decode_www_form_18Stormwind1-0/+8
Seperates now foo=bar&bar=foo;baz=foo queries. But does not fix url encoded strings and such things. Also added testcase for an empty query string.
2012-12-22Add patch for URI decode_www_formStormwind1-0/+111
Plus some specs. This should it make later possible to make Zero work with Ruby 1.8. But at the moment it only routes to the original decode_www_form method, if it exists. Otherwise it returns an empty Array. So this will still fail on the 1.8 versions at the moment.
2012-12-18reuse render for actual renderingGibheer1-0/+19
The splitting of rendering and processing is good, but on the other side it makes some double steps or even introduce workarounds. That is why I made the method #render just a call to the renderer. This should help much more than the strict seperation. The method will only return the resulting string and not add it to the body of the response. That still has to be taken care of by the user.
2012-12-17cleanup gemfile for jruby on travisGibheer1-0/+0
2012-12-17run simplecov only when neededGibheer1-4/+6
2012-12-17initialize the responseGibheer1-0/+14