rhodes 0.3.0 → 1.0.0
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/Manifest.txt +0 -61
- data/Rakefile +11 -13
- data/lib/rhodes.rb +2 -2
- metadata +33 -77
- data/History.txt +0 -40
- data/README.rdoc +0 -2
- data/bin/rhogen +0 -8
- data/generators/rhogen.rb +0 -131
- data/generators/templates/application/application.rb +0 -4
- data/generators/templates/application/index.erb +0 -11
- data/generators/templates/application/layout.erb +0 -17
- data/generators/templates/model/config.rb +0 -3
- data/generators/templates/model/controller.rb +0 -49
- data/generators/templates/model/edit.erb +0 -21
- data/generators/templates/model/index.erb +0 -10
- data/generators/templates/model/new.erb +0 -16
- data/generators/templates/model/show.erb +0 -6
- data/generators/templates/source/source_adapter.rb +0 -56
- data/lib/ServeME.rb +0 -7
- data/lib/TestServe.rb +0 -9
- data/lib/bsearch.rb +0 -120
- data/lib/builtinME.rb +0 -588
- data/lib/date.rb +0 -1792
- data/lib/date/format.rb +0 -1339
- data/lib/dateME.rb +0 -24
- data/lib/erb.rb +0 -896
- data/lib/find.rb +0 -81
- data/lib/rational.rb +0 -19
- data/lib/rationalME.rb +0 -530
- data/lib/rho.rb +0 -1
- data/lib/rho/render.rb +0 -51
- data/lib/rho/rho.rb +0 -240
- data/lib/rho/rhoapplication.rb +0 -36
- data/lib/rho/rhocontact.rb +0 -110
- data/lib/rho/rhocontroller.rb +0 -35
- data/lib/rho/rhofsconnector.rb +0 -32
- data/lib/rho/rhosupport.rb +0 -139
- data/lib/rho/rhoviewhelpers.rb +0 -121
- data/lib/rhoframework.rb +0 -38
- data/lib/rhofsconnector.rb +0 -1
- data/lib/rhom.rb +0 -1
- data/lib/rhom/rhom.rb +0 -58
- data/lib/rhom/rhom_db_adapter.rb +0 -185
- data/lib/rhom/rhom_db_adapterME.rb +0 -93
- data/lib/rhom/rhom_object.rb +0 -65
- data/lib/rhom/rhom_object_factory.rb +0 -197
- data/lib/rhom/rhom_source.rb +0 -60
- data/lib/singleton.rb +0 -137
- data/lib/time.rb +0 -489
- data/spec/app_generator_spec.rb +0 -33
- data/spec/app_manifest.txt +0 -3
- data/spec/configs/account.rb +0 -3
- data/spec/configs/case.rb +0 -3
- data/spec/configs/employee.rb +0 -3
- data/spec/generator_spec_helper.rb +0 -12
- data/spec/model_generator_spec.rb +0 -36
- data/spec/rho_controller_spec.rb +0 -139
- data/spec/rho_spec.rb +0 -61
- data/spec/rhom_object_factory_spec.rb +0 -132
- data/spec/rhom_spec.rb +0 -45
- data/spec/source_generator_spec.rb +0 -27
- data/spec/spec_helper.rb +0 -48
- data/spec/stubs.rb +0 -31
- data/spec/syncdbtest.sqlite +0 -0
- data/tasks/rspec.rake +0 -34
data/spec/app_generator_spec.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/generator_spec_helper'
|
2
|
-
|
3
|
-
describe Rhogen::AppGenerator do
|
4
|
-
|
5
|
-
app_name = 'NeatApp'
|
6
|
-
|
7
|
-
it "should complain if no name is specified" do
|
8
|
-
lambda {
|
9
|
-
@generator = Rhogen::AppGenerator.new('/tmp', {})
|
10
|
-
}.should raise_error(::Templater::TooFewArgumentsError)
|
11
|
-
end
|
12
|
-
|
13
|
-
|
14
|
-
it "should generate class_name" do
|
15
|
-
@generator = Rhogen::AppGenerator.new('/tmp', {}, 'Class-With-Hyphens')
|
16
|
-
@generator.class_name.should == 'ClassWithHyphens'
|
17
|
-
end
|
18
|
-
|
19
|
-
before do
|
20
|
-
@generator = Rhogen::AppGenerator.new('/tmp', {}, app_name)
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should create application.rb, index.erb, and layout.erb files" do
|
24
|
-
['application.rb', 'index.erb', 'layout.erb'].each do |template|
|
25
|
-
@generator.should create("/tmp/#{app_name}/#{template}")
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should generate valid erb templates" do
|
30
|
-
pending "need to figure out how to validate erb"
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
data/spec/app_manifest.txt
DELETED
data/spec/configs/account.rb
DELETED
data/spec/configs/case.rb
DELETED
data/spec/configs/employee.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
$:.push File.join(File.dirname(__FILE__), '..', 'lib')
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'spec'
|
5
|
-
require 'templater/spec/helpers'
|
6
|
-
|
7
|
-
$:.push File.join(File.dirname(__FILE__), '..', 'generators')
|
8
|
-
require 'rhogen'
|
9
|
-
|
10
|
-
Spec::Runner.configure do |config|
|
11
|
-
config.include Templater::Spec::Helpers
|
12
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/generator_spec_helper'
|
2
|
-
require 'fileutils'
|
3
|
-
|
4
|
-
describe Rhogen::ModelGenerator do
|
5
|
-
|
6
|
-
model_name = 'employee'
|
7
|
-
|
8
|
-
it "should complain if no name is specified" do
|
9
|
-
lambda {
|
10
|
-
@generator = Rhogen::ModelGenerator.new('/tmp', {})
|
11
|
-
}.should raise_error(::Templater::TooFewArgumentsError)
|
12
|
-
end
|
13
|
-
|
14
|
-
before do
|
15
|
-
@generator = Rhogen::ModelGenerator.new('/tmp', {}, model_name, "http://something.com/sources/5", 5, "name,industry,address")
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should have attributes" do
|
19
|
-
@generator.attributes?.should == true
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should have all attributes" do
|
23
|
-
@generator.attributes.should == ['name', 'industry', 'address']
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should create config.rb, controller.rb, index.erb, edit.erb, and new.erb files" do
|
27
|
-
['config.rb', 'controller.rb', 'index.erb', 'edit.erb', 'new.erb', 'show.erb'].each do |template|
|
28
|
-
@generator.should create("/tmp/#{model_name.camel_case}/#{template}")
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should generate valid erb templates" do
|
33
|
-
pending "need to figure out how to validate erb"
|
34
|
-
end
|
35
|
-
|
36
|
-
end
|
data/spec/rho_controller_spec.rb
DELETED
@@ -1,139 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# rho_controller_spec.rb
|
3
|
-
# rhodes
|
4
|
-
#
|
5
|
-
# Copyright (C) 2008 Lars Burgess. All rights reserved.
|
6
|
-
#
|
7
|
-
# This program is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU General Public License as published by
|
9
|
-
# the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
#
|
12
|
-
# This program is distributed in the hope that it will be useful,
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
# GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You should have received a copy of the GNU General Public License
|
18
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
-
#
|
20
|
-
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
21
|
-
require File.dirname(__FILE__) + "/spec_helper"
|
22
|
-
require 'rho/rhocontroller'
|
23
|
-
|
24
|
-
describe "Rho" do
|
25
|
-
|
26
|
-
it_should_behave_like "rho initializer"
|
27
|
-
|
28
|
-
describe "url_for and link_to" do
|
29
|
-
|
30
|
-
before(:each) do
|
31
|
-
@c = Rho::RhoController.new
|
32
|
-
@c.stub!(:send).and_return(nil)
|
33
|
-
@c.serve(nil,{'application' => 'application', 'model' => 'model'},{})
|
34
|
-
end
|
35
|
-
|
36
|
-
it "should generate urls for empty params" do
|
37
|
-
@c.url_for().should == '/application/model'
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should generate urls for a url" do
|
41
|
-
@c.url_for('/some_url').should == '/some_url'
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should generate urls for a symbol" do
|
45
|
-
@c.url_for(:new).should == 'new'
|
46
|
-
end
|
47
|
-
|
48
|
-
it "should generate urls for an action" do
|
49
|
-
@c.url_for(:action => :new).should == '/application/model/new'
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should generate urls for an action and id" do
|
53
|
-
@c.url_for(:action => :show, :id => '{12}').should == '/application/model/{12}/show'
|
54
|
-
end
|
55
|
-
|
56
|
-
it "should generate urls for create or index actions" do
|
57
|
-
@c.url_for(:action => :index, :id => '{12}').should == '/application/model'
|
58
|
-
@c.url_for(:action => :create).should == '/application/model'
|
59
|
-
end
|
60
|
-
|
61
|
-
it "should generate urls for an model, action, and id" do
|
62
|
-
@c.url_for(:model => 'another_model', :action => :show, :id => '{12}').should == '/application/another_model/{12}/show'
|
63
|
-
@c.url_for(:model => :another_model, :action => :show, :id => '{12}').should == '/application/another_model/{12}/show'
|
64
|
-
end
|
65
|
-
|
66
|
-
it "should generate urls for an application, model, action, and id" do
|
67
|
-
@c.url_for(:application => :another_app, :model => :another_model,
|
68
|
-
:action => :show, :id => '{12}').should == '/another_app/another_model/{12}/show'
|
69
|
-
end
|
70
|
-
|
71
|
-
it "should generate urls with a query" do
|
72
|
-
@c.url_for(:action => :create, :query => {:name => 'John Smith',
|
73
|
-
'address' => "http://john.smith.com"}).should == '/application/model?name=John%20Smith&address=http%3A%2F%2Fjohn.smith.com'
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should generate urls with a fragment" do
|
77
|
-
@c.url_for(:action => :show, :id => '{12}', :fragment => "an-anchor").should == '/application/model/{12}/show#an-anchor'
|
78
|
-
end
|
79
|
-
|
80
|
-
it "should generate link for a url" do
|
81
|
-
@c.link_to("Visit Other Site", "http://www.rhomobile.com/").should == "<a href=\"http://www.rhomobile.com/\" >Visit Other Site</a>"
|
82
|
-
end
|
83
|
-
|
84
|
-
it "should generate link for an action" do
|
85
|
-
@c.link_to("Help", :action => "help").should == "<a href=\"/application/model/help\" >Help</a>"
|
86
|
-
end
|
87
|
-
|
88
|
-
it "should generate link for 'delete' action" do
|
89
|
-
@c.link_to("Delete", :action => "delete", :id => '{12}').should == "<a href=\"/application/model/{12}/delete\" onclick=\"var f = document.createElement('form'); f.style.display = 'none';this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;f.submit();return false;\">Delete</a>"
|
90
|
-
end
|
91
|
-
|
92
|
-
it "should generate link for an action and style it" do
|
93
|
-
@c.link_to("Show", { :action => "show", :id => '{12}'},"style=\"height:4px;width:7px;border-width:0px;\"").should == "<a href=\"/application/model/{12}/show\" style=\"height:4px;width:7px;border-width:0px;\">Show</a>"
|
94
|
-
end
|
95
|
-
|
96
|
-
it "should generate link for 'delete' action and style it" do
|
97
|
-
@c.link_to("Delete", { :action => "delete", :id => '{12}' }, "class=\"delete_link\"").should == "<a href=\"/application/model/{12}/delete\" class=\"delete_link\" onclick=\"var f = document.createElement('form'); f.style.display = 'none';this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;f.submit();return false;\">Delete</a>"
|
98
|
-
end
|
99
|
-
|
100
|
-
it "should generate link with a query" do
|
101
|
-
@c.link_to("Invate",:action => :invite, :query => {:name => 'John Smith', 'address' => "http://john.smith.com"}).should == "<a href=\"/application/model/invite?name=John%20Smith&address=http%3A%2F%2Fjohn.smith.com\" >Invate</a>"
|
102
|
-
end
|
103
|
-
|
104
|
-
end #describe "url_for and link_to"
|
105
|
-
|
106
|
-
describe "redirect" do
|
107
|
-
|
108
|
-
before(:each) do
|
109
|
-
@response = Hash.new
|
110
|
-
@response['headers'] = {}
|
111
|
-
@c = Rho::RhoController.new
|
112
|
-
@c.stub!(:send).and_return(nil)
|
113
|
-
@c.serve(nil,{'application' => 'application', 'model' => 'model'},@response)
|
114
|
-
end
|
115
|
-
|
116
|
-
it "should redirect to a url" do
|
117
|
-
@c.redirect "/start-page"
|
118
|
-
@response['headers']['Location'].should == "/start-page"
|
119
|
-
@response['status'].should == 302
|
120
|
-
@response['message'].should == 'Moved temporarily'
|
121
|
-
end
|
122
|
-
|
123
|
-
it "should redirect to an action" do
|
124
|
-
@c.redirect :action => :show, :id => '{12}'
|
125
|
-
@response['headers']['Location'].should == "/application/model/{12}/show"
|
126
|
-
@response['status'].should == 302
|
127
|
-
@response['message'].should == 'Moved temporarily'
|
128
|
-
end
|
129
|
-
|
130
|
-
it "should redirect to an action with 301 status code and status message" do
|
131
|
-
@c.redirect({:action => :show, :id => '{12}'}, {'status' => 301, 'message' => 'Moved permanently'})
|
132
|
-
@response['headers']['Location'].should == "/application/model/{12}/show"
|
133
|
-
@response['status'].should == 301
|
134
|
-
@response['message'].should == 'Moved permanently'
|
135
|
-
end
|
136
|
-
|
137
|
-
end #describe "redirect"
|
138
|
-
|
139
|
-
end
|
data/spec/rho_spec.rb
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# rho_spec.rb
|
3
|
-
# rhodes
|
4
|
-
#
|
5
|
-
# Copyright (C) 2008 Lars Burgess. All rights reserved.
|
6
|
-
#
|
7
|
-
# This program is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU General Public License as published by
|
9
|
-
# the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
#
|
12
|
-
# This program is distributed in the hope that it will be useful,
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
# GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You should have received a copy of the GNU General Public License
|
18
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
-
#
|
20
|
-
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
21
|
-
require File.dirname(__FILE__) + "/spec_helper"
|
22
|
-
|
23
|
-
describe "Rho" do
|
24
|
-
|
25
|
-
it_should_behave_like "rho initializer"
|
26
|
-
it_should_behave_like "rho db initializer"
|
27
|
-
|
28
|
-
it "should populate configuration in sources table" do
|
29
|
-
sources = Rhom::RhomDbAdapter::select_from_table('sources','*')
|
30
|
-
sources.size.should > 1
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should initialize configuration only once" do
|
34
|
-
Rhom::RhomDbAdapter::delete_all_from_table('sources')
|
35
|
-
@rho.source_initialized?(1).should == false
|
36
|
-
@rho.init_sources
|
37
|
-
@rho.source_initialized?(1).should == true
|
38
|
-
end
|
39
|
-
|
40
|
-
it "should have start_path" do
|
41
|
-
Rho::RhoConfig.start_path.should == '/'
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should set start_path" do
|
45
|
-
Rho::RhoConfig.start_path = '/foo/bar'
|
46
|
-
Rho::RhoConfig.start_path.should == '/foo/bar'
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should retrieve start_path" do
|
50
|
-
Rho::RhoConfig.start_path = '/'
|
51
|
-
@rho.get_start_path.should == '/'
|
52
|
-
end
|
53
|
-
|
54
|
-
it "should return from get_app" do
|
55
|
-
pending "fix relative paths for testing of get_app"
|
56
|
-
end
|
57
|
-
|
58
|
-
it "should serve request" do
|
59
|
-
pending "need to mock request"
|
60
|
-
end
|
61
|
-
end
|
@@ -1,132 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# rhom_object_factory_spec.rb
|
3
|
-
# rhodes
|
4
|
-
#
|
5
|
-
# Copyright (C) 2008 Lars Burgess. All rights reserved.
|
6
|
-
#
|
7
|
-
# This program is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU General Public License as published by
|
9
|
-
# the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
# This program is distributed in the hope that it will be useful,
|
12
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
-
# GNU General Public License for more details.
|
15
|
-
#
|
16
|
-
# You should have received a copy of the GNU General Public License
|
17
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
18
|
-
#
|
19
|
-
require File.dirname(__FILE__) + "/spec_helper"
|
20
|
-
|
21
|
-
describe "RhomObjectFactory" do
|
22
|
-
|
23
|
-
it_should_behave_like "rho initializer"
|
24
|
-
it_should_behave_like "rho db initializer"
|
25
|
-
|
26
|
-
it "should set source_id attributes" do
|
27
|
-
Account.get_source_id.should == "1"
|
28
|
-
Case.get_source_id.should == "2"
|
29
|
-
Employee.get_source_id.should == "3"
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should dynamically assign values" do
|
33
|
-
account = Account.new
|
34
|
-
account.name = 'hello name'
|
35
|
-
account.industry = 'hello industry'
|
36
|
-
account.object = '3560c0a0-ef58-2f40-68a5-fffffffffffff'
|
37
|
-
account.value = 'xyz industries'
|
38
|
-
account.name.should == 'hello name'
|
39
|
-
account.industry.should == 'hello industry'
|
40
|
-
account.object.should == '3560c0a0-ef58-2f40-68a5-fffffffffffff'
|
41
|
-
account.value.should == 'xyz industries'
|
42
|
-
end
|
43
|
-
|
44
|
-
it "should retrieve Case models" do
|
45
|
-
results = Case.find(:all)
|
46
|
-
results.length.should == 7
|
47
|
-
results[0].case_number.should == "57"
|
48
|
-
results[4].name.should == "implement SugarCRM sample app"
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should retrieve Account models" do
|
52
|
-
results = Account.find(:all)
|
53
|
-
results.length.should == 5
|
54
|
-
results[0].name.should == "vSpring"
|
55
|
-
results[0].industry.should == "Finance"
|
56
|
-
results[1].name.should == "Rhomobile"
|
57
|
-
results[1].industry.should == "Technology"
|
58
|
-
results[4].industry.should == "Technology"
|
59
|
-
results[4].name.should == "Mobio India"
|
60
|
-
end
|
61
|
-
|
62
|
-
it "should have correct number of attributes" do
|
63
|
-
@account = Account.find(:all).first
|
64
|
-
|
65
|
-
@account.instance_variables.size.should == 36
|
66
|
-
end
|
67
|
-
|
68
|
-
it "should calculate same djb_hash" do
|
69
|
-
vars = {"name"=>"foobarthree", "industry"=>"entertainment"}
|
70
|
-
account = Account.new(vars)
|
71
|
-
account.object.should == "272128608299468889014"
|
72
|
-
end
|
73
|
-
|
74
|
-
it "should create a record" do
|
75
|
-
vars = {"name"=>"some new record", "industry"=>"electronices"}
|
76
|
-
@account1 = Account.new(vars)
|
77
|
-
new_id = @account1.object
|
78
|
-
@account1.save
|
79
|
-
@account2 = Account.find(new_id)
|
80
|
-
@account2.object.should =="{#{@account1.object}}"
|
81
|
-
@account2.name.should == vars['name']
|
82
|
-
@account2.industry.should == vars['industry']
|
83
|
-
end
|
84
|
-
|
85
|
-
it "should destroy a record" do
|
86
|
-
count = Account.find(:all).size
|
87
|
-
@account = Account.find(:all)[0]
|
88
|
-
destroy_id = @account.object
|
89
|
-
@account.destroy
|
90
|
-
@account_nil = Account.find(destroy_id)
|
91
|
-
@account_nil.size.should == 0
|
92
|
-
new_count = Account.find(:all).size
|
93
|
-
(count - 1).should == new_count
|
94
|
-
end
|
95
|
-
|
96
|
-
it "should partially update a record" do
|
97
|
-
new_attributes = {"name"=>"Mobio US"}
|
98
|
-
@account = Account.find("44e804f2-4933-4e20-271c-48fcecd9450d")
|
99
|
-
@account.update_attributes(new_attributes)
|
100
|
-
@new_acct = Account.find("44e804f2-4933-4e20-271c-48fcecd9450d")
|
101
|
-
@new_acct.name.should == "Mobio US"
|
102
|
-
@new_acct.industry.should == "Technology"
|
103
|
-
end
|
104
|
-
|
105
|
-
it "should fully update a record" do
|
106
|
-
new_attributes = {"name"=>"Mobio US", "industry"=>"Electronics"}
|
107
|
-
@account = Account.find(:all).first
|
108
|
-
@account.update_attributes(new_attributes)
|
109
|
-
|
110
|
-
@new_acct = Account.find(:all).first
|
111
|
-
|
112
|
-
@new_acct.name.should == "Mobio US"
|
113
|
-
@new_acct.industry.should == "Electronics"
|
114
|
-
end
|
115
|
-
|
116
|
-
it "should retrieve and modify one record" do
|
117
|
-
@acct = Account.find('44e804f2-4933-4e20-271c-48fcecd9450d')
|
118
|
-
|
119
|
-
@acct.name.should == "Mobio US"
|
120
|
-
@acct.industry.should == "Technology"
|
121
|
-
|
122
|
-
@acct.name = "Rhomobile US"
|
123
|
-
|
124
|
-
@acct.name.should == "Rhomobile US"
|
125
|
-
end
|
126
|
-
|
127
|
-
it "should return an empty value for a non-existent attribute" do
|
128
|
-
@acct = Account.find('44e804f2-4933-4e20-271c-48fcecd9450d')
|
129
|
-
|
130
|
-
@acct.foobar.should be_nil
|
131
|
-
end
|
132
|
-
end
|
data/spec/rhom_spec.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# rhom_spec.rb
|
3
|
-
# rhodes
|
4
|
-
#
|
5
|
-
# Copyright (C) 2008 Lars Burgess. All rights reserved.
|
6
|
-
#
|
7
|
-
# This program is free software: you can redistribute it and/or modify
|
8
|
-
# it under the terms of the GNU General Public License as published by
|
9
|
-
# the Free Software Foundation, either version 3 of the License, or
|
10
|
-
# (at your option) any later version.
|
11
|
-
#
|
12
|
-
# This program is distributed in the hope that it will be useful,
|
13
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
-
# GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You should have received a copy of the GNU General Public License
|
18
|
-
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
-
#
|
20
|
-
$:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
21
|
-
require File.dirname(__FILE__) + "/spec_helper"
|
22
|
-
|
23
|
-
describe "Rhom" do
|
24
|
-
|
25
|
-
it_should_behave_like "rho initializer"
|
26
|
-
it_should_behave_like "rho db initializer"
|
27
|
-
|
28
|
-
it "should get client_id" do
|
29
|
-
Rhom::Rhom::client_id.should == '67320d31-e42e-4156-af91-5d9bd7175b08'
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should perform full reset of database" do
|
33
|
-
Rhom::Rhom::database_full_reset
|
34
|
-
Rhom::RhomDbAdapter::select_from_table('object_values','*').length.should == 0
|
35
|
-
Rhom::RhomDbAdapter::select_from_table('client_info','*').length.should == 0
|
36
|
-
Rhom::Rhom::client_id.should be_nil
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should perform full database reset and logout" do
|
40
|
-
Rhom::Rhom::database_full_reset_and_logout
|
41
|
-
Rhom::RhomDbAdapter::select_from_table('object_values','*').length.should == 0
|
42
|
-
Rhom::RhomDbAdapter::select_from_table('client_info','*').length.should == 0
|
43
|
-
Rhom::Rhom::client_id.should be_nil
|
44
|
-
end
|
45
|
-
end
|