mirror of
https://github.com/kbparagua/paloma
synced 2023-03-27 23:21:17 -04:00
starting with tests
This commit is contained in:
parent
e1a3da4277
commit
472627ac94
13 changed files with 72 additions and 6 deletions
15
Gemfile.lock
15
Gemfile.lock
|
@ -2,6 +2,7 @@ PATH
|
|||
remote: .
|
||||
specs:
|
||||
paloma (0.0.2)
|
||||
jquery-rails
|
||||
|
||||
GEM
|
||||
remote: http://rubygems.org/
|
||||
|
@ -52,7 +53,12 @@ GEM
|
|||
hike (1.2.1)
|
||||
i18n (0.6.1)
|
||||
journey (1.0.4)
|
||||
jquery-rails (2.1.4)
|
||||
railties (>= 3.0, < 5.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
json (1.7.5)
|
||||
launchy (2.1.2)
|
||||
addressable (~> 2.3)
|
||||
libwebsocket (0.1.7.1)
|
||||
addressable
|
||||
websocket
|
||||
|
@ -97,6 +103,13 @@ GEM
|
|||
rspec-expectations (2.12.1)
|
||||
diff-lcs (~> 1.1.3)
|
||||
rspec-mocks (2.12.0)
|
||||
rspec-rails (2.12.0)
|
||||
actionpack (>= 3.0)
|
||||
activesupport (>= 3.0)
|
||||
railties (>= 3.0)
|
||||
rspec-core (~> 2.12.0)
|
||||
rspec-expectations (~> 2.12.0)
|
||||
rspec-mocks (~> 2.12.0)
|
||||
rubyzip (0.9.9)
|
||||
selenium-webdriver (2.27.2)
|
||||
childprocess (>= 0.2.5)
|
||||
|
@ -126,8 +139,10 @@ DEPENDENCIES
|
|||
bundler (>= 1.0.0)
|
||||
capybara (>= 1.0)
|
||||
database_cleaner
|
||||
launchy
|
||||
paloma!
|
||||
rails (>= 3.1.0)
|
||||
rake
|
||||
rspec
|
||||
rspec-rails (~> 2.0)
|
||||
sqlite3
|
||||
|
|
|
@ -3,6 +3,7 @@ module Paloma
|
|||
|
||||
def self.included base
|
||||
base.module_eval do
|
||||
prepend_view_path "#{Paloma.root}/app/views/"
|
||||
before_filter :js_callback
|
||||
after_filter :update_callback, :if => :html_response_from_render?
|
||||
end
|
||||
|
@ -20,7 +21,7 @@ module Paloma
|
|||
add_to_callbacks @__callback__, @__js_params__
|
||||
|
||||
response_body[0] += view_context.render(
|
||||
:file => "#{Paloma.root}/app/views/paloma/callback_hook",
|
||||
:partial => "paloma/callback_hook",
|
||||
:locals => {:callbacks => session[:callbacks]})
|
||||
|
||||
response.body = response_body[0]
|
||||
|
|
|
@ -9,11 +9,15 @@ Gem::Specification.new do |s|
|
|||
s.files = `git ls-files`.split("\n")
|
||||
s.homepage = 'https://github.com/kbparagua/paloma'
|
||||
|
||||
s.add_dependency 'jquery-rails'
|
||||
|
||||
s.add_development_dependency 'rails', ['>= 3.1.0']
|
||||
s.add_development_dependency 'bundler', ['>= 1.0.0']
|
||||
s.add_development_dependency 'rake', ['>= 0']
|
||||
s.add_development_dependency 'sqlite3', ['>= 0']
|
||||
s.add_development_dependency 'rspec', ['>= 0']
|
||||
s.add_development_dependency 'rspec-rails', ['~> 2.0']
|
||||
s.add_development_dependency 'capybara', ['>= 1.0']
|
||||
s.add_development_dependency 'database_cleaner', ['>= 0']
|
||||
s.add_development_dependency 'launchy', ['>= 0']
|
||||
end
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
require 'spec_helper'
|
||||
|
||||
|
||||
describe "Rendering HTML response of controller's action ", :type => :feature do
|
||||
|
||||
it "executes the correct javascript callback" do
|
||||
visit new_article_path
|
||||
|
||||
page.has_css?('.callback-details').should == true
|
||||
end
|
||||
|
||||
end
|
||||
|
|
4
spec/sample_app/app/assets/javascripts/application.js
Normal file
4
spec/sample_app/app/assets/javascripts/application.js
Normal file
|
@ -0,0 +1,4 @@
|
|||
//
|
||||
//= require jquery.js
|
||||
//= require jquery_ujs.js
|
||||
//= require_tree .
|
|
@ -0,0 +1 @@
|
|||
//= require_tree .
|
|
@ -0,0 +1,3 @@
|
|||
Paloma.callbacks['articles/new'] = function(params){
|
||||
$('body').append($("<div id='from-articles-new-callback'></div>"));
|
||||
};
|
|
@ -0,0 +1,3 @@
|
|||
window.Paloma = {callbacks:{}};
|
||||
|
||||
//= require ./articles/callbacks
|
|
@ -1,4 +1,4 @@
|
|||
<%= form_for @article do |f| %>
|
||||
<%= form_for @article, :html => {:id => "article-form"} do |f| %>
|
||||
Title:
|
||||
<%= f.text_field :title %>
|
||||
|
12
spec/sample_app/app/views/layouts/application.html.erb
Normal file
12
spec/sample_app/app/views/layouts/application.html.erb
Normal file
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Paloma</title>
|
||||
<%= csrf_meta_tags %>
|
||||
<%= javascript_include_tag "application" %>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%= yield %>
|
||||
</body>
|
||||
</html>
|
|
@ -1,6 +1,11 @@
|
|||
require 'action_controller/railtie'
|
||||
require 'action_view/railtie'
|
||||
|
||||
require 'jquery-rails'
|
||||
require 'sprockets/railtie'
|
||||
require 'sprockets'
|
||||
|
||||
|
||||
# Dummy Rails Configurations
|
||||
app = Class.new(Rails::Application)
|
||||
app.config.secret_token = '3b7cd727ee24e8444053437c36cc66c4'
|
||||
|
@ -8,15 +13,21 @@ app.config.session_store :cookie_store, :key => '_myapp_session'
|
|||
app.config.active_support.deprecation = :log
|
||||
app.config.root = File.dirname(__FILE__)
|
||||
|
||||
# Assets
|
||||
app.config.assets.enabled = true
|
||||
app.config.assets.version = '1.0'
|
||||
app.config.assets.compress = false
|
||||
app.config.assets.debug = true
|
||||
app.config.assets.compile = true
|
||||
|
||||
Rails.backtrace_cleaner.remove_silencers!
|
||||
app.initialize!
|
||||
|
||||
|
||||
# Routes
|
||||
app.routes.draw do
|
||||
resources :articles
|
||||
resources :articles, :controller => 'Articles'
|
||||
end
|
||||
|
||||
|
||||
require "#{Paloma.root}/spec/sample_app/model"
|
||||
require "#{Paloma.root}/spec/sample_app/controllers"
|
||||
|
|
|
@ -3,4 +3,8 @@ require 'bundler/setup'
|
|||
Bundler.require
|
||||
|
||||
require 'sample_app/init'
|
||||
#require 'rspec/rails'
|
||||
require 'rspec/rails'
|
||||
|
||||
|
||||
require 'capybara/rspec'
|
||||
require 'database_cleaner'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue