motiro 0.6.3
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/LICENSE +280 -0
- data/README +28 -0
- data/README.en +175 -0
- data/README.pt-br +175 -0
- data/Rakefile +10 -0
- data/app/controllers/account_controller.rb +62 -0
- data/app/controllers/application.rb +72 -0
- data/app/controllers/edition_controller.rb +13 -0
- data/app/controllers/javascript_controller.rb +21 -0
- data/app/controllers/report_controller.rb +79 -0
- data/app/controllers/root_controller.rb +7 -0
- data/app/controllers/wiki_controller.rb +102 -0
- data/app/core/cache_reporter.rb +53 -0
- data/app/core/cache_reporter_fetcher.rb +33 -0
- data/app/core/chief_editor.rb +69 -0
- data/app/core/reporter.rb +105 -0
- data/app/core/reporter_driver.rb +36 -0
- data/app/core/reporter_fetcher.rb +39 -0
- data/app/core/settings.rb +43 -0
- data/app/core/version.rb +1 -0
- data/app/core/wiki_page_not_found.rb +33 -0
- data/app/core/wiki_reporter.rb +83 -0
- data/app/helpers/account_helper.rb +2 -0
- data/app/helpers/application_helper.rb +68 -0
- data/app/helpers/default_page_provider.rb +28 -0
- data/app/helpers/report_helper.rb +2 -0
- data/app/helpers/root_helper.rb +2 -0
- data/app/helpers/wiki_helper.rb +3 -0
- data/app/models/change.rb +96 -0
- data/app/models/diff_table_builder.rb +285 -0
- data/app/models/event.rb +18 -0
- data/app/models/headline.rb +109 -0
- data/app/models/page.rb +114 -0
- data/app/models/page_sweeper.rb +26 -0
- data/app/models/user.rb +85 -0
- data/app/ports/chdir_runner.rb +36 -0
- data/app/ports/reporter_loader.rb +9 -0
- data/app/ports/runner.rb +64 -0
- data/app/reporters/darcs_connection.rb +54 -0
- data/app/reporters/darcs_reporter.rb +104 -0
- data/app/reporters/darcs_settings.rb +9 -0
- data/app/reporters/darcs_temp_repo.rb +40 -0
- data/app/reporters/events_reporter.rb +28 -0
- data/app/reporters/features_reporter.rb +24 -0
- data/app/reporters/subversion_reporter.rb +203 -0
- data/app/reporters/svn_connection.rb +62 -0
- data/app/reporters/svn_settings.rb +40 -0
- data/app/views/account/_authorization.rhtml +54 -0
- data/app/views/account/_availability.rhtml +5 -0
- data/app/views/account/availability.rhtml +1 -0
- data/app/views/account/login.rhtml +22 -0
- data/app/views/account/logout.rhtml +10 -0
- data/app/views/javascript/motiro.rjs +132 -0
- data/app/views/javascript/niftycube.rjs +300 -0
- data/app/views/layouts/_bottom.rhtml +5 -0
- data/app/views/layouts/_header.rhtml +7 -0
- data/app/views/layouts/_top.rhtml +25 -0
- data/app/views/layouts/application.rhtml +3 -0
- data/app/views/layouts/scaffold.rhtml +13 -0
- data/app/views/layouts/wiki_edit.rhtml +26 -0
- data/app/views/report/list.rhtml +32 -0
- data/app/views/report/older.rhtml +26 -0
- data/app/views/report/rss.rxml +29 -0
- data/app/views/report/show.rhtml +20 -0
- data/app/views/root/index.rhtml +33 -0
- data/app/views/wiki/_editbar.rhtml +26 -0
- data/app/views/wiki/_properties_edit.rhtml +5 -0
- data/app/views/wiki/_properties_show.rhtml +5 -0
- data/app/views/wiki/edit.rhtml +56 -0
- data/app/views/wiki/properties_edit.rhtml +1 -0
- data/app/views/wiki/show.rhtml +9 -0
- data/bin/motiro +44 -0
- data/config/boot.rb +19 -0
- data/config/database.yml +14 -0
- data/config/environment.rb +64 -0
- data/config/environments/development.rb +20 -0
- data/config/environments/production.rb +19 -0
- data/config/environments/test.rb +19 -0
- data/config/motiro.yml +43 -0
- data/config/routes.rb +79 -0
- data/db/migrate/005_globalize_migration.rb +11363 -0
- data/db/migrate/006_remove_headline_title.rb +14 -0
- data/db/migrate/007_stretch_rid.rb +11 -0
- data/db/migrate/008_add_page_editors.rb +12 -0
- data/db/migrate/009_add_page_original_author.rb +12 -0
- data/db/migrate/010_remove_empty_string_defaults_from_pages.rb +17 -0
- data/db/migrate/011_add_title_and_kind_to_pages.rb +13 -0
- data/db/migrate/012_page_modification_info.rb +13 -0
- data/db/migrate/013_nullify_initial_page_attributes.rb +21 -0
- data/db/migrate/014_events_are_wiki_pages.rb +13 -0
- data/db/migrate/015_migrate_previous_event_data.rb +23 -0
- data/db/migrate/1_initial_structure.rb +36 -0
- data/db/migrate/2_add_authentication.rb +12 -0
- data/db/migrate/3_drop_articles.rb +26 -0
- data/db/migrate/4_add_page_editing.rb +14 -0
- data/db/motirodb.sqlite.initial +0 -0
- data/db/schema_version +1 -0
- data/db/translation/pt-BR.rb +76 -0
- data/doc/README_FOR_APP +2 -0
- data/installer/rails_installer_defaults.yml +5 -0
- data/lib/import_translations.rb +154 -0
- data/lib/login_system.rb +89 -0
- data/lib/relative_time.rb +48 -0
- data/lib/string_extensions.rb +10 -0
- data/lib/stub_hash.rb +22 -0
- data/lib/tasks/packaging.rake +93 -0
- data/lib/tasks/testing.rake +32 -0
- data/lib/tick_daemon.rb +41 -0
- data/lib/translator.rb +67 -0
- data/lib/wiki_renderer.rb +42 -0
- data/lib/wiki_url_generator.rb +29 -0
- data/log/.keepdir +0 -0
- data/public/404.html +8 -0
- data/public/500.html +8 -0
- data/public/dispatch.cgi +10 -0
- data/public/dispatch.fcgi +24 -0
- data/public/dispatch.rb +10 -0
- data/public/favicon.ico +0 -0
- data/public/images/calendar.png +0 -0
- data/public/images/rss.png +0 -0
- data/public/javascripts/controls.js +750 -0
- data/public/javascripts/dragdrop.js +584 -0
- data/public/javascripts/effects.js +854 -0
- data/public/javascripts/prototype.js +1785 -0
- data/public/robots.txt +1 -0
- data/public/stylesheets/motiro.css +269 -0
- data/public/stylesheets/niftyCorners.css +35 -0
- data/public/stylesheets/scaffold.css +74 -0
- data/script/about +3 -0
- data/script/breakpointer +3 -0
- data/script/console +3 -0
- data/script/destroy +3 -0
- data/script/generate +3 -0
- data/script/performance/benchmarker +3 -0
- data/script/performance/profiler +3 -0
- data/script/plugin +3 -0
- data/script/process/reaper +3 -0
- data/script/process/spawner +3 -0
- data/script/process/spinner +3 -0
- data/script/runner +3 -0
- data/script/server +3 -0
- data/script/ticker +29 -0
- data/test/acceptance/account_test.rb +186 -0
- data/test/acceptance/darcs_test.rb +62 -0
- data/test/acceptance/events_test.rb +47 -0
- data/test/acceptance/main_page_test.rb +92 -0
- data/test/acceptance/subversion_test.rb +319 -0
- data/test/acceptance/ts_all_suites.rb +27 -0
- data/test/acceptance/wiki_test.rb +202 -0
- data/test/contract/darcs_test.rb +51 -0
- data/test/contract/remote_darcs_test.rb +61 -0
- data/test/contract/svn_test.rb +53 -0
- data/test/fixtures/changes.yml +25 -0
- data/test/fixtures/headlines.yml +45 -0
- data/test/fixtures/pages.yml +98 -0
- data/test/fixtures/users.yml +31 -0
- data/test/functional/account_controller_test.rb +96 -0
- data/test/functional/report_controller_test.rb +113 -0
- data/test/functional/report_features_test.rb +38 -0
- data/test/functional/report_subversion_test.rb +79 -0
- data/test/functional/root_controller_test.rb +127 -0
- data/test/functional/wiki_controller_test.rb +280 -0
- data/test/lib/acceptance_test_case.rb +43 -0
- data/test/lib/configuration.rb +53 -0
- data/test/lib/darcs_excerpts.rb +181 -0
- data/test/lib/darcs_repo.rb +77 -0
- data/test/lib/live_mode_test.rb +51 -0
- data/test/lib/local_svn.rb +157 -0
- data/test/lib/netutils.rb +42 -0
- data/test/lib/platform_thread.rb +62 -0
- data/test/lib/repoutils.rb +23 -0
- data/test/lib/selenium_extensions.rb +32 -0
- data/test/lib/stubio.rb +37 -0
- data/test/lib/svn_excerpts.rb +288 -0
- data/test/lib/test_configuration.rb +14 -0
- data/test/lib/webserver.rb +71 -0
- data/test/meta/configuration_test.rb +72 -0
- data/test/meta/darcs_repo_test.rb +118 -0
- data/test/meta/local_svn_test.rb +125 -0
- data/test/meta/platform_thread_test.rb +46 -0
- data/test/meta/stubio_test.rb +44 -0
- data/test/mocks/headline.rb +34 -0
- data/test/mocks/svn_reporter.rb +29 -0
- data/test/stubs/svn_settings.rb +19 -0
- data/test/stubs/url_generator.rb +24 -0
- data/test/test_helper.rb +36 -0
- data/test/unit/cache_reporter_fetcher_test.rb +46 -0
- data/test/unit/cache_reporter_test.rb +97 -0
- data/test/unit/caching_test.rb +78 -0
- data/test/unit/change_test.rb +152 -0
- data/test/unit/chdir_runner_test.rb +77 -0
- data/test/unit/chief_editor_test.rb +234 -0
- data/test/unit/darcs_connection_test.rb +109 -0
- data/test/unit/darcs_reporter_test.rb +146 -0
- data/test/unit/darcs_settings_test.rb +37 -0
- data/test/unit/darcs_temp_repo_test.rb +51 -0
- data/test/unit/default_page_provider_test.rb +46 -0
- data/test/unit/diff_table_builder_test.rb +602 -0
- data/test/unit/headline_test.rb +259 -0
- data/test/unit/page_test.rb +145 -0
- data/test/unit/relative_time_test.rb +56 -0
- data/test/unit/reporter_driver_test.rb +85 -0
- data/test/unit/reporter_fetcher_test.rb +31 -0
- data/test/unit/reporter_test.rb +81 -0
- data/test/unit/runner_test.rb +93 -0
- data/test/unit/settings_test.rb +55 -0
- data/test/unit/string_extensions_test.rb +10 -0
- data/test/unit/svn_connection_test.rb +183 -0
- data/test/unit/svn_reporter_interaction_test.rb +38 -0
- data/test/unit/svn_reporter_test.rb +286 -0
- data/test/unit/svn_settings_test.rb +86 -0
- data/test/unit/translator_test.rb +96 -0
- data/test/unit/user_test.rb +125 -0
- data/test/unit/wiki_renderer_test.rb +87 -0
- data/test/unit/wiki_reporter_test.rb +94 -0
- data/test/unit/wiki_url_generator_test.rb +31 -0
- data/vendor/motiro-installer.rb +159 -0
- data/vendor/plugins/globalize/LICENSE +9 -0
- data/vendor/plugins/globalize/README +49 -0
- data/vendor/plugins/globalize/data/country_data.csv +240 -0
- data/vendor/plugins/globalize/data/language_data.csv +188 -0
- data/vendor/plugins/globalize/data/translation_data.csv +3421 -0
- data/vendor/plugins/globalize/generators/globalize/USAGE +10 -0
- data/vendor/plugins/globalize/generators/globalize/globalize_generator.rb +42 -0
- data/vendor/plugins/globalize/generators/globalize/templates/migration.rb.gz +0 -0
- data/vendor/plugins/globalize/generators/globalize/templates/tiny_migration.rb.gz +0 -0
- data/vendor/plugins/globalize/init.rb +30 -0
- data/vendor/plugins/globalize/lib/globalize/localization/core_ext.rb +170 -0
- data/vendor/plugins/globalize/lib/globalize/localization/core_ext_hooks.rb +33 -0
- data/vendor/plugins/globalize/lib/globalize/localization/db_translate.rb +494 -0
- data/vendor/plugins/globalize/lib/globalize/localization/db_view_translator.rb +152 -0
- data/vendor/plugins/globalize/lib/globalize/localization/locale.rb +173 -0
- data/vendor/plugins/globalize/lib/globalize/localization/rfc_3066.rb +40 -0
- data/vendor/plugins/globalize/lib/globalize/models/country.rb +24 -0
- data/vendor/plugins/globalize/lib/globalize/models/currency.rb +188 -0
- data/vendor/plugins/globalize/lib/globalize/models/language.rb +84 -0
- data/vendor/plugins/globalize/lib/globalize/models/model_translation.rb +4 -0
- data/vendor/plugins/globalize/lib/globalize/models/translation.rb +9 -0
- data/vendor/plugins/globalize/lib/globalize/models/view_translation.rb +14 -0
- data/vendor/plugins/globalize/lib/globalize/rails/action_mailer.rb +125 -0
- data/vendor/plugins/globalize/lib/globalize/rails/action_view.rb +79 -0
- data/vendor/plugins/globalize/lib/globalize/rails/active_record.rb +129 -0
- data/vendor/plugins/globalize/lib/globalize/rails/active_record_helper.rb +33 -0
- data/vendor/plugins/globalize/populators/pop_dates.rb +81 -0
- data/vendor/plugins/globalize/populators/pop_migration.rb +18 -0
- data/vendor/plugins/globalize/populators/pop_pluralization.rb +26 -0
- data/vendor/plugins/globalize/populators/pop_seps.rb +32 -0
- data/vendor/plugins/globalize/tasks/data.rake +130 -0
- data/vendor/plugins/globalize/test/action_mailer_test/globalize_mailer/test.en-US.plain.text.rhtml +1 -0
- data/vendor/plugins/globalize/test/action_mailer_test/globalize_mailer/test.en.plain.text.rhtml +1 -0
- data/vendor/plugins/globalize/test/action_mailer_test/globalize_mailer/test.he.plain.text.rhtml +1 -0
- data/vendor/plugins/globalize/test/action_mailer_test/globalize_mailer/test.plain.text.rhtml +1 -0
- data/vendor/plugins/globalize/test/action_mailer_test.rb +54 -0
- data/vendor/plugins/globalize/test/config/database.yml.default +16 -0
- data/vendor/plugins/globalize/test/config/database.yml.example +22 -0
- data/vendor/plugins/globalize/test/core_ext_test.rb +61 -0
- data/vendor/plugins/globalize/test/currency_test.rb +141 -0
- data/vendor/plugins/globalize/test/date_helper_test.rb +634 -0
- data/vendor/plugins/globalize/test/db/schema.rb +90 -0
- data/vendor/plugins/globalize/test/db_translation_test.rb +374 -0
- data/vendor/plugins/globalize/test/fixtures/globalize_categories.yml +7 -0
- data/vendor/plugins/globalize/test/fixtures/globalize_categories_products.yml +7 -0
- data/vendor/plugins/globalize/test/fixtures/globalize_countries.yml +41 -0
- data/vendor/plugins/globalize/test/fixtures/globalize_languages.yml +64 -0
- data/vendor/plugins/globalize/test/fixtures/globalize_manufacturers.yml +5 -0
- data/vendor/plugins/globalize/test/fixtures/globalize_products.yml +29 -0
- data/vendor/plugins/globalize/test/fixtures/globalize_simples.yml +5 -0
- data/vendor/plugins/globalize/test/fixtures/globalize_translations.yml +354 -0
- data/vendor/plugins/globalize/test/locale_test.rb +27 -0
- data/vendor/plugins/globalize/test/mime_responds_test.rb +358 -0
- data/vendor/plugins/globalize/test/model_test.rb +17 -0
- data/vendor/plugins/globalize/test/standard_data_test_helper.rb +33 -0
- data/vendor/plugins/globalize/test/test_helper.rb +19 -0
- data/vendor/plugins/globalize/test/test_standard_data.rb +54 -0
- data/vendor/plugins/globalize/test/validation_test.rb +29 -0
- data/vendor/plugins/globalize/test/view_picking_test.rb +49 -0
- data/vendor/plugins/globalize/test/view_translation_test.rb +237 -0
- data/vendor/plugins/globalize/test/views/layouts/standard.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/all_types_with_layout.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/all_types_with_layout.rjs +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults.en.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults.en.rjs +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults.en.rxml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults.fr.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults.fr.rjs +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults.fr.rxml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults.rjs +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults.rxml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.en.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.en.rjs +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.en.rxml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.fr.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.fr.rjs +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.fr.rxml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.rjs +1 -0
- data/vendor/plugins/globalize/test/views/respond_to/using_defaults_with_type_list.rxml +1 -0
- data/vendor/plugins/globalize/test/views/test.he-IL.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/test.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/test2.he.rhtml +1 -0
- data/vendor/plugins/globalize/test/views/test2.rhtml +1 -0
- data/vendor/plugins/test_xml/MIT-LICENSE +20 -0
- data/vendor/plugins/test_xml/README +20 -0
- data/vendor/plugins/test_xml/Rakefile +22 -0
- data/vendor/plugins/test_xml/init.rb +7 -0
- data/vendor/plugins/test_xml/lib/xml_assertions.rb +22 -0
- data/vendor/plugins/test_xml/test/test_xml_test.rb +40 -0
- metadata +505 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Motiro - A project tracking tool
|
|
2
|
+
# Copyright (C) 2006-2007 Thiago Arrais
|
|
3
|
+
#
|
|
4
|
+
# This program is free software; you can redistribute it and/or modify
|
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
|
6
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
7
|
+
# any later version.
|
|
8
|
+
#
|
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
# GNU General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU General Public License
|
|
15
|
+
# along with this program; if not, write to the Free Software
|
|
16
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
17
|
+
|
|
18
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
|
19
|
+
|
|
20
|
+
require 'darcs_excerpts'
|
|
21
|
+
require 'reporters/darcs_reporter'
|
|
22
|
+
|
|
23
|
+
class DarcsReporterTest < Test::Unit::TestCase
|
|
24
|
+
|
|
25
|
+
def setup
|
|
26
|
+
@darcs_changes = ''
|
|
27
|
+
@darcs_diff = ''
|
|
28
|
+
|
|
29
|
+
@darcs_connection = FlexMock.new('darcs connection')
|
|
30
|
+
|
|
31
|
+
@darcs_connection.mock_handle(:pull).zero_or_more_times
|
|
32
|
+
@darcs_connection.mock_handle(:changes) { @darcs_changes }
|
|
33
|
+
@darcs_connection.mock_handle(:diff) { @darcs_diff }
|
|
34
|
+
|
|
35
|
+
@reporter = DarcsReporter.new(@darcs_connection)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_extracts_info_from_patch_with_title_only
|
|
39
|
+
@darcs_changes = P1
|
|
40
|
+
hl = @reporter.latest_headline
|
|
41
|
+
assert_equal 'thiago.arrais', hl.author
|
|
42
|
+
assert_equal 'Some refactoring after the mess', hl.description
|
|
43
|
+
assert_equal Time.utc(2006, 7, 17, 20, 9, 39), hl.happened_at
|
|
44
|
+
assert_equal '20060717200939-49d33-c04fbb63892ae64cd96d1ad8f1ad2dd0a6e8e7da.gz',
|
|
45
|
+
hl.rid
|
|
46
|
+
assert_equal 'darcs', hl.reported_by
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def test_fetches_headline_details
|
|
50
|
+
@darcs_changes = P1
|
|
51
|
+
|
|
52
|
+
rid = '20060717200939-49d33-c04fbb63892ae64cd96d1ad8f1ad2dd0a6e8e7da.gz'
|
|
53
|
+
hl = @reporter.headline(rid)
|
|
54
|
+
|
|
55
|
+
assert_equal 'thiago.arrais', hl.author
|
|
56
|
+
assert_equal 'Some refactoring after the mess', hl.description
|
|
57
|
+
assert_equal rid, hl.rid
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def test_records_long_comment
|
|
61
|
+
@darcs_changes = P2
|
|
62
|
+
|
|
63
|
+
hl = @reporter.latest_headline
|
|
64
|
+
|
|
65
|
+
assert_equal "Cheking for ghc --make output\n\n" +
|
|
66
|
+
"Still need testing on Windows. Much probably there are file system and/or\n" +
|
|
67
|
+
"linebreaking issues.",
|
|
68
|
+
hl.description
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def test_empty_change_log
|
|
72
|
+
@darcs_changes = P_EMPTY
|
|
73
|
+
|
|
74
|
+
hls = @reporter.latest_headlines
|
|
75
|
+
|
|
76
|
+
assert_equal 0, hls.size
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def test_patch_with_empty_title
|
|
80
|
+
@darcs_changes = P3
|
|
81
|
+
|
|
82
|
+
hl = @reporter.latest_headline
|
|
83
|
+
|
|
84
|
+
assert_equal 'Untitled patch', hl.description
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def test_pulls_before_reporting
|
|
88
|
+
FlexMock.use do |conn|
|
|
89
|
+
conn.should_receive(:pull).once
|
|
90
|
+
conn.should_receive(:changes).returns P_EMPTY
|
|
91
|
+
|
|
92
|
+
DarcsReporter.new(conn).latest_headlines
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def test_multiple_headlines
|
|
97
|
+
@darcs_changes = P4
|
|
98
|
+
|
|
99
|
+
hls = @reporter.latest_headlines
|
|
100
|
+
|
|
101
|
+
assert_equal 2, hls.size
|
|
102
|
+
assert_equal 'Some refactoring after the mess', hls[0].title
|
|
103
|
+
assert_equal 'Cheking for ghc --make output', hls[1].title
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def test_reads_one_resource_name_and_diff
|
|
107
|
+
@darcs_changes = P5
|
|
108
|
+
@darcs_diff = P5DIFF
|
|
109
|
+
|
|
110
|
+
hl = @reporter.latest_headlines[0]
|
|
111
|
+
|
|
112
|
+
assert_equal 1, hl.changes.size
|
|
113
|
+
|
|
114
|
+
change = hl.changes[0]
|
|
115
|
+
assert_equal('net.sf.eclipsefp.haskell.ui/src/net/sf/eclipsefp/haskell/ui/preferences/BuildConsolePP.java',
|
|
116
|
+
change.summary)
|
|
117
|
+
|
|
118
|
+
assert change.diff.match(/\A@@ -56,18 \+56,36 @@$/)
|
|
119
|
+
assert change.diff.match(/^- public void widgetDefaultSelected\(SelectionEvent e\) \{\}\n\+ public void widgetDefaultSelected\(SelectionEvent e\) \{/)
|
|
120
|
+
assert change.diff.match(/@Override\n\n\Z/)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def test_reads_more_resource_names_and_diffs
|
|
124
|
+
@darcs_changes = P6
|
|
125
|
+
@darcs_diff = P6DIFF
|
|
126
|
+
|
|
127
|
+
changes = @reporter.latest_headlines[0].changes
|
|
128
|
+
|
|
129
|
+
assert_equal 2, changes.size
|
|
130
|
+
|
|
131
|
+
assert_equal('net.sf.eclipsefp.common.core/src/net/sf/eclipsefp/common/core/util/MultiplexedWriter.java',
|
|
132
|
+
changes[0].summary)
|
|
133
|
+
assert_equal('net.sf.eclipsefp.common.core.test/src/net/sf/eclipsefp/common/core/test/util/MultiplexedWriterTest.java',
|
|
134
|
+
changes[1].summary)
|
|
135
|
+
|
|
136
|
+
assert changes[0].diff.match(/\A@@ -1,3 \+1,14 @@$/)
|
|
137
|
+
assert changes[0].diff.match(/^\+\tpublic void removeOutput\(Writer out\) \{$/)
|
|
138
|
+
assert changes[0].diff.match(/^\+\n \}\n\Z/)
|
|
139
|
+
|
|
140
|
+
assert changes[1].diff.match(/@@ -76,6 \+76,17 @@/)
|
|
141
|
+
assert changes[1].diff.match(/^\+\t\tmultiplexer.addOutput\(output\);/)
|
|
142
|
+
assert changes[1].diff.match(/Writer multiplexer = new MultiplexedWriter\(outputs\);\n\n\Z/)
|
|
143
|
+
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
|
2
|
+
|
|
3
|
+
require 'stringio'
|
|
4
|
+
|
|
5
|
+
require 'reporters/darcs_settings'
|
|
6
|
+
|
|
7
|
+
class DarcsSettingsProviderTest < Test::Unit::TestCase
|
|
8
|
+
|
|
9
|
+
def setup
|
|
10
|
+
expected_file_name = File.expand_path(File.dirname(__FILE__) +
|
|
11
|
+
'../../../config/motiro.yml')
|
|
12
|
+
@opener = FlexMock.new
|
|
13
|
+
|
|
14
|
+
@opener.should_receive(:open).with(expected_file_name).
|
|
15
|
+
once.
|
|
16
|
+
returns( StringIO.new( "package_size: 8\n" +
|
|
17
|
+
"update_interval: 10\n" +
|
|
18
|
+
"darcs:\n" +
|
|
19
|
+
" repo: http://motiro.sf.net/darcsrepo/trunk\n"))
|
|
20
|
+
|
|
21
|
+
@provider = DarcsSettingsProvider.new(@opener)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_fetches_repo_url
|
|
25
|
+
assert_equal 'http://motiro.sf.net/darcsrepo/trunk', @provider.repo_url
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def teardown
|
|
29
|
+
@opener.mock_verify
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
#TODO mal-formed yaml
|
|
33
|
+
#TODO one or more options not present in the file
|
|
34
|
+
#TODO file does not exist
|
|
35
|
+
#TODO somebody messed the config file and placed a non-number on package_size
|
|
36
|
+
|
|
37
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Motiro - A project tracking tool
|
|
2
|
+
# Copyright (C) 2006-2007 Thiago Arrais
|
|
3
|
+
#
|
|
4
|
+
# This program is free software; you can redistribute it and/or modify
|
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
|
6
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
7
|
+
# any later version.
|
|
8
|
+
#
|
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
# GNU General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU General Public License
|
|
15
|
+
# along with this program; if not, write to the Free Software
|
|
16
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
17
|
+
|
|
18
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
|
19
|
+
|
|
20
|
+
require 'reporters/darcs_temp_repo'
|
|
21
|
+
|
|
22
|
+
class DarcsTempRepoTest < Test::Unit::TestCase
|
|
23
|
+
|
|
24
|
+
EXPECTED_PATH = File.expand_path(__FILE__ + '../../../../tmp/tmprepo')
|
|
25
|
+
|
|
26
|
+
def test_creates_repodir_on_construction_when_not_created_yet
|
|
27
|
+
FlexMock.use('a', 'b', 'c') do |filesystem, fileutils, runner|
|
|
28
|
+
filesystem.should_receive(:exists?).once.
|
|
29
|
+
with(EXPECTED_PATH + '/_darcs').
|
|
30
|
+
returns(false)
|
|
31
|
+
fileutils.should_receive(:mkdir_p).once.
|
|
32
|
+
with(EXPECTED_PATH)
|
|
33
|
+
runner.should_receive(:run).once.
|
|
34
|
+
with("darcs init")
|
|
35
|
+
|
|
36
|
+
repo = DarcsTempRepo.new(filesystem, fileutils, runner)
|
|
37
|
+
assert_equal EXPECTED_PATH, repo.path
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_does_not_create_repodir_on_construction_when_already_created
|
|
42
|
+
FlexMock.use('a', 'b', 'c') do |filesystem, fileutils, runner|
|
|
43
|
+
filesystem.should_receive(:exists?).once.
|
|
44
|
+
with(EXPECTED_PATH + '/_darcs').
|
|
45
|
+
returns(true)
|
|
46
|
+
|
|
47
|
+
DarcsTempRepo.new(filesystem, fileutils, runner)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Motiro - A project tracking tool
|
|
2
|
+
# Copyright (C) 2006-2007 Thiago Arrais
|
|
3
|
+
#
|
|
4
|
+
# This program is free software; you can redistribute it and/or modify
|
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
|
6
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
7
|
+
# any later version.
|
|
8
|
+
#
|
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
# GNU General Public License for more details.
|
|
13
|
+
#
|
|
14
|
+
# You should have received a copy of the GNU General Public License
|
|
15
|
+
# along with this program; if not, write to the Free Software
|
|
16
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
17
|
+
|
|
18
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
|
19
|
+
|
|
20
|
+
class DefaultPageProviderTest < Test::Unit::TestCase
|
|
21
|
+
|
|
22
|
+
def setup
|
|
23
|
+
@provider = DefaultPageProvider.new
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_nil_type_creates_common_page
|
|
27
|
+
assert_equal Page, @provider.find_by_name_and_type('MainPage', nil).class
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_event_type_creates_event_page
|
|
31
|
+
klass = @provider.find_by_name_and_type('MainPage', 'Event').class
|
|
32
|
+
assert_equal Event, klass
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_provides_congratulations_page_for_main_page
|
|
36
|
+
page_text = @provider.find_by_name_and_type('MainPage', nil).text
|
|
37
|
+
assert page_text.match(/Congratulations/)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_provides_you_can_edit_this_page_for_random_pages
|
|
41
|
+
page_text = @provider.find_by_name_and_type('AnyPage', nil).text
|
|
42
|
+
assert page_text.match(/nothing to be read here/)
|
|
43
|
+
assert page_text.match(/But you can write something right now/)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|