rails3-jquery-autocomplete 1.0.6 → 1.0.7
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.
- data/README.md +22 -1
- data/lib/assets/javascripts/autocomplete-rails.js +1 -1
- data/lib/rails3-jquery-autocomplete/simple_form_plugin.rb +16 -4
- data/lib/rails3-jquery-autocomplete/version.rb +1 -1
- data/test/lib/rails3-jquery-autocomplete/simple_form_plugin_test.rb +33 -0
- data/test/test_helper.rb +5 -0
- data/test/view_test_helper.rb +108 -0
- metadata +85 -20
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# rails3-jquery-autocomplete
|
2
2
|
|
3
|
+
[](http://travis-ci.org/crowdint/rails3-jquery-autocomplete)
|
4
|
+
|
3
5
|
An easy way to use jQuery's autocomplete with Rails 3.
|
4
6
|
|
5
7
|
Supports both ActiveRecord, [mongoid](http://github.com/mongoid/mongoid), and [MongoMapper](https://github.com/jnunemaker/mongomapper).
|
@@ -316,10 +318,18 @@ And then, install all your dependencies:
|
|
316
318
|
|
317
319
|
## Running the test suite
|
318
320
|
|
319
|
-
You need to have an instance of MongoDB running on your computer or all the mongo tests will fail miserably
|
321
|
+
<strike>You need to have an instance of MongoDB running on your computer or all the mongo tests will fail miserably.</strike>
|
322
|
+
|
323
|
+
To run all the tests once, simply use
|
320
324
|
|
321
325
|
rake test
|
322
326
|
|
327
|
+
while you're developing, it is recommended that you run
|
328
|
+
|
329
|
+
bundle exec guard
|
330
|
+
|
331
|
+
to have the relevent test run every time you save a file.
|
332
|
+
|
323
333
|
## Integration tests
|
324
334
|
|
325
335
|
If you make changes or add features to the jQuery part, please make sure
|
@@ -334,6 +344,17 @@ integration folder:
|
|
334
344
|
rake db:migrate
|
335
345
|
cucumber
|
336
346
|
|
347
|
+
## Where to test what
|
348
|
+
|
349
|
+
If you're making or tweaking a plugin (such as the formastic plugin or
|
350
|
+
simple\_form plugin), check out the simple\_form\_plugin\_test for an
|
351
|
+
example of how to test it as part of the main `rake test` run.
|
352
|
+
Historically, plugins like these had been tested (shoddily) as part of
|
353
|
+
the integration tests. Feel free to remove them from the integration
|
354
|
+
suite and move them into the main suite. Your tests will run much
|
355
|
+
faster, and there will be less likelihood of your feature breaking in
|
356
|
+
the future. Thanks!
|
357
|
+
|
337
358
|
# Thanks to
|
338
359
|
|
339
360
|
Everyone on [this list](https://github.com/crowdint/rails3-jquery-autocomplete/contributors)
|
@@ -13,4 +13,4 @@
|
|
13
13
|
* Example:
|
14
14
|
* <input type="text" data-autocomplete="/url/to/autocomplete" data-id-element="#id_field">
|
15
15
|
*/
|
16
|
-
(function(a){var b=null;a.fn.railsAutocomplete=function(){return this.live("focus",function(){this.railsAutoCompleter||(this.railsAutoCompleter=new a.railsAutocomplete(this))})},a.railsAutocomplete=function(a){_e=a,this.init(_e)},a.railsAutocomplete.fn=a.railsAutocomplete.prototype={railsAutocomplete:"0.0.1"},a.railsAutocomplete.fn.extend=a.railsAutocomplete.extend=a.extend,a.railsAutocomplete.fn.extend({init:function(b){function c(a){return a.split(b.delimiter)}function d(a){return c(a).pop().replace(/^\s+/,"")}b.delimiter=a(b).attr("data-delimiter")||null,a(b).autocomplete({source:function(c,f){a.getJSON(a(b).attr("data-autocomplete"),{term:d(c.term)},function(){a(arguments[0]).each(function(c,d){var f={};f[d.id]=d,a(b).data(f)}),f.apply(null,arguments)})},search:function(){var a=d(this.value);if(a.length<2)return!1},focus:function(){return!1},select:function(d,f){var g=c(this.value);g.pop(),g.push(f.item.value);if(b.delimiter!=null)g.push(""),this.value=g.join(b.delimiter);else{this.value=g.join(""),a(this).attr("data-id-element")&&a(a(this).attr("data-id-element")).val(f.item.id);if(a(this).attr("data-update-elements")){var h=a(this).data(f.item.id.toString()),i=a.parseJSON(a(this).attr("data-update-elements"));for(var j in i)a(i[j]).val(h[j])}}var k=this.value;return a(this).bind("keyup.clearId",function(){a(this).val().trim()!=k.trim()&&(a(a(this).attr("data-id-element")).val(""),a(this).unbind("keyup.clearId"))}),a(this).trigger("railsAutocomplete.select",f),!1}})}}),a(document).ready(function(){a("input[data-autocomplete]").railsAutocomplete()})})(jQuery)
|
16
|
+
(function(a){var b=null;a.fn.railsAutocomplete=function(){return this.live("focus",function(){this.railsAutoCompleter||(this.railsAutoCompleter=new a.railsAutocomplete(this))})},a.railsAutocomplete=function(a){_e=a,this.init(_e)},a.railsAutocomplete.fn=a.railsAutocomplete.prototype={railsAutocomplete:"0.0.1"},a.railsAutocomplete.fn.extend=a.railsAutocomplete.extend=a.extend,a.railsAutocomplete.fn.extend({init:function(b){function c(a){return a.split(b.delimiter)}function d(a){return c(a).pop().replace(/^\s+/,"")}b.delimiter=a(b).attr("data-delimiter")||null,a(b).autocomplete({source:function(c,f){a.getJSON(a(b).attr("data-autocomplete"),{term:d(c.term)},function(){a(arguments[0]).each(function(c,d){var f={};f[d.id]=d,a(b).data(f)}),f.apply(null,arguments)})},search:function(){var a=d(this.value);if(a.length<2)return!1},focus:function(){return!1},select:function(d,f){var g=c(this.value);g.pop(),g.push(f.item.value);if(b.delimiter!=null)g.push(""),this.value=g.join(b.delimiter);else{this.value=g.join(""),a(this).attr("data-id-element")&&a(a(this).attr("data-id-element")).val(f.item.id);if(a(this).attr("data-update-elements")){var h=a(this).data(f.item.id.toString()),i=a.parseJSON(a(this).attr("data-update-elements"));for(var j in i)a(i[j]).val(h[j])}}var k=this.value;return a(this).bind("keyup.clearId",function(){a(this).val().trim()!=k.trim()&&(a(a(this).attr("data-id-element")).val(""),a(this).unbind("keyup.clearId"))}),a(this).trigger("railsAutocomplete.select",f),!1}})}}),a(document).ready(function(){a("input[data-autocomplete]").railsAutocomplete()})})(jQuery);
|
@@ -1,8 +1,13 @@
|
|
1
1
|
module SimpleForm
|
2
|
+
|
2
3
|
module Inputs
|
3
4
|
class AutocompleteInput < Base
|
4
5
|
def input
|
5
|
-
@builder.autocomplete_field(
|
6
|
+
@builder.autocomplete_field(
|
7
|
+
attribute_name,
|
8
|
+
options[:url],
|
9
|
+
html_options
|
10
|
+
)
|
6
11
|
end
|
7
12
|
|
8
13
|
protected
|
@@ -15,15 +20,22 @@ module SimpleForm
|
|
15
20
|
placeholder_present?
|
16
21
|
end
|
17
22
|
|
23
|
+
def html_options
|
24
|
+
input_html_options.merge update_elements options[:update_elements]
|
25
|
+
end
|
26
|
+
|
18
27
|
def update_elements(elements)
|
19
|
-
|
28
|
+
if elements
|
29
|
+
{'data-update-elements' => elements.to_json}
|
30
|
+
else
|
31
|
+
{}
|
32
|
+
end
|
20
33
|
end
|
21
34
|
end
|
22
35
|
end
|
23
|
-
end
|
24
36
|
|
25
|
-
module SimpleForm
|
26
37
|
class FormBuilder
|
27
38
|
map_type :autocomplete, :to => SimpleForm::Inputs::AutocompleteInput
|
28
39
|
end
|
40
|
+
|
29
41
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'view_test_helper'
|
3
|
+
|
4
|
+
module Rails3JQueryAutocomplete
|
5
|
+
class SimpleFormPluginTest < ActionView::TestCase
|
6
|
+
|
7
|
+
should "apply a class of 'autocomplete'" do
|
8
|
+
with_input_for @user, :name, :autocomplete
|
9
|
+
assert_select "input#user_name.autocomplete[type=text][name='user[name]']"
|
10
|
+
end
|
11
|
+
|
12
|
+
should "add a data-autocomplete attribute with the provided :url" do
|
13
|
+
with_input_for @user, :name, :autocomplete, :url => '/test'
|
14
|
+
assert_select "input#user_name[data-autocomplete=/test]"
|
15
|
+
end
|
16
|
+
|
17
|
+
should "add a data-update-elements attribute with encoded data if passed an :update_elements option" do
|
18
|
+
with_input_for @user, :name, :autocomplete, :update_elements => { :id => '#this', :ego => '#that' }
|
19
|
+
assert_select "input#user_name[data-update-elements='{"id":"#this","ego":"#that"}']"
|
20
|
+
end
|
21
|
+
|
22
|
+
should "not add a data-update-elements attribute if not passed an :update_elements option" do
|
23
|
+
with_input_for @user, :name, :autocomplete, :url => '/test'
|
24
|
+
assert_no_select "input#user_name[data-update-elements]"
|
25
|
+
end
|
26
|
+
|
27
|
+
should "add arbitrary html options, if specified" do
|
28
|
+
with_input_for @user, :name, :autocomplete, :input_html => { :class => "superego" }
|
29
|
+
assert_select "input#user_name.superego"
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -5,6 +5,11 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
5
5
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
6
6
|
|
7
7
|
ENV["RAILS_ENV"] = "test"
|
8
|
+
module Rails
|
9
|
+
def self.env
|
10
|
+
ActiveSupport::StringInquirer.new("test")
|
11
|
+
end
|
12
|
+
end
|
8
13
|
|
9
14
|
require 'rails/all'
|
10
15
|
require 'mongoid'
|
@@ -0,0 +1,108 @@
|
|
1
|
+
class User
|
2
|
+
extend ActiveModel::Naming
|
3
|
+
include ActiveModel::Conversion
|
4
|
+
|
5
|
+
attr_accessor :id, :name, :description, :created_at, :updated_at
|
6
|
+
|
7
|
+
def initialize(options={})
|
8
|
+
@new_record = false
|
9
|
+
options.each do |key, value|
|
10
|
+
send("#{key}=", value)
|
11
|
+
end if options
|
12
|
+
end
|
13
|
+
|
14
|
+
def new_record!
|
15
|
+
@new_record = true
|
16
|
+
end
|
17
|
+
|
18
|
+
def persisted?
|
19
|
+
!@new_record
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
class MockController
|
24
|
+
attr_writer :action_name
|
25
|
+
|
26
|
+
def _routes
|
27
|
+
self
|
28
|
+
end
|
29
|
+
|
30
|
+
def action_name
|
31
|
+
defined?(@action_name) ? @action_name : "edit"
|
32
|
+
end
|
33
|
+
|
34
|
+
def url_for(*args)
|
35
|
+
"http://example.com"
|
36
|
+
end
|
37
|
+
|
38
|
+
def url_helpers
|
39
|
+
self
|
40
|
+
end
|
41
|
+
|
42
|
+
def hash_for_user_path(*args); end
|
43
|
+
def hash_for_users_path(*args); end
|
44
|
+
end
|
45
|
+
|
46
|
+
class MockResponse
|
47
|
+
|
48
|
+
def initialize(test_case)
|
49
|
+
@test_case = test_case
|
50
|
+
end
|
51
|
+
|
52
|
+
def content_type
|
53
|
+
'text/html'
|
54
|
+
end
|
55
|
+
|
56
|
+
def body
|
57
|
+
@test_case.send :output_buffer
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
class ActionView::TestCase
|
62
|
+
include Rails3JQueryAutocomplete::Autocomplete
|
63
|
+
include SimpleForm::ActionViewExtensions::FormHelper
|
64
|
+
|
65
|
+
setup :set_controller
|
66
|
+
setup :set_response
|
67
|
+
setup :setup_new_user
|
68
|
+
|
69
|
+
def assert_no_select(selector, value = nil)
|
70
|
+
assert_select(selector, :text => value, :count => 0)
|
71
|
+
end
|
72
|
+
|
73
|
+
def with_concat_form_for(*args, &block)
|
74
|
+
concat simple_form_for(*args, &block)
|
75
|
+
end
|
76
|
+
|
77
|
+
def with_input_for(object, attribute_name, type, options={})
|
78
|
+
with_concat_form_for(object) do |f|
|
79
|
+
f.input(attribute_name, options.merge(:as => type))
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def set_controller
|
84
|
+
@controller = MockController.new
|
85
|
+
end
|
86
|
+
|
87
|
+
def set_response
|
88
|
+
@response = MockResponse.new(self)
|
89
|
+
end
|
90
|
+
|
91
|
+
def setup_new_user
|
92
|
+
@user = User.new(
|
93
|
+
:id => 1,
|
94
|
+
:name => 'New in SimpleForm!',
|
95
|
+
:description => 'Hello!',
|
96
|
+
:created_at => Time.now
|
97
|
+
)
|
98
|
+
end
|
99
|
+
|
100
|
+
def protect_against_forgery?
|
101
|
+
false
|
102
|
+
end
|
103
|
+
|
104
|
+
def user_path(*args)
|
105
|
+
'/users'
|
106
|
+
end
|
107
|
+
alias :users_path :user_path
|
108
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails3-jquery-autocomplete
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-04-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70154298640540 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70154298640540
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sqlite3-ruby
|
27
|
-
requirement: &
|
27
|
+
requirement: &70154298638880 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70154298638880
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: mongoid
|
38
|
-
requirement: &
|
38
|
+
requirement: &70154298635000 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.0.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70154298635000
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: mongo_mapper
|
49
|
-
requirement: &
|
49
|
+
requirement: &70154298653820 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,32 +54,76 @@ dependencies:
|
|
54
54
|
version: '0.9'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70154298653820
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: mongo
|
60
|
+
requirement: &70154298665520 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 1.6.2
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70154298665520
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: bson_ext
|
60
|
-
requirement: &
|
71
|
+
requirement: &70154298664280 !ruby/object:Gem::Requirement
|
61
72
|
none: false
|
62
73
|
requirements:
|
63
74
|
- - ~>
|
64
75
|
- !ruby/object:Gem::Version
|
65
|
-
version: 1.
|
76
|
+
version: 1.6.2
|
66
77
|
type: :development
|
67
78
|
prerelease: false
|
68
|
-
version_requirements: *
|
79
|
+
version_requirements: *70154298664280
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: guard
|
82
|
+
requirement: &70154298661600 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *70154298661600
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: guard-test
|
93
|
+
requirement: &70154298658700 !ruby/object:Gem::Requirement
|
94
|
+
none: false
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *70154298658700
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: test-unit
|
104
|
+
requirement: &70154298671440 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 2.2.0
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *70154298671440
|
69
113
|
- !ruby/object:Gem::Dependency
|
70
114
|
name: shoulda
|
71
|
-
requirement: &
|
115
|
+
requirement: &70154298668460 !ruby/object:Gem::Requirement
|
72
116
|
none: false
|
73
117
|
requirements:
|
74
118
|
- - ~>
|
75
119
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
120
|
+
version: 3.0.1
|
77
121
|
type: :development
|
78
122
|
prerelease: false
|
79
|
-
version_requirements: *
|
123
|
+
version_requirements: *70154298668460
|
80
124
|
- !ruby/object:Gem::Dependency
|
81
125
|
name: uglifier
|
82
|
-
requirement: &
|
126
|
+
requirement: &70154314667660 !ruby/object:Gem::Requirement
|
83
127
|
none: false
|
84
128
|
requirements:
|
85
129
|
- - ! '>='
|
@@ -87,10 +131,10 @@ dependencies:
|
|
87
131
|
version: '0'
|
88
132
|
type: :development
|
89
133
|
prerelease: false
|
90
|
-
version_requirements: *
|
134
|
+
version_requirements: *70154314667660
|
91
135
|
- !ruby/object:Gem::Dependency
|
92
136
|
name: rr
|
93
|
-
requirement: &
|
137
|
+
requirement: &70154314666660 !ruby/object:Gem::Requirement
|
94
138
|
none: false
|
95
139
|
requirements:
|
96
140
|
- - ! '>='
|
@@ -98,7 +142,18 @@ dependencies:
|
|
98
142
|
version: '0'
|
99
143
|
type: :development
|
100
144
|
prerelease: false
|
101
|
-
version_requirements: *
|
145
|
+
version_requirements: *70154314666660
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: simple_form
|
148
|
+
requirement: &70154314664920 !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
150
|
+
requirements:
|
151
|
+
- - ~>
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '1.5'
|
154
|
+
type: :development
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: *70154314664920
|
102
157
|
description: Use jQuery's autocomplete plugin with Rails 3.
|
103
158
|
email: david.padilla@crowdint.com
|
104
159
|
executables: []
|
@@ -134,8 +189,10 @@ files:
|
|
134
189
|
- test/lib/rails3-jquery-autocomplete/orm/active_record_test.rb
|
135
190
|
- test/lib/rails3-jquery-autocomplete/orm/mongo_mapper_test.rb
|
136
191
|
- test/lib/rails3-jquery-autocomplete/orm/mongoid_test.rb
|
192
|
+
- test/lib/rails3-jquery-autocomplete/simple_form_plugin_test.rb
|
137
193
|
- test/lib/rails3-jquery-autocomplete_test.rb
|
138
194
|
- test/test_helper.rb
|
195
|
+
- test/view_test_helper.rb
|
139
196
|
homepage: http://github.com/crowdint/rails3-jquery-autocomplete
|
140
197
|
licenses: []
|
141
198
|
post_install_message:
|
@@ -148,12 +205,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
148
205
|
- - ! '>='
|
149
206
|
- !ruby/object:Gem::Version
|
150
207
|
version: '0'
|
208
|
+
segments:
|
209
|
+
- 0
|
210
|
+
hash: -2709210459065488220
|
151
211
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
212
|
none: false
|
153
213
|
requirements:
|
154
214
|
- - ! '>='
|
155
215
|
- !ruby/object:Gem::Version
|
156
216
|
version: '0'
|
217
|
+
segments:
|
218
|
+
- 0
|
219
|
+
hash: -2709210459065488220
|
157
220
|
requirements: []
|
158
221
|
rubyforge_project:
|
159
222
|
rubygems_version: 1.8.11
|
@@ -168,5 +231,7 @@ test_files:
|
|
168
231
|
- test/lib/rails3-jquery-autocomplete/orm/active_record_test.rb
|
169
232
|
- test/lib/rails3-jquery-autocomplete/orm/mongo_mapper_test.rb
|
170
233
|
- test/lib/rails3-jquery-autocomplete/orm/mongoid_test.rb
|
234
|
+
- test/lib/rails3-jquery-autocomplete/simple_form_plugin_test.rb
|
171
235
|
- test/lib/rails3-jquery-autocomplete_test.rb
|
172
236
|
- test/test_helper.rb
|
237
|
+
- test/view_test_helper.rb
|