1
0
Fork 0
mirror of https://github.com/kbparagua/paloma synced 2023-03-27 23:21:17 -04:00

starting with tests

This commit is contained in:
kparagua 2012-12-18 18:39:33 +08:00
parent e1a3da4277
commit 472627ac94
13 changed files with 72 additions and 6 deletions

View file

@ -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

View file

@ -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]

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,4 @@
//
//= require jquery.js
//= require jquery_ujs.js
//= require_tree .

View file

@ -0,0 +1 @@
//= require_tree .

View file

@ -0,0 +1,3 @@
Paloma.callbacks['articles/new'] = function(params){
$('body').append($("<div id='from-articles-new-callback'></div>"));
};

View file

@ -0,0 +1,3 @@
window.Paloma = {callbacks:{}};
//= require ./articles/callbacks

View file

@ -1,4 +1,4 @@
<%= form_for @article do |f| %>
<%= form_for @article, :html => {:id => "article-form"} do |f| %>
Title:
<%= f.text_field :title %>

View file

@ -0,0 +1,12 @@
<!DOCTYPE HTML>
<html>
<head>
<title>Paloma</title>
<%= csrf_meta_tags %>
<%= javascript_include_tag "application" %>
</head>
<body>
<%= yield %>
</body>
</html>

View file

@ -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"

View file

@ -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'