zena 1.0.0 → 1.1.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/History.txt +28 -0
- data/README.rdoc +6 -6
- data/Rakefile +3 -0
- data/app/controllers/users_controller.rb +4 -2
- data/app/models/acl.rb +6 -0
- data/app/models/cached_page.rb +2 -1
- data/app/models/document.rb +3 -4
- data/app/models/node.rb +8 -5
- data/app/models/site.rb +1 -1
- data/app/models/template.rb +2 -2
- data/app/models/user.rb +5 -3
- data/app/views/acls/_add.rhtml +2 -1
- data/app/views/acls/_form.rhtml +15 -7
- data/app/views/acls/_li.rhtml +2 -0
- data/app/views/acls/index.rhtml +3 -1
- data/app/views/acls/show.html.erb +1 -1
- data/app/views/links/destroy.rjs +16 -2
- data/app/views/versions/destroy.rjs +1 -1
- data/app/views/zafu/default/Node-admin.zafu +1 -1
- data/bin/zena +5 -3
- data/bricks/acls/lib/bricks/acls.rb +11 -4
- data/bricks/acls/zena/migrate/20110627193757_add_allowed_mode_and_format_to_acl.rb +11 -0
- data/bricks/acls/zena/test/integration/acl_integration_test.rb +42 -0
- data/bricks/acls/zena/test/sites/erebus/acls.yml +8 -0
- data/bricks/mongrel/zena/deploy.rb +19 -0
- data/bricks/single/lib/bricks/single.rb +15 -0
- data/bricks/single/zena/init.rb +1 -0
- data/bricks/sphinx/zena/tasks.rb +1 -1
- data/bricks/static/lib/bricks/static.rb +151 -0
- data/bricks/static/zena/init.rb +1 -0
- data/bricks/static/zena/migrate/20110702010330_add_static_to_idx_templates.rb +12 -0
- data/bricks/static/zena/skins/blog/Image-edit.zafu +6 -0
- data/bricks/static/zena/skins/blog/Image.zafu +19 -0
- data/bricks/static/zena/skins/blog/Node-+index.zafu +1 -0
- data/bricks/static/zena/skins/blog/Node-+notFound.zafu +7 -0
- data/bricks/static/zena/skins/blog/Node-+search.zafu +19 -0
- data/bricks/static/zena/skins/blog/Node.zafu +66 -0
- data/bricks/static/zena/skins/blog/Post.zafu +12 -0
- data/bricks/static/zena/skins/blog/Project--kml.zafu +30 -0
- data/bricks/static/zena/skins/blog/Project.zafu +45 -0
- data/bricks/static/zena/skins/blog/comments.zafu +30 -0
- data/bricks/static/zena/skins/blog/dict.yml +11 -0
- data/bricks/static/zena/skins/blog/img/dateBg.jpg +0 -0
- data/bricks/static/zena/skins/blog/img/header.png +0 -0
- data/bricks/static/zena/skins/blog/img/mapPin.png +0 -0
- data/bricks/static/zena/skins/blog/img/menu.gif +0 -0
- data/bricks/static/zena/skins/blog/img/menuover.gif +0 -0
- data/bricks/static/zena/skins/blog/img/style.css +110 -0
- data/bricks/static/zena/test/integration/static_integration_test.rb +30 -0
- data/bricks/static/zena/test/unit/static_test.rb +33 -0
- data/bricks/zena/zena/migrate/01_base.rb +1 -2
- data/bricks/zena/zena/migrate/20110623072048_fix_cached_path_index.rb +10 -0
- data/bricks/zena/zena/migrate/20110710113731_remove_icon_field.rb +18 -0
- data/config/bricks.yml +4 -0
- data/config/deploy.rb +17 -2
- data/config/gems.yml +9 -7
- data/config/selenium.yml +38 -0
- data/lib/bricks/requirements_validation.rb +8 -2
- data/lib/gettext_strings.rb +2 -1
- data/lib/tasks/zena.rake +5 -0
- data/lib/zena/app.rb +12 -0
- data/lib/zena/console.rb +9 -1
- data/lib/zena/core_ext/string.rb +7 -2
- data/lib/zena/deploy.rb +60 -6
- data/lib/zena/deploy/app_init.rhtml +56 -0
- data/lib/zena/deploy/haproxy.cnf.rhtml +34 -0
- data/lib/zena/deploy/httpd.rhtml +6 -0
- data/lib/zena/deploy/start_stop.rhtml +35 -0
- data/lib/zena/info.rb +1 -1
- data/lib/zena/remote/connection.rb +1 -1
- data/lib/zena/site_worker.rb +9 -5
- data/lib/zena/use.rb +1 -1
- data/lib/zena/use/action.rb +2 -2
- data/lib/zena/use/ajax.rb +22 -9
- data/lib/zena/use/conditional.rb +5 -0
- data/lib/zena/use/context.rb +6 -1
- data/lib/zena/use/dates.rb +17 -2
- data/lib/zena/use/display.rb +14 -3
- data/lib/zena/use/forms.rb +37 -47
- data/lib/zena/use/html_tags.rb +3 -0
- data/lib/zena/use/node_context.rb +17 -17
- data/lib/zena/use/rendering.rb +1 -1
- data/lib/zena/use/urls.rb +11 -2
- data/lib/zena/use/zafu_attributes.rb +1 -0
- data/lib/zena/use/zafu_safe_definitions.rb +16 -1
- data/lib/zena/use/zafu_templates.rb +39 -24
- data/lib/zena/use/zazen.rb +1 -0
- data/locale/de/LC_MESSAGES/zena.mo +0 -0
- data/locale/de/zena.po +105 -89
- data/locale/en/LC_MESSAGES/zena.mo +0 -0
- data/locale/en/zena.mo +0 -0
- data/locale/en/zena.po +188 -253
- data/locale/fr/LC_MESSAGES/zena.mo +0 -0
- data/locale/fr/zena.mo +0 -0
- data/locale/fr/zena.po +200 -257
- data/locale/zena.pot +95 -85
- data/public/javascripts/zena.js +2 -2
- data/test/fixtures/files/{Node-test.zafu → TestNode.zafu} +206 -4
- data/test/functional/nodes_controller_test.rb +2 -2
- data/test/integration/navigation_test.rb +9 -3
- data/test/integration/query_node/basic.yml +4 -4
- data/test/integration/query_node/filters.yml +2 -2
- data/test/integration/zafu_compiler/ajax.yml +6 -6
- data/test/integration/zafu_compiler/basic.yml +1 -1
- data/test/integration/zafu_compiler/calendar.yml +4 -3
- data/test/integration/zafu_compiler/conditional.yml +3 -10
- data/test/integration/zafu_compiler/context.yml +1 -1
- data/test/integration/zafu_compiler/dates.yml +9 -1
- data/test/integration/zafu_compiler/display.yml +7 -1
- data/test/integration/zafu_compiler/eval.yml +12 -46
- data/test/integration/zafu_compiler/forms.yml +1 -1
- data/test/integration/zafu_compiler/query.yml +2 -2
- data/test/integration/zafu_compiler/relations.yml +19 -9
- data/test/integration/zafu_compiler/roles.yml +12 -0
- data/test/integration/zafu_compiler/safe_definitions.yml +1 -1
- data/test/integration/zafu_compiler/urls.yml +13 -5
- data/test/integration/zafu_compiler/version.yml +6 -0
- data/test/integration/zafu_compiler/zafu_attributes.yml +4 -4
- data/test/integration/zafu_compiler_test.rb +1 -1
- data/test/selenium.readme +8 -0
- data/test/selenium/Add/0setup.rsel +12 -0
- data/test/selenium/Add/add1.rsel +22 -0
- data/test/selenium/Add/add2.rsel +22 -0
- data/test/selenium/Add/add3.rsel +22 -0
- data/test/selenium/Drop/0setup.rsel +12 -0
- data/test/selenium/Drop/drop1.rsel +25 -0
- data/test/selenium/Drop/drop2.rsel +25 -0
- data/test/selenium/Drop/drop3.rsel +51 -0
- data/test/selenium/Drop/drop4.rsel +44 -0
- data/test/selenium/Drop/drop5.rsel +16 -0
- data/test/selenium/Edit/0setup.rsel +12 -0
- data/test/selenium/Edit/edit1.rsel +31 -0
- data/test/selenium/Edit/edit2.rsel +39 -0
- data/test/selenium/Edit/edit3.rsel +40 -0
- data/test/selenium/Form/0setup.rsel +12 -0
- data/test/selenium/Form/form1.rsel +9 -0
- data/test/selenium/Form/form2.rsel +9 -0
- data/test/selenium/Paginate/0setup.rsel +12 -0
- data/test/selenium/Paginate/paginate1.rsel +24 -0
- data/test/selenium/Toggle/0setup.rsel +12 -0
- data/test/selenium/Toggle/toggle1.rsel +21 -0
- data/test/sites/zena/nodes.yml +4 -4
- data/test/sites/zena/roles.yml +3 -2
- data/test/sites/zena/versions.yml +12 -11
- data/test/unit/core_ext_test.rb +23 -5
- data/test/unit/document_test.rb +6 -2
- data/test/unit/node_test.rb +2 -2
- data/test/unit/remote_test.rb +1 -2
- data/test/unit/role_test.rb +2 -2
- data/test/unit/user_test.rb +48 -1
- data/test/unit/virtual_class_test.rb +7 -7
- data/test/unit/zena/acts/secure_test.rb +1 -1
- data/test/unit/zena/use/rendering_test.rb +1 -1
- data/test/unit/zena/use/urls_test.rb +3 -3
- data/zena.gemspec +65 -101
- metadata +67 -103
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run 2.tmCommand +0 -24
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Context.tmCommand +0 -58
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run Focused Should.tmCommand +0 -88
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/Run.tmCommand +0 -27
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Commands/YAML to Shoulda.tmCommand +0 -23
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Context.tmPreferences +0 -19
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Preferences/Symbol List: Should.tmPreferences +0 -19
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory attributes for.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory build.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define with class.tmSnippet +0 -18
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_define.tmSnippet +0 -18
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_next.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/Factory_sequence.tmSnippet +0 -18
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_bad_value.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_contains.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_does_not_contain.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_good_value.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_same_elements.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_save.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_sent_email.tmSnippet +0 -18
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/assert_valid.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/association.tmSnippet +0 -17
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/attribute.tmSnippet +0 -17
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/before_should block.tmSnippet +0 -18
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block get.tmSnippet +0 -22
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block post.tmSnippet +0 -23
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/context block with setup.tmSnippet +0 -25
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/setup.tmSnippet +0 -18
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block with before proc.tmSnippet +0 -18
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should block.tmSnippet +0 -18
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_allow_values_for.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_assign_to.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful denied.tmSnippet +0 -20
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_be_restful.tmSnippet +0 -20
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_belong_to.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change by.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_change from to.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_at_least.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_in_range.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_length_is.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_ensure_value_in_range.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_eventually.tmSnippet +0 -18
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_filter_params.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_and_belong_to_many.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_class_methods.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_column.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_db_columns.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_index.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_indices.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_instance_methods.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_many.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_named_scope.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_one.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_have_readonly_attributes.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_mass_assignment_of.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_allow_values_for.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_assign_to.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_change.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_not_set_the_flash.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_redirect_to.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_a_form.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_template.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_with_layout.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_render_without_layout.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_respond_with_content_type.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_return_from_session.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_route.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_set_the_flash_to.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_acceptance_of.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_numericality_of.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_presence_of.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of with scope.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Snippets/should_validate_uniqueness_of.tmSnippet +0 -16
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/catch_exception.rb +0 -39
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/run_script.rb +0 -104
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/stdin_dialog.rb +0 -14
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/test.rb +0 -17
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/RubyMate/todo.txt +0 -13
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Support/bin/yaml_to_shoulda.rb +0 -25
- data/vendor/TextMate/Ruby Shoulda.tmbundle/Syntaxes/Ruby on Rails (Shoulda).tmLanguage +0 -166
- data/vendor/TextMate/Ruby Shoulda.tmbundle/info.plist +0 -304
- data/vendor/TextMate/Zena.tmbundle/Commands/Run all yaml tests.tmCommand +0 -37
- data/vendor/TextMate/Zena.tmbundle/Commands/Run focused yaml test.tmCommand +0 -52
- data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/catch_exception.rb +0 -39
- data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/run_script.rb +0 -118
- data/vendor/TextMate/Zena.tmbundle/Support/RubyMate/stdin_dialog.rb +0 -14
- data/vendor/TextMate/Zena.tmbundle/info.plist +0 -17
data/public/javascripts/zena.js
CHANGED
|
@@ -648,7 +648,7 @@ Zena.popup_keydown = function(evt) {
|
|
|
648
648
|
//if (e.keyCode) code = e.keyCode;
|
|
649
649
|
//else if (e.which) code = e.which;
|
|
650
650
|
var character = String.fromCharCode(code);
|
|
651
|
-
alert('Character was ' + character);
|
|
651
|
+
//alert('Character was ' + character);
|
|
652
652
|
|
|
653
653
|
if (code == Event.KEY_LEFT) {
|
|
654
654
|
if (gallery.prev) {
|
|
@@ -903,7 +903,7 @@ Zena.plus_minus = function(elem, start, plus, minus) {
|
|
|
903
903
|
var show = start == 'on' ? 'display:none;' : '';
|
|
904
904
|
var hide = start == 'on' ? '' : 'display:none;';
|
|
905
905
|
var trigger_tag = " <a id='off_"+id+"' style='"+show+"' onclick='Zena.m_toggle(\"" + id +"\")' class='plus_btn'>"+plus+"</a><a id='on_"+id+"' style='"+hide+"' onclick='Zena.m_toggle(\"" + id +"\")' class='minus_btn'>"+minus+"</a>";
|
|
906
|
-
var new_tag = "<"+tag+" style='"+hide+"' id='txt_"+id+"' class='txt'>" + elem.innerHTML + "</"+tag+">";
|
|
906
|
+
var new_tag = "<"+tag+" style='"+hide+"' id='txt_"+id+"' class='txt" + ' ' + elem.className + "'>" + elem.innerHTML + "</"+tag+">";
|
|
907
907
|
if (tag.toUpperCase() == 'SPAN' || !elem.previous()) {
|
|
908
908
|
Element.replace(elem, trigger_tag + ' ' + new_tag);
|
|
909
909
|
} else {
|
|
@@ -6,15 +6,216 @@
|
|
|
6
6
|
<r:stylesheets media='all' list='reset,zena,code,calendar'/>
|
|
7
7
|
</r:void>
|
|
8
8
|
<link href="style.css" rel="Stylesheet" type="text/css"/>
|
|
9
|
-
|
|
9
|
+
<style>
|
|
10
|
+
.test { float:left; width:200px; padding:10px; background:#eee; border:1px solid #333; margin:0 10px 10px 0}
|
|
11
|
+
.test h3 {background:#333; color:white; text-align:center; margin:-10px -10px 10px -10px;}
|
|
12
|
+
.test a { color:#0067C6}
|
|
13
|
+
.test input {width:10em; height:1.2em; padding:2px;}
|
|
14
|
+
.test input[type="checkbox"] {width:1.2em;}
|
|
15
|
+
.test p { font-size:10px; font-style:italic; margin:-10px -10px 10px -10px; padding:5px; background:#ccc; border-bottom:1px solid #333; line-height:15px;}
|
|
16
|
+
.test td, .test th { border:1px solid #666; padding:2px;}
|
|
17
|
+
.test th { color:white; background-color:#666;}
|
|
18
|
+
.test .btn_x {padding:0; background:none; border:none; float:left; margin:5px 5px 5px 0;}
|
|
19
|
+
.test li.form {list-style-type:none; padding:0;}
|
|
20
|
+
.test .drop, .test .box {border:1px solid #888; margin:1em 0}
|
|
21
|
+
.test .drop {background:#ccc;}
|
|
22
|
+
.test .drop_hover { background:#ace; border:2px dashed #99f;}
|
|
23
|
+
</style>
|
|
10
24
|
<r:javascripts list='prototype,effects,zena,dragdrop'/>
|
|
11
25
|
<r:uses_datebox/>
|
|
12
26
|
</r:with>
|
|
13
27
|
|
|
14
|
-
|
|
15
28
|
<r:with part='context'/>
|
|
16
29
|
|
|
17
30
|
<r:with part='content' class='project'>
|
|
31
|
+
|
|
32
|
+
<div class='test' id='add1' do='selenium'>
|
|
33
|
+
<h3>add1</h3>
|
|
34
|
+
<p>Using "add" to create new elements. The parent is guessed from context.</p>
|
|
35
|
+
<ul do='projects in site'>
|
|
36
|
+
<li do='add' klass='Project' after='self'/>
|
|
37
|
+
<li class='#{title}' do='each'><r:link/> <span do='parent' do='title'/></li>
|
|
38
|
+
</ul>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div class='test' id='add2' do='selenium'>
|
|
42
|
+
<h3>add2</h3>
|
|
43
|
+
<p>Using "add" to create new elements. The parent is set witn node[parent_id]='root.id'.</p>
|
|
44
|
+
<ul do='projects in site'>
|
|
45
|
+
<li do='add' klass='Project' node[parent_id]='root.id' after='self'/>
|
|
46
|
+
<li class='#{title}' do='each'><r:link/> <span do='parent' do='title'/></li>
|
|
47
|
+
</ul>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
<div class='test' id='add3' do='selenium'>
|
|
51
|
+
<h3>add3</h3>
|
|
52
|
+
<p>Create new elements with [add_btn] and [form_tag] (in table).</p>
|
|
53
|
+
<table do='projects in site'>
|
|
54
|
+
<tr do='add' klass='Project' after='self'>
|
|
55
|
+
<td do='add_btn'/>
|
|
56
|
+
</tr>
|
|
57
|
+
<tr class='#{title}' do='each'>
|
|
58
|
+
<td><r:link/> <span do='parent' do='title'/></td>
|
|
59
|
+
</tr>
|
|
60
|
+
<tr do='form'>
|
|
61
|
+
<td do='form_tag'><r:input name='title'/><r:input type='submit'/></td>
|
|
62
|
+
</tr>
|
|
63
|
+
</table>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
<div class='test' id='edit1' do='selenium'>
|
|
67
|
+
<h3>edit1</h3>
|
|
68
|
+
<p>Edit in place, form built from block.</p>
|
|
69
|
+
<ul do='block'>
|
|
70
|
+
<li do='edit'/>
|
|
71
|
+
<li class='title' do='title'/>
|
|
72
|
+
<li do='if' in='form'><r:input type='submit'/></li>
|
|
73
|
+
</ul>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
<div class='test' id='edit2' do='selenium'>
|
|
77
|
+
<h3>edit2</h3>
|
|
78
|
+
<p>Edit in place with custom from.</p>
|
|
79
|
+
<ul do='block'>
|
|
80
|
+
<li do='edit'/>
|
|
81
|
+
<li class='title' do='title'/>
|
|
82
|
+
<li do='form' on='edit'>
|
|
83
|
+
<r:input name='title'/> <r:input type='checkbox' name='v_status' value='50'/>
|
|
84
|
+
</li>
|
|
85
|
+
</ul>
|
|
86
|
+
</div>
|
|
87
|
+
|
|
88
|
+
<div class='test' id='edit3' do='selenium'>
|
|
89
|
+
<h3>edit3</h3>
|
|
90
|
+
<p>Edit table place (makes form from block). This should not break html (the form should be outside of the "table" tag).</p>
|
|
91
|
+
<table do='block'>
|
|
92
|
+
<tr><td colspan='2' do='edit'/></tr>
|
|
93
|
+
<tr><td>title</td><td class='title' do='title'/></tr>
|
|
94
|
+
</table>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<div class='test' id='toggle1' do='selenium'>
|
|
98
|
+
<h3>toggle1</h3>
|
|
99
|
+
<p>Toggle relation in list.</p>
|
|
100
|
+
<ul class='references' do='references'>
|
|
101
|
+
<li do='each' do='title'/>
|
|
102
|
+
</ul>
|
|
103
|
+
<ul do='projects in site'>
|
|
104
|
+
<li do='each' toggle='reference' for='start' do='title'/>
|
|
105
|
+
</ul>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<div class='test' id='paginate1' do='selenium'>
|
|
109
|
+
<h3>paginate1</h3>
|
|
110
|
+
<p>Ajax pagination.</p>
|
|
111
|
+
<table id='paginate1_tbl' do='block' do='nodes in site limit 3 paginate p'>
|
|
112
|
+
<tr>
|
|
113
|
+
<th style='width:4em'>klass</th>
|
|
114
|
+
<th>title</th>
|
|
115
|
+
</tr>
|
|
116
|
+
<tr>
|
|
117
|
+
<td colspan='2'>
|
|
118
|
+
<span do='link' page='list' update='paginate1_tbl'/>
|
|
119
|
+
</td>
|
|
120
|
+
</tr>
|
|
121
|
+
<tr id='node#{id}' do='each'>
|
|
122
|
+
<td do='klass'/>
|
|
123
|
+
<td do='title'/>
|
|
124
|
+
</tr>
|
|
125
|
+
</table>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
<div class='test' id='form1' do='selenium'>
|
|
129
|
+
<h3>form1</h3>
|
|
130
|
+
<p>Form in [new] to create objects.</p>
|
|
131
|
+
<r:new klass='Page' title='%{hello}'>
|
|
132
|
+
<r:form node[v_status]='50'>
|
|
133
|
+
<r:input label='t' name='title'/>
|
|
134
|
+
</r:form>
|
|
135
|
+
</r:new>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<div class='test' id='form2' do='selenium'>
|
|
139
|
+
<h3>form2</h3>
|
|
140
|
+
<p>Form to update object.</p>
|
|
141
|
+
<r:form node[v_status]='50'>
|
|
142
|
+
<r:input label='t' name='title'/>
|
|
143
|
+
</r:form>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
<div class='test' id='drop1' do='selenium'>
|
|
147
|
+
<h3>drop1</h3>
|
|
148
|
+
<p>Create a relation by drag and dropping.</p>
|
|
149
|
+
|
|
150
|
+
<ul do='pages in site limit 3'>
|
|
151
|
+
<li do='each' draggable='true' do='title'/>
|
|
152
|
+
</ul>
|
|
153
|
+
<ul do='drop' set='reference' change='receiver' do='references'>
|
|
154
|
+
<li class='#{id}' do='each'><r:unlink/> <r:title/></li>
|
|
155
|
+
</ul>
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
<div class='test' id='drop2' do='selenium'>
|
|
159
|
+
<h3>drop2</h3>
|
|
160
|
+
<p>Drop in each loop.</p>
|
|
161
|
+
|
|
162
|
+
<ul do='pages in site limit 3'>
|
|
163
|
+
<li do='each' draggable='true' do='title'/>
|
|
164
|
+
</ul>
|
|
165
|
+
|
|
166
|
+
<r:projects in='site' do='each'>
|
|
167
|
+
<ul class='drop drop_#{id}' do='drop' set='reference' change='receiver' do='references'>
|
|
168
|
+
<li class='#{id}' do='each'><r:unlink/> <r:title/></li>
|
|
169
|
+
</ul>
|
|
170
|
+
</r:projects>
|
|
171
|
+
</div>
|
|
172
|
+
|
|
173
|
+
<div class='test' id='drop3' do='selenium'>
|
|
174
|
+
<h3>drop3</h3>
|
|
175
|
+
<p>Drag from list in each loop.</p>
|
|
176
|
+
<r:projects in='site' do='each'>
|
|
177
|
+
<ul class='box' do='pages'>
|
|
178
|
+
<li class='#{id}' do='each' draggable='true' do='title'/>
|
|
179
|
+
</ul>
|
|
180
|
+
</r:projects>
|
|
181
|
+
|
|
182
|
+
<ul do='drop' set='reference' change='receiver' do='references'>
|
|
183
|
+
<li class='#{id}' do='each'><r:unlink/> <r:title/></li>
|
|
184
|
+
</ul>
|
|
185
|
+
</div>
|
|
186
|
+
|
|
187
|
+
<div class='test' id='drop4' do='selenium'>
|
|
188
|
+
<h3>drop4</h3>
|
|
189
|
+
<p>Drag duplicate elements in source.</p>
|
|
190
|
+
|
|
191
|
+
<ul class='box' do='pages in project limit 3'>
|
|
192
|
+
<li class='#{id}' do='each' draggable='true' do='title'/>
|
|
193
|
+
</ul>
|
|
194
|
+
|
|
195
|
+
<ul class='box' do='pages in project limit 3'>
|
|
196
|
+
<li class='#{id}' do='each' draggable='true' do='title'/>
|
|
197
|
+
</ul>
|
|
198
|
+
|
|
199
|
+
<ul do='drop' set='reference' change='receiver' do='references'>
|
|
200
|
+
<li class='#{id}' do='each'><r:unlink/> <r:title/></li>
|
|
201
|
+
</ul>
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<div class='test' id='drop5' do='selenium'>
|
|
205
|
+
<h3>drop5</h3>
|
|
206
|
+
<p>Drag from drop loop.</p>
|
|
207
|
+
|
|
208
|
+
<ul class='box' do='pages in project limit 3'>
|
|
209
|
+
<li class='#{id}' do='each' draggable='true' do='title'/>
|
|
210
|
+
</ul>
|
|
211
|
+
|
|
212
|
+
<r:projects in='site' do='each'>
|
|
213
|
+
<ul class='drop drop_#{id}' do='drop' set='reference' change='receiver' do='references'>
|
|
214
|
+
<li class='#{id}' do='each' draggable='true'><r:unlink/> <r:title/></li>
|
|
215
|
+
</ul>
|
|
216
|
+
</r:projects>
|
|
217
|
+
</div>
|
|
218
|
+
<!-- OLD TESTS
|
|
18
219
|
<div id='related'>
|
|
19
220
|
<ul do='pages'>
|
|
20
221
|
<li do='each'><p><b do='show' attr='title' edit='true' publish='true'/> <r:edit/></p>
|
|
@@ -188,7 +389,7 @@ This filter updates the "distant filter block test"
|
|
|
188
389
|
<h3>drop set relation (drop in each)</h3>
|
|
189
390
|
|
|
190
391
|
<ul do='tags in site'>
|
|
191
|
-
|
|
392
|
+
//! drop in each
|
|
192
393
|
<li style='border:1px solid #400; min_width:100px; min_height:100px;' do='each' do='drop' set='set_tag'>
|
|
193
394
|
<b do='title'/>
|
|
194
395
|
<ul do='context' select='tagged'><li do='each' do='unlink' do='img' mode='tiny'/></ul>
|
|
@@ -199,7 +400,7 @@ This filter updates the "distant filter block test"
|
|
|
199
400
|
|
|
200
401
|
|
|
201
402
|
<ul do='tags in site'>
|
|
202
|
-
|
|
403
|
+
//! drop in each
|
|
203
404
|
<li style='border:1px solid #400; min_width:100px; min_height:100px;' do='each' do='drop' set='set_tag'>
|
|
204
405
|
<b do='title'/>
|
|
205
406
|
<ul do='context' select='tagged'><li do='each' do='unlink' do='img' mode='tiny'/></ul>
|
|
@@ -325,5 +526,6 @@ This filter updates the "distant filter block test"
|
|
|
325
526
|
|
|
326
527
|
|
|
327
528
|
<hr/>
|
|
529
|
+
-->
|
|
328
530
|
</r:with>
|
|
329
531
|
</r:include>
|
|
@@ -874,7 +874,7 @@ END:VCALENDAR
|
|
|
874
874
|
get 'edit', :id => nodes_zip(:zena)
|
|
875
875
|
assert_response :success
|
|
876
876
|
assert_template 'nodes/edit'
|
|
877
|
-
assert_match %r{/Default skin/Node
|
|
877
|
+
assert_match %r{/Default skin/Node-\+popupLayout/en/_main$}, @response.layout
|
|
878
878
|
end
|
|
879
879
|
|
|
880
880
|
def test_crop_image
|
|
@@ -904,7 +904,7 @@ END:VCALENDAR
|
|
|
904
904
|
def test_should_get_test_page_without_errors
|
|
905
905
|
without_files('test.host/zafu') do
|
|
906
906
|
login(:tiger)
|
|
907
|
-
get 'show', 'prefix'=>'oo', 'path'=>["
|
|
907
|
+
get 'show', 'prefix'=>'oo', 'path'=>["testnode#{nodes_zip(:test)}.html"]
|
|
908
908
|
assert_response :success
|
|
909
909
|
end
|
|
910
910
|
end
|
|
@@ -326,18 +326,24 @@ class NavigationTest < Zena::Integration::TestCase
|
|
|
326
326
|
assert_response :success
|
|
327
327
|
end
|
|
328
328
|
end # in the wrong language
|
|
329
|
-
|
|
329
|
+
|
|
330
330
|
context 'with a mode' do
|
|
331
|
+
setup do
|
|
332
|
+
login(:lion)
|
|
333
|
+
secure(Template) { Template.create(:parent_id => nodes_id(:default), :title => 'Project-changes.zafu', :v_status => Zena::Status::Pub, :text => 'nothing ever changes in "<r:title/>"') }
|
|
334
|
+
end
|
|
335
|
+
|
|
331
336
|
subject do
|
|
332
|
-
'http://test.host/en/projects-list/Clean-Water-
|
|
337
|
+
'http://test.host/en/projects-list/Clean-Water-project_changes'
|
|
333
338
|
end
|
|
334
339
|
|
|
335
340
|
should 'get response' do
|
|
336
341
|
get subject
|
|
337
342
|
assert_response :success
|
|
343
|
+
assert_equal 'nothing ever changes in "Clean Water project"', response.body
|
|
338
344
|
end
|
|
339
345
|
end # with a mode
|
|
340
|
-
|
|
346
|
+
|
|
341
347
|
end # On a page with custom base
|
|
342
348
|
|
|
343
349
|
def test_url_with_custom_base
|
|
@@ -5,7 +5,7 @@ default:
|
|
|
5
5
|
visitor: 'ant'
|
|
6
6
|
src: ""
|
|
7
7
|
sql: "[%Q{SELECT nodes.* FROM nodes WHERE #{secure_scope('nodes')} AND nodes.parent_id = ? ORDER BY nodes.zip ASC}, @node.id]"
|
|
8
|
-
res: "Etat des travaux, The lake we love, it's a lake, water, crocodiles, super ouverture
|
|
8
|
+
res: "Etat des travaux, The lake we love, it's a lake, water, crocodiles, super ouverture"
|
|
9
9
|
|
|
10
10
|
nodes:
|
|
11
11
|
src: "nodes"
|
|
@@ -14,7 +14,7 @@ nodes:
|
|
|
14
14
|
pages:
|
|
15
15
|
src: "pages"
|
|
16
16
|
sql: "[%Q{SELECT nodes.* FROM nodes WHERE #{secure_scope('nodes')} AND nodes.kpath LIKE 'NP%' AND nodes.parent_id = ? ORDER BY nodes.zip ASC}, @node.id]"
|
|
17
|
-
res: "Etat des travaux, crocodiles
|
|
17
|
+
res: "Etat des travaux, crocodiles"
|
|
18
18
|
|
|
19
19
|
letters:
|
|
20
20
|
src: "letters"
|
|
@@ -45,7 +45,7 @@ pages_or_letters:
|
|
|
45
45
|
node: zena
|
|
46
46
|
src: pages or letters
|
|
47
47
|
sql: "[%Q{SELECT nodes.* FROM nodes WHERE #{secure_scope('nodes')} AND ((nodes.kpath LIKE 'NP%' AND nodes.parent_id = ?) OR (nodes.kpath LIKE 'NNL%' AND nodes.parent_id = ?)) GROUP BY id ORDER BY nodes.zip ASC}, @node.id, @node.id]"
|
|
48
|
-
res: "people, projects list, Collections, Nature, zena enhancements, Skins (layout themes)"
|
|
48
|
+
res: "people, projects list, Collections, Kill the bugs, Nature, zena enhancements, Skins (layout themes)"
|
|
49
49
|
|
|
50
50
|
project:
|
|
51
51
|
sql: "[%Q{SELECT nodes.* FROM nodes WHERE #{secure_scope('nodes')} AND nodes.id = ? ORDER BY nodes.zip ASC}, @node.get_project_id]"
|
|
@@ -78,7 +78,7 @@ vclass_in_project:
|
|
|
78
78
|
|
|
79
79
|
vlcass_or_pages:
|
|
80
80
|
src: "(posts in project) or pages"
|
|
81
|
-
res: "Etat des travaux, crocodiles, super ouverture
|
|
81
|
+
res: "Etat des travaux, crocodiles, super ouverture"
|
|
82
82
|
|
|
83
83
|
find_relation:
|
|
84
84
|
context:
|
|
@@ -87,7 +87,7 @@ filter_with_fullpath:
|
|
|
87
87
|
# Get all objects under a given node (node the '/' to avoid self)
|
|
88
88
|
src: "nodes where fullpath like \"#{fullpath}/%\" in site order by fullpath"
|
|
89
89
|
sql: "[%Q{SELECT nodes.* FROM nodes WHERE #{secure_scope('nodes')} AND nodes.fullpath LIKE ? ORDER BY nodes.fullpath}, \"#{@node.fullpath}/%\"]"
|
|
90
|
-
res: "Etat des travaux, The lake we love, it's a lake, water, crocodiles, super ouverture
|
|
90
|
+
res: "Etat des travaux, The lake we love, it's a lake, water, crocodiles, super ouverture"
|
|
91
91
|
|
|
92
92
|
class_filter:
|
|
93
93
|
src: "nodes where class like Image or class = Project in site"
|
|
@@ -120,7 +120,7 @@ filter_by_parent:
|
|
|
120
120
|
src: "nodes where parent_id = 11 in site"
|
|
121
121
|
# nodes where parent.zip = ...
|
|
122
122
|
sql: "%Q{SELECT nodes.* FROM nodes,nodes AS jn1 WHERE #{secure_scope('nodes')} AND jn1.zip = 11 AND jn1.id = nodes.parent_id AND jn1.site_id = nodes.site_id ORDER BY nodes.zip ASC}"
|
|
123
|
-
res: 'people, projects list, Collections, Nature, zena enhancements, Skins (layout themes)'
|
|
123
|
+
res: 'people, projects list, Collections, Kill the bugs, Nature, zena enhancements, Skins (layout themes)'
|
|
124
124
|
#many_role_filter:
|
|
125
125
|
# This is not working (or clause on 'indexed' fields is not supported right now)
|
|
126
126
|
# src: "nodes where role = Original or role = Task in site"
|
|
@@ -12,7 +12,7 @@ block:
|
|
|
12
12
|
add:
|
|
13
13
|
src: "<ul id='children' do='nodes'><li do='each' do='link'/><li do='add'/></ul>"
|
|
14
14
|
tem: "/\[\"children_add\", \"children_form\"\].each\(Element.toggle\)/"
|
|
15
|
-
'ajax/add/en/children_form.erb': "/class='form' id='<%= ndom_id\(@node\) %>
|
|
15
|
+
'ajax/add/en/children_form.erb': "/class='form' id='<%= ndom_id\(@node\) %>'/"
|
|
16
16
|
'ajax/add/en/children.erb': "<li id='<%= ndom_id(@node) %>'><a href='<%= zen_path(@node) %>'><%= @node.prop['title'] %></a></li>"
|
|
17
17
|
|
|
18
18
|
edit_not_each:
|
|
@@ -51,7 +51,7 @@ form_update:
|
|
|
51
51
|
src: "<div id='foo' do='block'><r:form update='foo'></r:form></div>"
|
|
52
52
|
res: "/t_url=ajax%2Fform%2Fupdate%2Ffoo/"
|
|
53
53
|
'ajax/form/update/en/foo.erb': '/t_url=ajax%2Fform%2Fupdate%2Ffoo'
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
add_each_no_form:
|
|
56
56
|
src: "<ul do='children' id='things'><li do='each'>I <p do='title'>blah</p></li><li do='add'/></ul>"
|
|
57
57
|
tem: "!/</ul><ul></ul>/" # bug in closing group with [add].
|
|
@@ -128,7 +128,7 @@ make_form:
|
|
|
128
128
|
src: "<ul do='children'><li do='each' do='title'/><li do='add'/></ul>"
|
|
129
129
|
tem: "/<li style='display:none;' class='form' id='list1_form'>.*remote_form_for\(:node, var2_new"
|
|
130
130
|
'ajax/make/form/en/list1.erb': "<li id='<%= ndom_id(@node) %>'><%= @node.prop['title'] %></li>"
|
|
131
|
-
'ajax/make/form/en/list1_form.erb': "/<li class='form' id='<%= ndom_id\(@node\) %>
|
|
131
|
+
'ajax/make/form/en/list1_form.erb': "/<li class='form' id='<%= ndom_id\(@node\) %>'>/"
|
|
132
132
|
|
|
133
133
|
each_edit_cannot_write:
|
|
134
134
|
context:
|
|
@@ -178,7 +178,7 @@ live_filter:
|
|
|
178
178
|
# Make sure a unique_name is set for the given block
|
|
179
179
|
tem: "/name='t_url' value='ajax/live/filter/list1'.*<% filter_form\(@node.*ml1.value LIKE \?.*, \"#\{params\[:f\]\}%\"/"
|
|
180
180
|
'ajax/live/filter/en/list1.erb': "/<div id='<%= ndom_id\(@node\).*, \"#\{params\[:f\]\}%\".*var2.prop\['title'\]/"
|
|
181
|
-
res: "/<input type='text' name='f'.*<div id='list1'><ol><li>crocodiles</li><li>
|
|
181
|
+
res: "/<input type='text' name='f'.*<div id='list1'><ol><li>crocodiles</li><li>status title</li></ol></div>/"
|
|
182
182
|
|
|
183
183
|
live_filter_single_element:
|
|
184
184
|
context:
|
|
@@ -194,7 +194,7 @@ live_filter_select_options:
|
|
|
194
194
|
src: "<r:filter live='true' do='select' param='f' values='1,2'/><r:block><ol do='pages where title like \"#{params[:f]}%\"'><li do='each' do='title'/></ol></r:block>"
|
|
195
195
|
tem: "/select name=.f.><%= options_for_select\(\[.1., .2.\], params\[:f\].to_s/"
|
|
196
196
|
'ajax/live/filter/select/options/en/list1.erb': "/<div id='<%= ndom_id\(@node\) %>'.*params\[:f\]/"
|
|
197
|
-
res: "/<select name='f'.*<div id='list1'><ol><li>crocodiles</li><li>
|
|
197
|
+
res: "/<select name='f'.*<div id='list1'><ol><li>crocodiles</li><li>status title</li></ol></div>/"
|
|
198
198
|
|
|
199
199
|
draggable_do_syntax:
|
|
200
200
|
src: "<r:images in='site' do='each' draggable='all' do='img' mode='pv'/>"
|
|
@@ -299,7 +299,7 @@ drop_add_link:
|
|
|
299
299
|
src: "<div do='drop' add='favorite'></div>"
|
|
300
300
|
# without the ugly inspect, this would be '#{id}' or "\#{id}"
|
|
301
301
|
tem: "/drop_node_path.*\"node\[favorite_id\]\" => \"\\\\#\{id\}\"/"
|
|
302
|
-
res: "<div class='drop' id='list1'
|
|
302
|
+
res: "<div class='drop' id='list1'></div>"
|
|
303
303
|
js: "/Droppables.add\('list1'.*/nodes/22/drop.*node\[favorite_id\]=%23%7Bid%7D"
|
|
304
304
|
|
|
305
305
|
drop_var_scope:
|
|
@@ -36,7 +36,7 @@ each_alternate_class:
|
|
|
36
36
|
context:
|
|
37
37
|
node: 'cleanWater'
|
|
38
38
|
src: "<ol do='pages'><li do='each' alt_class='blue' do='title'/></ol>"
|
|
39
|
-
res: "<ol><li class=''>crocodiles</li><li class='blue'>status title</li><li class=''>
|
|
39
|
+
res: "<ol><li class=''>crocodiles</li><li class='blue'>status title</li><li class=''>Kill the bugs</li></ol>"
|
|
40
40
|
|
|
41
41
|
each_alternate_class_reverse:
|
|
42
42
|
context:
|
|
@@ -15,7 +15,8 @@ calendar_tz:
|
|
|
15
15
|
context:
|
|
16
16
|
date: "2006-03-18"
|
|
17
17
|
src: "<div do='calendar' attr='date' tz='America/New_York' select='posts where #{cal_start} <= date and date < #{cal_end} in project'/>"
|
|
18
|
-
|
|
18
|
+
# previous date 00:00 = uses tz in link.
|
|
19
|
+
res: "/date=2006-02-18\+00%3A00.*<td><p>14</p><ol><li><a href='/oo/projects-list/Clean-Water-project/post27.html'>parc openi…</a></li></ol><\/td>.*<td class='sat ref'>18</td>/"
|
|
19
20
|
|
|
20
21
|
calendar_with_blocks:
|
|
21
22
|
context:
|
|
@@ -32,8 +33,8 @@ calendar_with_blocks:
|
|
|
32
33
|
calendar_node_attr:
|
|
33
34
|
context:
|
|
34
35
|
date: '2006-03-10'
|
|
35
|
-
src: "<div do='calendar' attr='created_at' select='
|
|
36
|
-
res: "/p>10</p>.*
|
|
36
|
+
src: "<div do='calendar' attr='created_at' select='pages where #{cal_start} <= created_at and created_at < #{cal_end} in site'/>"
|
|
37
|
+
res: "/p>10</p>.*Kill the b…/"
|
|
37
38
|
|
|
38
39
|
calendar_bad_query:
|
|
39
40
|
src: "<div do='calendar' attr='date' select='posts where #{cal_start} <= starsky and hutch < #{cal_end} in project'/>"
|
|
@@ -98,13 +98,13 @@ if_has_discussion:
|
|
|
98
98
|
|
|
99
99
|
case_ancestor:
|
|
100
100
|
src: "<r:root><r:pages><r:each join=', '><r:case><r:when eval='is_ancestor?(main)'><b><r:show attr='title'/></b></r:when><r:else><r:show attr='title'/></r:else></r:case></r:each></r:pages></r:root>"
|
|
101
|
-
res: "Collections, Nature, people, <b>projects list</b>, Skins (layout themes)"
|
|
101
|
+
res: "Collections, Kill the bugs, Nature, people, <b>projects list</b>, Skins (layout themes)"
|
|
102
102
|
|
|
103
103
|
on_if_ancestor_no_class:
|
|
104
104
|
old_src: "<r:root><r:pages><li do='each' on_if_node='ancestor' join=', '><r:show attr='title'/></li></r:pages></r:root>"
|
|
105
105
|
src: "<r:root><r:pages><li do='each' on_if='is_ancestor?(main)' join=', '><r:show attr='title'/></li></r:pages></r:root>"
|
|
106
106
|
tem: '/var3.is_ancestor\?\(@node\)/'
|
|
107
|
-
res: "<li class=''>Collections</li>, <li class=''>Nature</li>, <li class=''>people</li>, <li class=' on'>projects list</li>, <li class=''>Skins (layout themes)</li>"
|
|
107
|
+
res: "<li class=''>Collections</li>, <li class=''>Kill the bugs</li>, <li class=''>Nature</li>, <li class=''>people</li>, <li class=' on'>projects list</li>, <li class=''>Skins (layout themes)</li>"
|
|
108
108
|
|
|
109
109
|
multiple_class_conditions:
|
|
110
110
|
src: "<li class='unknown' do='void' one_if='custom_a == 1' two_if='custom_a == 2'>Agrippina</li>"
|
|
@@ -138,7 +138,7 @@ on_if_attribute_with_edit:
|
|
|
138
138
|
|
|
139
139
|
on_if_node_main:
|
|
140
140
|
src: "<r:parent><r:pages><div do='each' on_if='id == main.id' do='title'>hello</div></r:pages></r:parent>"
|
|
141
|
-
res: "<div class=''>crocodiles</div><div class='
|
|
141
|
+
res: "<div class=''>crocodiles</div><div class=' on'>status title</div>"
|
|
142
142
|
|
|
143
143
|
if_in_tag:
|
|
144
144
|
src: "<r:form><p do='if' in='form' do='title'/></r:form><i do='if' in='form' do='title'/>done."
|
|
@@ -174,13 +174,6 @@ visitor_is_anon:
|
|
|
174
174
|
src: "<r:if test='visitor.is_anon?'>anonymous<r:else>logged in</r:else></r:if>"
|
|
175
175
|
res: "anonymous"
|
|
176
176
|
|
|
177
|
-
test_in_each:
|
|
178
|
-
context:
|
|
179
|
-
node: 'cleanWater'
|
|
180
|
-
src: "<ul do='pages'><li do='each' on_if='this.title == \"Keeping things clean !\"' do='title'/></ul>"
|
|
181
|
-
tem: "/var2.prop\['title'\]==\"Keeping things clean !\"/"
|
|
182
|
-
res: "<ul><li class=''>crocodiles</li><li class=' on'>Keeping things clean !</li><li class=''>status title</li></ul>"
|
|
183
|
-
|
|
184
177
|
render_test:
|
|
185
178
|
src: "<r:can_write?>hello</r:can_write?>"
|
|
186
179
|
tem: "<% if @node.can_write? %>hello<% end %>"
|