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
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
-
<plist version="1.0">
|
|
4
|
-
<dict>
|
|
5
|
-
<key>beforeRunningCommand</key>
|
|
6
|
-
<string>saveActiveFile</string>
|
|
7
|
-
<key>command</key>
|
|
8
|
-
<string># Assumes the current file is a yaml test file
|
|
9
|
-
# Runs with the currently-focused method as the test name
|
|
10
|
-
|
|
11
|
-
args=$(${TM_RUBY:=ruby} <<"EOF"
|
|
12
|
-
group = ENV['TM_FILEPATH'].split('/').last.split('.').first
|
|
13
|
-
test_file = "#{File.dirname(ENV['TM_FILEPATH'])}_test.rb"
|
|
14
|
-
puts test_file
|
|
15
|
-
EOF)
|
|
16
|
-
|
|
17
|
-
if [[ -z "$args" ]]; then
|
|
18
|
-
echo -e "This doesn't appear to be a yaml test file."
|
|
19
|
-
exit_show_tool_tip
|
|
20
|
-
fi
|
|
21
|
-
|
|
22
|
-
export RUBYLIB="$TM_BUNDLE_SUPPORT/RubyMate${RUBYLIB:+:$RUBYLIB}"
|
|
23
|
-
"${TM_RUBY:-ruby}" -- "$TM_BUNDLE_SUPPORT/RubyMate/run_script.rb" $args</string>
|
|
24
|
-
<key>input</key>
|
|
25
|
-
<string>document</string>
|
|
26
|
-
<key>keyEquivalent</key>
|
|
27
|
-
<string>~r</string>
|
|
28
|
-
<key>name</key>
|
|
29
|
-
<string>Run all yaml tests</string>
|
|
30
|
-
<key>output</key>
|
|
31
|
-
<string>showAsHTML</string>
|
|
32
|
-
<key>scope</key>
|
|
33
|
-
<string>source.yaml</string>
|
|
34
|
-
<key>uuid</key>
|
|
35
|
-
<string>1AF06162-B9B6-46E8-8058-AF8CA4EDC178</string>
|
|
36
|
-
</dict>
|
|
37
|
-
</plist>
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
-
<plist version="1.0">
|
|
4
|
-
<dict>
|
|
5
|
-
<key>beforeRunningCommand</key>
|
|
6
|
-
<string>saveActiveFile</string>
|
|
7
|
-
<key>command</key>
|
|
8
|
-
<string># Assumes the current file is a yaml test file
|
|
9
|
-
# Runs with the currently-focused method as the test name
|
|
10
|
-
args=$(${TM_RUBY:=ruby} <<"EOF"
|
|
11
|
-
|
|
12
|
-
n = ENV['TM_LINE_NUMBER'].to_i
|
|
13
|
-
|
|
14
|
-
name, test_file_path = nil, nil
|
|
15
|
-
|
|
16
|
-
File.open(ENV['TM_FILEPATH']) do |f|
|
|
17
|
-
# yaml test
|
|
18
|
-
lines = f.read.split("\n")[0...n].reverse
|
|
19
|
-
name = lines.find { |line| line =~ /^([^\s]+):\s*$/i }
|
|
20
|
-
name = $1 if name
|
|
21
|
-
test_file_path = lines.find { |line| line =~ /^#\s*test_file\s*:\s*(.*)$/i }
|
|
22
|
-
test_file_path = File.join(File.dirname(ENV['TM_FILEPATH']), $1) if test_file_path
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
group = ENV['TM_FILEPATH'].split('/').last.split('.').first
|
|
27
|
-
test_file_path ||= "#{File.dirname(ENV['TM_FILEPATH'])}_test.rb"
|
|
28
|
-
test_file = "#{test_file_path} --name test_#{group}_#{name}"
|
|
29
|
-
puts test_file
|
|
30
|
-
EOF)
|
|
31
|
-
|
|
32
|
-
if [[ -z "$args" ]]; then
|
|
33
|
-
echo -e "This doesn't appear to be a yaml test file."
|
|
34
|
-
exit_show_tool_tip
|
|
35
|
-
fi
|
|
36
|
-
|
|
37
|
-
export RUBYLIB="$TM_BUNDLE_SUPPORT/RubyMate${RUBYLIB:+:$RUBYLIB}"
|
|
38
|
-
"${TM_RUBY:-ruby}" -- "$TM_BUNDLE_SUPPORT/RubyMate/run_script.rb" $args </string>
|
|
39
|
-
<key>input</key>
|
|
40
|
-
<string>document</string>
|
|
41
|
-
<key>keyEquivalent</key>
|
|
42
|
-
<string>@R</string>
|
|
43
|
-
<key>name</key>
|
|
44
|
-
<string>Run focused yaml test</string>
|
|
45
|
-
<key>output</key>
|
|
46
|
-
<string>showAsHTML</string>
|
|
47
|
-
<key>scope</key>
|
|
48
|
-
<string>source.yaml</string>
|
|
49
|
-
<key>uuid</key>
|
|
50
|
-
<string>0A94D7BE-E897-4B1B-8C2B-AEFB2B4BDD9F</string>
|
|
51
|
-
</dict>
|
|
52
|
-
</plist>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
STDOUT.sync = true
|
|
2
|
-
STDERR.sync = true
|
|
3
|
-
|
|
4
|
-
require 'pathname'
|
|
5
|
-
|
|
6
|
-
at_exit do
|
|
7
|
-
if (e = $!) && !e.instance_of?(SystemExit)
|
|
8
|
-
require "#{ENV['TM_SUPPORT_PATH']}/lib/escape"
|
|
9
|
-
require "cgi"
|
|
10
|
-
io = IO.for_fd(ENV['TM_ERROR_FD'].to_i)
|
|
11
|
-
|
|
12
|
-
io.write "<div id='exception_report' class='framed'>\n"
|
|
13
|
-
io.write "<p id='exception'><strong>#{e.class.name}:</strong> #{CGI.escapeHTML e.message.sub(/`(\w+)'/, '‘\1’').sub(/ -- /, ' — ')}</p>\n"
|
|
14
|
-
|
|
15
|
-
io.write "<blockquote><table border='0' cellspacing='0' cellpadding='0'>\n"
|
|
16
|
-
|
|
17
|
-
e.backtrace.each do |b|
|
|
18
|
-
if b =~ /(.*?):(\d+)(?::in\s*`(.*?)')?/ then
|
|
19
|
-
file, line, method = $1, $2, $3
|
|
20
|
-
|
|
21
|
-
url, display_name = '', 'untitled document';
|
|
22
|
-
if file != '-' && File.exists?(file) then
|
|
23
|
-
file = Pathname.new(file).realpath.to_s
|
|
24
|
-
url = '&url=file://' + e_url(file)
|
|
25
|
-
display_name = File.basename(file)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
io << "<tr><td><a class='near' href='txmt://open?line=#{line + url}'>"
|
|
29
|
-
io << (method ? "method #{CGI::escapeHTML method}" : '<em>at top level</em>')
|
|
30
|
-
io << "</a></td>\n<td>in <strong>#{CGI::escapeHTML display_name}</strong> at line #{line}</td></tr>\n"
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
io.write "</table></blockquote></div>"
|
|
35
|
-
io.flush
|
|
36
|
-
|
|
37
|
-
exit!
|
|
38
|
-
end
|
|
39
|
-
end
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
require "#{ENV['TM_SUPPORT_PATH']}/lib/scriptmate"
|
|
2
|
-
require 'cgi'
|
|
3
|
-
|
|
4
|
-
$SCRIPTMATE_VERSION = "$Revision: 6354 $"
|
|
5
|
-
|
|
6
|
-
class RubyScript < UserScript
|
|
7
|
-
attr_reader :test_name, :base_path, :path, :content
|
|
8
|
-
def lang; 'Ruby' end
|
|
9
|
-
def executable; @hashbang || ENV['TM_RUBY'] || 'ruby' end
|
|
10
|
-
def args; ['-rcatch_exception', '-rstdin_dialog'] end
|
|
11
|
-
def version_string
|
|
12
|
-
ruby_path = %x{ #{executable} -e 'require "rbconfig"; print Config::CONFIG["bindir"] + "/" + Config::CONFIG["ruby_install_name"]'}
|
|
13
|
-
res = "Ruby r" + %x{ #{executable} -e 'print RUBY_VERSION' }
|
|
14
|
-
res + " (#{ruby_path})"
|
|
15
|
-
end
|
|
16
|
-
def test_script?
|
|
17
|
-
@path =~ /(?:\b|_)(?:tc|ts|test)(?:\b|_)/ or
|
|
18
|
-
@content =~ /\brequire\b.+(?:test\/unit|test_helper)/
|
|
19
|
-
end
|
|
20
|
-
def filter_cmd(cmd)
|
|
21
|
-
cmd -= [ENV['TM_FILEPATH']]
|
|
22
|
-
if test_script?
|
|
23
|
-
path_ary = @path.split('/')
|
|
24
|
-
if index = path_ary.rindex('test')
|
|
25
|
-
test_path = File.join(*path_ary[0..index])
|
|
26
|
-
lib_path = File.join( *( path_ary[0..-2] +
|
|
27
|
-
['..'] * (path_ary.length - index - 1) ) +
|
|
28
|
-
['lib'] )
|
|
29
|
-
if File.exist? lib_path
|
|
30
|
-
cmd.insert(1, "-I#{e_sh lib_path}:#{e_sh test_path}")
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
if index = cmd.rindex('--name')
|
|
35
|
-
@test_name = cmd[index+1]
|
|
36
|
-
@base_path = cmd[index-1].gsub(/\_test.rb$/,'')
|
|
37
|
-
else
|
|
38
|
-
@base_path = cmd.last.gsub(/\_test.rb$/,'')
|
|
39
|
-
end
|
|
40
|
-
@cmd = cmd
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
class RubyMate < ScriptMate
|
|
45
|
-
def base_path
|
|
46
|
-
@base_path ||= begin
|
|
47
|
-
path_ary = @command.path.split('/')
|
|
48
|
-
if index = path_ary.rindex('test')
|
|
49
|
-
File.join(*path_ary[0..(index -1)])
|
|
50
|
-
else
|
|
51
|
-
@command.path
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def run
|
|
57
|
-
super
|
|
58
|
-
rescue => err
|
|
59
|
-
File.open('/Users/gaspard/yaml.log', 'ab') do |f|
|
|
60
|
-
f.puts err.message
|
|
61
|
-
f.puts err.backtrace.join("\n")
|
|
62
|
-
end
|
|
63
|
-
raise err
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
def absolute_path(path)
|
|
67
|
-
if path =~ %r{\A/}
|
|
68
|
-
path
|
|
69
|
-
else
|
|
70
|
-
"#{base_path}/#{path}"
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def full_method_name(file, method)
|
|
75
|
-
if absolute_path(file) == @command.path
|
|
76
|
-
method
|
|
77
|
-
else
|
|
78
|
-
"#{File.basename(file)} #{method}"
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
def filter_stdout(str)
|
|
83
|
-
if @command.test_script? and str =~ /\A[.EF]+\Z/
|
|
84
|
-
# ...F....E....
|
|
85
|
-
htmlize(str).gsub(/[EF]+/, "<span style=\"color: red\">\\&</span>") + "<br style=\"display: none\"/>"
|
|
86
|
-
else
|
|
87
|
-
if @command.test_script?
|
|
88
|
-
str.map do |line|
|
|
89
|
-
if line =~ %r{\(eval\).*in `(test_(\w+?)_(.*))'}
|
|
90
|
-
test_name = $1
|
|
91
|
-
group, method = $2, $3
|
|
92
|
-
begin
|
|
93
|
-
file = File.join(@command.base_path, "#{group}.yml")
|
|
94
|
-
lines = File.read(file).split("\n")
|
|
95
|
-
position = lines.rindex { |l| l =~ %r{^#{method}:} } + 1
|
|
96
|
-
"<span><a class='near' href=\"txmt://open?url=file://#{e_url(file)}&line=#{position}\">#{test_name}</a></span>:#{position}<br/>"
|
|
97
|
-
rescue => err
|
|
98
|
-
line
|
|
99
|
-
end
|
|
100
|
-
elsif line =~ /^\d+ tests, \d+ assertions, (\d+) failures, (\d+) errors/
|
|
101
|
-
"<span style=\"color: #{$1 + $2 == "00" ? "green" : "red"}\">#{$&}</span><br/>"
|
|
102
|
-
elsif line =~ /Loaded suite/ && @command.test_name
|
|
103
|
-
htmlize(line.chomp + " --name #{@command.test_name}\n")
|
|
104
|
-
elsif line =~ /`yt_|\(eval\)/
|
|
105
|
-
nil
|
|
106
|
-
else
|
|
107
|
-
htmlize(line)
|
|
108
|
-
end
|
|
109
|
-
end.compact.join
|
|
110
|
-
else
|
|
111
|
-
htmlize(str)
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
script = RubyScript.new(STDIN.read)
|
|
118
|
-
RubyMate.new(script).emit_html
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
require "ui"
|
|
2
|
-
|
|
3
|
-
class TextMateSTDIN < IO
|
|
4
|
-
def gets(sep = nil)
|
|
5
|
-
TextMate::UI.request_string( :prompt => "Script is Requesting Input:",
|
|
6
|
-
:button1 => "Send" ) + "\n"
|
|
7
|
-
end
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
$TM_STDIN = TextMateSTDIN.new(STDIN.fileno)
|
|
11
|
-
STDIN.reopen($TM_STDIN)
|
|
12
|
-
def gets(sep = nil)
|
|
13
|
-
$TM_STDIN.gets(sep)
|
|
14
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
3
|
-
<plist version="1.0">
|
|
4
|
-
<dict>
|
|
5
|
-
<key>deleted</key>
|
|
6
|
-
<array/>
|
|
7
|
-
<key>name</key>
|
|
8
|
-
<string>Zena</string>
|
|
9
|
-
<key>ordering</key>
|
|
10
|
-
<array>
|
|
11
|
-
<string>1AF06162-B9B6-46E8-8058-AF8CA4EDC178</string>
|
|
12
|
-
<string>0A94D7BE-E897-4B1B-8C2B-AEFB2B4BDD9F</string>
|
|
13
|
-
</array>
|
|
14
|
-
<key>uuid</key>
|
|
15
|
-
<string>89153BC7-73D5-4EA9-B226-86D267D49922</string>
|
|
16
|
-
</dict>
|
|
17
|
-
</plist>
|