From d54f61191b314eee2cc3a381a637998439c1767b Mon Sep 17 00:00:00 2001 From: Gaspard Bucher Date: Mon, 4 Nov 2013 15:33:00 +0100 Subject: [PATCH] Fixed access to 'home' method in zafu. --- lib/zena/test_controller.rb | 4 +- lib/zena/use/context.rb | 1 + lib/zena/use/test_helper.rb | 6 +- lib/zena/use/urls.rb | 2 +- test/integration/zafu_compiler/alias_site.yml | 19 ++++ test/integration/zafu_compiler_test.rb | 6 +- zena.gemspec | 105 +++++++++--------- 7 files changed, 83 insertions(+), 60 deletions(-) create mode 100644 test/integration/zafu_compiler/alias_site.yml diff --git a/lib/zena/test_controller.rb b/lib/zena/test_controller.rb index 9c0de82b..23201b12 100644 --- a/lib/zena/test_controller.rb +++ b/lib/zena/test_controller.rb @@ -5,7 +5,7 @@ class TestController < ApplicationController include Zena::Use::Fixtures include Zena::Use::TestHelper helper_method :get_template_text, :template_url_for_asset, :save_erb_to_url - skip_before_filter :set_visitor + skip_before_filter :set_visitor, :redirect_to_https prepend_before_filter :set_context include Zena::Use::HtmlTags::ViewMethods @@ -70,7 +70,7 @@ def set_lang # We skip authlogic def set_context - login(params[:user]) + login(params[:user], request.host) set_visitor_lang(params[:prefix]) @node = secure!(Node) { Node.find(params[:node_id])} @text = params[:text] diff --git a/lib/zena/use/context.rb b/lib/zena/use/context.rb index 2acdddd2..bef2337e 100644 --- a/lib/zena/use/context.rb +++ b/lib/zena/use/context.rb @@ -22,6 +22,7 @@ def self.visitor_node_proc safe_method :visitor_node => visitor_node_proc safe_method :main => Proc.new {|h, r, s| {:method => '@node', :class => VirtualClass['Node']}} safe_method :root => Proc.new {|h, r, s| {:method => 'visitor.site.root_node', :class => VirtualClass['Project'], :nil => true}} + safe_method :home => Proc.new {|h, r, s| {:method => 'visitor.site.home_node', :class => VirtualClass['Node'], :nil => true}} safe_method :site => {:class => Site, :method => 'visitor.site'} # Group an array of records by key. diff --git a/lib/zena/use/test_helper.rb b/lib/zena/use/test_helper.rb index 44dae4c8..d3c49972 100644 --- a/lib/zena/use/test_helper.rb +++ b/lib/zena/use/test_helper.rb @@ -7,10 +7,10 @@ module TestHelper include Zena::Use::Upload::UploadedFile # Set visitor for unit testing - def login(fixture, site_name = nil) + def login(fixture, host = nil) user = users(fixture) - if site_name - site = Site.setup_master(Site.find_by_name(site_name)) + if host + site = Site.setup_master(Site.find_by_host(host)) else # Not an alias site = user.site diff --git a/lib/zena/use/urls.rb b/lib/zena/use/urls.rb index c8922f85..dfed68ab 100644 --- a/lib/zena/use/urls.rb +++ b/lib/zena/use/urls.rb @@ -599,7 +599,7 @@ def make_href(remote_target = nil, opts = {}) end method = "#{method}(#{method_args.join(', ')})" - + ::RubyLess.translate(self, method) end diff --git a/test/integration/zafu_compiler/alias_site.yml b/test/integration/zafu_compiler/alias_site.yml new file mode 100644 index 00000000..492f091d --- /dev/null +++ b/test/integration/zafu_compiler/alias_site.yml @@ -0,0 +1,19 @@ +default: + context: + lang: 'en' + site: alias + visitor: 'ant' + node: 'status' + src: ": " + tem: "/Node.do_find.*979649407" + res: "alias.host: a wiki with Zena" + +link_href_home: + src: "" + res: "status title" + +test_home: + context: + node: wiki + src: "ok" + res: 'ok' diff --git a/test/integration/zafu_compiler_test.rb b/test/integration/zafu_compiler_test.rb index f278b05f..14dd593e 100644 --- a/test/integration/zafu_compiler_test.rb +++ b/test/integration/zafu_compiler_test.rb @@ -5,6 +5,7 @@ class ZafuCompilerTest < Zena::Controller::TestCase OK = [ 'action', 'asset', + 'alias_site', 'conditional', 'calendar', 'dates', @@ -99,17 +100,18 @@ def yt_do_test(file, test) context = yt_get('context', file, test) site = Site.setup_master(sites(context.delete('site') || 'zena')) + # This is used to find fixtures: returns master name (not alias) $_test_site = site.name @request.host = site.host # set context params = {} #params[:user_id] = users_id(context.delete('visitor').to_sym) - params['user'] = context.delete 'visitor' + params['user'] = context.delete 'visitor' params['node_id'] = nodes_id(context.delete('node').to_sym) params['prefix'] = context.delete('lang') params['date'] = context['ref_date'] ? context.delete('ref_date').to_s : nil - params['url'] = "#{file}/#{test.to_s.gsub('_', '/')}" + params['url'] = "#{file}/#{test.to_s.gsub('_', '/')}" params.merge!(context) # merge the rest of the context as query parameters compiled_files = {} diff --git a/zena.gemspec b/zena.gemspec index 0147a138..641389b3 100644 --- a/zena.gemspec +++ b/zena.gemspec @@ -9,7 +9,7 @@ Gem::Specification.new do |s| s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Gaspard Bucher"] - s.date = %q{2013-10-30} + s.date = %q{2013-11-04} s.default_executable = %q{zena} s.description = %q{zena is a Ruby on Rails CMS (content managment system) with a focus on usability, ease of customization and web 2.0 goodness (application like behaviour).} s.email = %q{gaspard@teti.ch} @@ -1976,6 +1976,7 @@ Gem::Specification.new do |s| "test/integration/xml_api_test.rb", "test/integration/zafu_compiler/action.yml", "test/integration/zafu_compiler/ajax.yml", + "test/integration/zafu_compiler/alias_site.yml", "test/integration/zafu_compiler/apphelper.yml", "test/integration/zafu_compiler/asset.yml", "test/integration/zafu_compiler/basic.yml", @@ -2228,84 +2229,84 @@ Gem::Specification.new do |s| s.specification_version = 3 if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 0"]) - s.add_runtime_dependency(%q, ["= 1.2.2"]) - s.add_runtime_dependency(%q, ["= 3.0.4"]) - s.add_runtime_dependency(%q, ["= 1.0.3"]) + s.add_runtime_dependency(%q, ["= 2.1.9"]) + s.add_runtime_dependency(%q, ["= 0.7.0"]) s.add_runtime_dependency(%q, [">= 0"]) - s.add_runtime_dependency(%q, ["= 0.8.0"]) + s.add_runtime_dependency(%q, ["= 2.0.0"]) + s.add_runtime_dependency(%q, ["= 2.3.18"]) s.add_runtime_dependency(%q, [">= 0"]) - s.add_runtime_dependency(%q, [">= 0"]) - s.add_runtime_dependency(%q, ["= 2.3.4"]) - s.add_runtime_dependency(%q, ["= 0.7.0"]) - s.add_runtime_dependency(%q, ["= 1.0.0"]) - s.add_runtime_dependency(%q, ["= 2.10.3"]) - s.add_runtime_dependency(%q, [">= 0"]) - s.add_runtime_dependency(%q, [">= 0"]) - s.add_runtime_dependency(%q, ["= 2.1.0"]) - s.add_runtime_dependency(%q, ["~> 2.3.12"]) s.add_runtime_dependency(%q, ["= 0.3.8"]) - s.add_runtime_dependency(%q, ["= 0.3.1"]) - s.add_runtime_dependency(%q, ["= 2.1.9"]) + s.add_runtime_dependency(%q, ["= 2.3.4"]) s.add_runtime_dependency(%q, ["= 0.1.2"]) + s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, ["= 1.5.1"]) - s.add_runtime_dependency(%q, ["= 2.3.18"]) + s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, ["= 1.0.3"]) + s.add_runtime_dependency(%q, ["= 2.10.3"]) s.add_runtime_dependency(%q, ["~> 0.4.16"]) + s.add_runtime_dependency(%q, ["= 1.2.2"]) + s.add_runtime_dependency(%q, ["= 2.1.0"]) + s.add_runtime_dependency(%q, ["~> 2.3.12"]) + s.add_runtime_dependency(%q, ["= 3.0.4"]) s.add_runtime_dependency(%q, ["= 0.8.11"]) - s.add_runtime_dependency(%q, ["= 2.0.0"]) + s.add_runtime_dependency(%q, ["= 0.3.1"]) + s.add_runtime_dependency(%q, ["= 1.0.0"]) + s.add_runtime_dependency(%q, ["= 0.8.0"]) else + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["= 1.2.2"]) - s.add_dependency(%q, ["= 3.0.4"]) - s.add_dependency(%q, ["= 1.0.3"]) + s.add_dependency(%q, ["= 2.1.9"]) + s.add_dependency(%q, ["= 0.7.0"]) s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["= 0.8.0"]) + s.add_dependency(%q, ["= 2.0.0"]) + s.add_dependency(%q, ["= 2.3.18"]) s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["= 2.3.4"]) - s.add_dependency(%q, ["= 0.7.0"]) - s.add_dependency(%q, ["= 1.0.0"]) - s.add_dependency(%q, ["= 2.10.3"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["= 2.1.0"]) - s.add_dependency(%q, ["~> 2.3.12"]) s.add_dependency(%q, ["= 0.3.8"]) - s.add_dependency(%q, ["= 0.3.1"]) - s.add_dependency(%q, ["= 2.1.9"]) + s.add_dependency(%q, ["= 2.3.4"]) s.add_dependency(%q, ["= 0.1.2"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, ["= 1.5.1"]) - s.add_dependency(%q, ["= 2.3.18"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, ["= 1.0.3"]) + s.add_dependency(%q, ["= 2.10.3"]) s.add_dependency(%q, ["~> 0.4.16"]) + s.add_dependency(%q, ["= 1.2.2"]) + s.add_dependency(%q, ["= 2.1.0"]) + s.add_dependency(%q, ["~> 2.3.12"]) + s.add_dependency(%q, ["= 3.0.4"]) s.add_dependency(%q, ["= 0.8.11"]) - s.add_dependency(%q, ["= 2.0.0"]) + s.add_dependency(%q, ["= 0.3.1"]) + s.add_dependency(%q, ["= 1.0.0"]) + s.add_dependency(%q, ["= 0.8.0"]) end else + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["= 1.2.2"]) - s.add_dependency(%q, ["= 3.0.4"]) - s.add_dependency(%q, ["= 1.0.3"]) + s.add_dependency(%q, ["= 2.1.9"]) + s.add_dependency(%q, ["= 0.7.0"]) s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["= 0.8.0"]) + s.add_dependency(%q, ["= 2.0.0"]) + s.add_dependency(%q, ["= 2.3.18"]) s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["= 2.3.4"]) - s.add_dependency(%q, ["= 0.7.0"]) - s.add_dependency(%q, ["= 1.0.0"]) - s.add_dependency(%q, ["= 2.10.3"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, [">= 0"]) - s.add_dependency(%q, ["= 2.1.0"]) - s.add_dependency(%q, ["~> 2.3.12"]) s.add_dependency(%q, ["= 0.3.8"]) - s.add_dependency(%q, ["= 0.3.1"]) - s.add_dependency(%q, ["= 2.1.9"]) + s.add_dependency(%q, ["= 2.3.4"]) s.add_dependency(%q, ["= 0.1.2"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, ["= 1.5.1"]) - s.add_dependency(%q, ["= 2.3.18"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, ["= 1.0.3"]) + s.add_dependency(%q, ["= 2.10.3"]) s.add_dependency(%q, ["~> 0.4.16"]) + s.add_dependency(%q, ["= 1.2.2"]) + s.add_dependency(%q, ["= 2.1.0"]) + s.add_dependency(%q, ["~> 2.3.12"]) + s.add_dependency(%q, ["= 3.0.4"]) s.add_dependency(%q, ["= 0.8.11"]) - s.add_dependency(%q, ["= 2.0.0"]) + s.add_dependency(%q, ["= 0.3.1"]) + s.add_dependency(%q, ["= 1.0.0"]) + s.add_dependency(%q, ["= 0.8.0"]) end end