Changesets can be listed by changeset number.
The Git repository is here.
- Revision:
- 373
- Log:
Initial import of Radiant 0.9.1, which is now packaged as a gem. This is an
import of the tagged 0.9.1 source checked out from GitHub, which isn't quite
the same as the gem distribution - but it doesn't seem to be available in an
archived form and the installed gem already has modifications, so this is
the closest I can get.
- Author:
- rool
- Date:
- Mon Mar 21 13:40:05 +0000 2011
- Size:
- 3063 Bytes
1 | require "#{File.dirname(__FILE__)}/spec_setup" |
2 | require 'rack/cache/storage' |
3 | |
4 | describe 'Rack::Cache::Storage' do |
5 | before do |
6 | @storage = Rack::Cache::Storage.new |
7 | end |
8 | |
9 | it "fails when an unknown URI scheme is provided" do |
10 | lambda { @storage.resolve_metastore_uri('foo:/') }.should.raise |
11 | end |
12 | it "creates a new MetaStore for URI if none exists" do |
13 | @storage.resolve_metastore_uri('heap:/'). |
14 | should.be.kind_of Rack::Cache::MetaStore |
15 | end |
16 | it "returns an existing MetaStore instance for URI that exists" do |
17 | store = @storage.resolve_metastore_uri('heap:/') |
18 | @storage.resolve_metastore_uri('heap:/').should.be store |
19 | end |
20 | it "creates a new EntityStore for URI if none exists" do |
21 | @storage.resolve_entitystore_uri('heap:/'). |
22 | should.be.kind_of Rack::Cache::EntityStore |
23 | end |
24 | it "returns an existing EntityStore instance for URI that exists" do |
25 | store = @storage.resolve_entitystore_uri('heap:/') |
26 | @storage.resolve_entitystore_uri('heap:/').should.be store |
27 | end |
28 | it "clears all URI -> store mappings with #clear" do |
29 | meta = @storage.resolve_metastore_uri('heap:/') |
30 | entity = @storage.resolve_entitystore_uri('heap:/') |
31 | @storage.clear |
32 | @storage.resolve_metastore_uri('heap:/').should.not.be meta |
33 | @storage.resolve_entitystore_uri('heap:/').should.not.be entity |
34 | end |
35 | |
36 | describe 'Heap Store URIs' do |
37 | %w[heap:/ mem:/].each do |uri| |
38 | it "resolves #{uri} meta store URIs" do |
39 | @storage.resolve_metastore_uri(uri). |
40 | should.be.kind_of Rack::Cache::MetaStore |
41 | end |
42 | it "resolves #{uri} entity store URIs" do |
43 | @storage.resolve_entitystore_uri(uri). |
44 | should.be.kind_of Rack::Cache::EntityStore |
45 | end |
46 | end |
47 | end |
48 | |
49 | describe 'Disk Store URIs' do |
50 | before do |
51 | @temp_dir = create_temp_directory |
52 | end |
53 | after do |
54 | remove_entry_secure @temp_dir |
55 | @temp_dir = nil |
56 | end |
57 | |
58 | %w[file: disk:].each do |uri| |
59 | it "resolves #{uri} meta store URIs" do |
60 | @storage.resolve_metastore_uri(uri + @temp_dir). |
61 | should.be.kind_of Rack::Cache::MetaStore |
62 | end |
63 | it "resolves #{uri} entity store URIs" do |
64 | @storage.resolve_entitystore_uri(uri + @temp_dir). |
65 | should.be.kind_of Rack::Cache::EntityStore |
66 | end |
67 | end |
68 | end |
69 | |
70 | if have_memcached? |
71 | |
72 | describe 'MemCache Store URIs' do |
73 | %w[memcache: memcached:].each do |scheme| |
74 | it "resolves #{scheme} meta store URIs" do |
75 | uri = scheme + '//' + ENV['MEMCACHED'] |
76 | @storage.resolve_metastore_uri(uri). |
77 | should.be.kind_of Rack::Cache::MetaStore |
78 | end |
79 | it "resolves #{scheme} entity store URIs" do |
80 | uri = scheme + '//' + ENV['MEMCACHED'] |
81 | @storage.resolve_entitystore_uri(uri). |
82 | should.be.kind_of Rack::Cache::EntityStore |
83 | end |
84 | end |
85 | it 'supports namespaces in memcached: URIs' do |
86 | uri = "memcached://" + ENV['MEMCACHED'] + "/namespace" |
87 | @storage.resolve_metastore_uri(uri). |
88 | should.be.kind_of Rack::Cache::MetaStore |
89 | end |
90 | end |
91 | |
92 | end |
93 | |
94 | end |