arunthampi-memcached 0.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,102 @@
1
+
2
+ require "#{File.dirname(__FILE__)}/../test_helper"
3
+
4
+ class RailsTest < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @servers = ['127.0.0.1:43042', '127.0.0.1:43043', "#{UNIX_SOCKET_NAME}0"]
8
+ @namespace = 'rails_test'
9
+ @cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace)
10
+ @value = OpenStruct.new(:a => 1, :b => 2, :c => GenericClass)
11
+ @marshalled_value = Marshal.dump(@value)
12
+ end
13
+
14
+ def test_get
15
+ @cache.set key, @value
16
+ result = @cache.get key
17
+ assert_equal @value, result
18
+ end
19
+
20
+ def test_get_multi
21
+ @cache.set key, @value
22
+ result = @cache.get_multi([key])
23
+ assert_equal(
24
+ {key => @value},
25
+ result
26
+ )
27
+ end
28
+
29
+ def test_delete
30
+ @cache.set key, @value
31
+ assert_nothing_raised do
32
+ @cache.delete key
33
+ end
34
+ assert_nil(@cache.get(key))
35
+ end
36
+
37
+ def test_delete_missing
38
+ assert_nothing_raised do
39
+ @cache.delete key
40
+ assert_nil(@cache.delete(key))
41
+ end
42
+ end
43
+
44
+ def test_bracket_accessors
45
+ @cache[key] = @value
46
+ result = @cache[key]
47
+ assert_equal @value, result
48
+ end
49
+
50
+ def test_cas
51
+ cache = Memcached::Rails.new(:servers => @servers, :namespace => @namespace, :support_cas => true)
52
+ value2 = OpenStruct.new(:d => 3, :e => 4, :f => GenericClass)
53
+
54
+ # Existing set
55
+ cache.set key, @value
56
+ cache.cas(key) do |current|
57
+ assert_equal @value, current
58
+ value2
59
+ end
60
+ assert_equal value2, cache.get(key)
61
+
62
+ # Missing set
63
+ cache.delete key
64
+ assert_nothing_raised do
65
+ cache.cas(key) { @called = true }
66
+ end
67
+ assert_nil cache.get(key)
68
+ assert_nil @called
69
+
70
+ # Conflicting set
71
+ cache.set key, @value
72
+ assert_raises(Memcached::ConnectionDataExists) do
73
+ cache.cas(key) do |current|
74
+ cache.set key, value2
75
+ current
76
+ end
77
+ end
78
+ end
79
+
80
+ def test_get_missing
81
+ @cache.delete key rescue nil
82
+ result = @cache.get key
83
+ assert_equal nil, result
84
+ end
85
+
86
+ def test_get_nil
87
+ @cache.set key, nil, 0
88
+ result = @cache.get key
89
+ assert_equal nil, result
90
+ end
91
+
92
+ def test_namespace
93
+ assert_equal @namespace, @cache.namespace
94
+ end
95
+
96
+ private
97
+
98
+ def key
99
+ caller.first[/.*[` ](.*)'/, 1] # '
100
+ end
101
+
102
+ end
metadata ADDED
@@ -0,0 +1,94 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: arunthampi-memcached
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.17.4
5
+ platform: ruby
6
+ authors:
7
+ - Chu Yeow
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-12-11 00:00:00 +08:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: Chu Yeow's fork of memcached which allows big-set and big-get
17
+ email: chuyeow@gmail.com
18
+ executables: []
19
+
20
+ extensions:
21
+ - ext/extconf.rb
22
+ extra_rdoc_files:
23
+ - LICENSE
24
+ - README
25
+ - TODO
26
+ files:
27
+ - .gitignore
28
+ - .gitmodules
29
+ - BENCHMARKS
30
+ - CHANGELOG
31
+ - LICENSE
32
+ - Manifest
33
+ - README
34
+ - Rakefile
35
+ - TODO
36
+ - VERSION
37
+ - ext/extconf.rb
38
+ - ext/libmemcached-0.32.tar.gz
39
+ - ext/libmemcached.patch
40
+ - ext/rlibmemcached.i
41
+ - ext/rlibmemcached_wrap.c
42
+ - lib/memcached.rb
43
+ - lib/memcached/behaviors.rb
44
+ - lib/memcached/exceptions.rb
45
+ - lib/memcached/integer.rb
46
+ - lib/memcached/memcached.rb
47
+ - lib/memcached/rails.rb
48
+ - test/profile/benchmark.rb
49
+ - test/profile/profile.rb
50
+ - test/profile/valgrind.rb
51
+ - test/setup.rb
52
+ - test/teardown.rb
53
+ - test/test_helper.rb
54
+ - test/unit/binding_test.rb
55
+ - test/unit/memcached_test.rb
56
+ - test/unit/rails_test.rb
57
+ has_rdoc: true
58
+ homepage: http://github.com/chuyeow/memcached
59
+ licenses: []
60
+
61
+ post_install_message:
62
+ rdoc_options:
63
+ - --charset=UTF-8
64
+ require_paths:
65
+ - lib
66
+ required_ruby_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: "0"
71
+ version:
72
+ required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: "0"
77
+ version:
78
+ requirements: []
79
+
80
+ rubyforge_project:
81
+ rubygems_version: 1.3.5
82
+ signing_key:
83
+ specification_version: 3
84
+ summary: Chu Yeow's fork of memcached which allows big-set and big-get
85
+ test_files:
86
+ - test/profile/benchmark.rb
87
+ - test/profile/profile.rb
88
+ - test/profile/valgrind.rb
89
+ - test/setup.rb
90
+ - test/teardown.rb
91
+ - test/test_helper.rb
92
+ - test/unit/binding_test.rb
93
+ - test/unit/memcached_test.rb
94
+ - test/unit/rails_test.rb