drupid 1.1.0 → 1.1.2
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.
- checksums.yaml +4 -4
- data/.bundle/config +3 -0
- data/.gitignore +10 -0
- data/.rbenv-version +1 -0
- data/Gemfile +3 -0
- data/README.md +56 -0
- data/Rakefile +26 -0
- data/bin/drupid +1 -3
- data/drupid.gemspec +31 -0
- data/lib/drupid/project_version.rb +276 -0
- data/lib/drupid/utils.rb +1 -1
- data/lib/drupid/version.rb +3 -275
- data/lib/drupid.rb +2 -7
- data/test/fixtures/drupal-example.make +89 -0
- data/test/fixtures/drupal-fake-site/modules/aggregator/aggregator.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/aggregator/aggregator.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/aggregator/tests/aggregator_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/aggregator/tests/aggregator_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/block/block.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/block/block.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/block/tests/block_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/block/tests/block_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/blog/blog.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/blog/blog.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/book/book.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/book/book.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/color/color.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/color/color.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/comment/comment.info +16 -0
- data/test/fixtures/drupal-fake-site/modules/comment/comment.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/contact/contact.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/contact/contact.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/contextual/contextual.info +11 -0
- data/test/fixtures/drupal-fake-site/modules/contextual/contextual.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/dashboard/dashboard.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/dashboard/dashboard.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/dblog/dblog.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/dblog/dblog.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/field/field.info +17 -0
- data/test/fixtures/drupal-fake-site/modules/field/field.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/field_sql_storage/field_sql_storage.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/field_sql_storage/field_sql_storage.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/list/list.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/list/list.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/list/tests/list_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/list/tests/list_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/number/number.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/number/number.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/options/options.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/options/options.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/text/text.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/field/modules/text/text.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/field/tests/field_test.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/field/tests/field_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/field_ui/field_ui.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/field_ui/field_ui.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/file/file.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/file/file.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/file/tests/file_module_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/file/tests/file_module_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/filter/filter.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/filter/filter.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/forum/forum.info +16 -0
- data/test/fixtures/drupal-fake-site/modules/forum/forum.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/help/help.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/help/help.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/image/image.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/image/image.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/image/tests/image_module_test.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/image/tests/image_module_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/locale/locale.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/locale/locale.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/locale/tests/locale_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/locale/tests/locale_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/menu/menu.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/menu/menu.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/node/node.info +16 -0
- data/test/fixtures/drupal-fake-site/modules/node/node.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/node/tests/node_access_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/node/tests/node_access_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/node/tests/node_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/node/tests/node_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/node/tests/node_test_exception.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/node/tests/node_test_exception.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/openid/openid.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/openid/openid.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/openid/tests/openid_test.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/openid/tests/openid_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/overlay/overlay.info +11 -0
- data/test/fixtures/drupal-fake-site/modules/overlay/overlay.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/path/path.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/path/path.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/php/php.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/php/php.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/poll/poll.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/poll/poll.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/profile/profile.info +18 -0
- data/test/fixtures/drupal-fake-site/modules/profile/profile.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/rdf/rdf.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/rdf/rdf.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/rdf/tests/rdf_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/rdf/tests/rdf_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/search/search.info +15 -0
- data/test/fixtures/drupal-fake-site/modules/search/search.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/search/tests/search_embedded_form.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/search/tests/search_embedded_form.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/search/tests/search_extra_type.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/search/tests/search_extra_type.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/shortcut/shortcut.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/shortcut/shortcut.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/simpletest.info +56 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/simpletest.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/actions_loop_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/actions_loop_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/ajax_forms_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/ajax_forms_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/ajax_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/ajax_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/batch_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/batch_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/common_test.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/common_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/common_test_cron_helper.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/common_test_cron_helper.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/database_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/database_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/entity_cache_test.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/entity_cache_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/entity_cache_test_dependency.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/entity_cache_test_dependency.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/entity_crud_hook_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/entity_crud_hook_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/error_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/error_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/file_test.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/file_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/filter_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/filter_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/form_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/form_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/image_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/image_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/menu_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/menu_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/module_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/module_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/requirements1_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/requirements1_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/requirements2_test.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/requirements2_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/session_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/session_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_dependencies_test.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_dependencies_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_incompatible_core_version_dependencies_test.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_incompatible_core_version_dependencies_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_incompatible_core_version_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_incompatible_core_version_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_incompatible_module_version_dependencies_test.info +14 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_incompatible_module_version_dependencies_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_incompatible_module_version_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_incompatible_module_version_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_test.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/system_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/taxonomy_test.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/taxonomy_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/theme_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/theme_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/update_script_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/update_script_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/update_test_1.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/update_test_1.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/update_test_2.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/update_test_2.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/update_test_3.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/update_test_3.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/url_alter_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/url_alter_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/xmlrpc_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/simpletest/tests/xmlrpc_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/statistics/statistics.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/statistics/statistics.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/syslog/syslog.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/syslog/syslog.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/system/system.info +19 -0
- data/test/fixtures/drupal-fake-site/modules/system/system.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/taxonomy/taxonomy.info +15 -0
- data/test/fixtures/drupal-fake-site/modules/taxonomy/taxonomy.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/toolbar/toolbar.info +11 -0
- data/test/fixtures/drupal-fake-site/modules/toolbar/toolbar.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/tracker/tracker.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/tracker/tracker.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/translation/tests/translation_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/translation/tests/translation_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/translation/translation.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/translation/translation.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/trigger/tests/trigger_test.info +11 -0
- data/test/fixtures/drupal-fake-site/modules/trigger/tests/trigger_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/trigger/trigger.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/trigger/trigger.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/update/tests/aaa_update_test.info +11 -0
- data/test/fixtures/drupal-fake-site/modules/update/tests/aaa_update_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/update/tests/bbb_update_test.info +11 -0
- data/test/fixtures/drupal-fake-site/modules/update/tests/bbb_update_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/update/tests/ccc_update_test.info +11 -0
- data/test/fixtures/drupal-fake-site/modules/update/tests/ccc_update_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/update/tests/update_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/update/tests/update_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/update/update.info +13 -0
- data/test/fixtures/drupal-fake-site/modules/update/update.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/user/tests/user_form_test.info +12 -0
- data/test/fixtures/drupal-fake-site/modules/user/tests/user_form_test.module +0 -0
- data/test/fixtures/drupal-fake-site/modules/user/user.info +16 -0
- data/test/fixtures/drupal-fake-site/modules/user/user.module +0 -0
- data/test/fixtures/drupal-fake-site/profiles/minimal/minimal.info +13 -0
- data/test/fixtures/drupal-fake-site/profiles/minimal/minimal.profile +0 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/modules/custom/combineblocks/combineblocks.info +11 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/modules/custom/openpublic_api/openpublic_api.info +12 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/modules/custom/openpublic_splash/openpublic_splash.info +16 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/modules/custom/phase2_blog/phase2_blog.info +32 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/modules/custom/phase2_document/phase2_document.info +38 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/modules/custom/phase2_profile/phase2_profile.info +45 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/openpublic.info +137 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/openpublic.make +149 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/openpublic.profile +0 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/themes/openomega/openomega.info +434 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/themes/openpublic_theme/.project +11 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/themes/openpublic_theme/openpublic_theme.info +51 -0
- data/test/fixtures/drupal-fake-site/profiles/openpublic/themes/spartan/spartan.info +434 -0
- data/test/fixtures/drupal-fake-site/profiles/standard/standard.info +32 -0
- data/test/fixtures/drupal-fake-site/profiles/standard/standard.profile +0 -0
- data/test/fixtures/drupal-fake-site/profiles/testing/modules/drupal_system_listing_compatible_test/drupal_system_listing_compatible_test.info +12 -0
- data/test/fixtures/drupal-fake-site/profiles/testing/modules/drupal_system_listing_incompatible_test/drupal_system_listing_incompatible_test.info +15 -0
- data/test/fixtures/drupal-fake-site/profiles/testing/testing.info +11 -0
- data/test/fixtures/drupal-fake-site/profiles/testing/testing.profile +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/entity/entity.info +31 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/entity/entity.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/entity/entity_token.info +13 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/entity/entity_token.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/entity/tests/entity_feature.info +14 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/entity/tests/entity_feature.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/entity/tests/entity_test.info +15 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/entity/tests/entity_test.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/featured_news_feature/featured_news.info +23 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/featured_news_feature/featured_news.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/google_analytics/googleanalytics.info +13 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/google_analytics/googleanalytics.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/media/media.info +26 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/media/media.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/migrate/migrate.info +47 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/migrate/migrate.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/migrate/migrate_example/migrate_example.info +27 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/migrate/migrate_example/migrate_example.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/migrate/migrate_example_baseball/migrate_example_baseball.info +32 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/migrate/migrate_example_baseball/migrate_example_baseball.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/migrate/migrate_ui/migrate_ui.info +15 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/migrate/migrate_ui/migrate_ui.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/bulk_export/bulk_export.info +12 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/bulk_export/bulk_export.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools.info +14 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools_access_ruleset/ctools_access_ruleset.info +12 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools_access_ruleset/ctools_access_ruleset.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools_ajax_sample/ctools_ajax_sample.info +12 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools_ajax_sample/ctools_ajax_sample.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools_custom_content/ctools_custom_content.info +12 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools_custom_content/ctools_custom_content.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools_plugin_example/ctools_plugin_example.info +15 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/ctools_plugin_example/ctools_plugin_example.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/page_manager/page_manager.info +12 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/page_manager/page_manager.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/stylizer/stylizer.info +13 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/stylizer/stylizer.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/tests/ctools_plugin_test.info +15 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/tests/ctools_plugin_test.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/views_content/views_content.info +17 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/subdir/ctools/views_content/views_content.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/views/tests/views_test.info +13 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/views/tests/views_test.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/views/views.info +297 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/views/views.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/views/views_ui.info +15 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/views/views_ui.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/wysiwyg/tests/wysiwyg_test.info +14 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/wysiwyg/tests/wysiwyg_test.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/wysiwyg/wysiwyg.info +17 -0
- data/test/fixtures/drupal-fake-site/sites/all/modules/wysiwyg/wysiwyg.module +0 -0
- data/test/fixtures/drupal-fake-site/sites/all/themes/fusion/fusion_core/fusion_core.info +102 -0
- data/test/fixtures/drupal-fake-site/sites/all/themes/fusion/fusion_starter/fusion_starter.info +190 -0
- data/test/fixtures/drupal-fake-site/sites/all/themes/fusion/fusion_starter_lite/fusion_starter_lite.info +170 -0
- data/test/fixtures/drupal-fake-site/sites/all/themes/subdir/mothership/.gitignore +3 -0
- data/test/fixtures/drupal-fake-site/sites/all/themes/subdir/mothership/NEWTHEME/NEWTHEME.info +124 -0
- data/test/fixtures/drupal-fake-site/sites/all/themes/subdir/mothership/mothership/mothership.info +126 -0
- data/test/fixtures/drupal-fake-site/sites/all/themes/subdir/mothership/mothershipstark/mothershipstark.info +15 -0
- data/test/fixtures/drupal-fake-site/sites/all/themes/subdir/mothership/tema/tema.info +58 -0
- data/test/fixtures/drupal-fake-site/sites/all/themes/tao/tao.info +49 -0
- data/test/fixtures/drupal-fake-site/sites/default/settings.php +0 -0
- data/test/fixtures/drupal-fake-site/sites/www.bar.org/settings.php +0 -0
- data/test/fixtures/drupal-fake-site/sites/www.foo.org/settings.php +0 -0
- data/test/fixtures/drupal-fake-site/themes/bartik/bartik.info +41 -0
- data/test/fixtures/drupal-fake-site/themes/garland/garland.info +14 -0
- data/test/fixtures/drupal-fake-site/themes/seven/seven.info +20 -0
- data/test/fixtures/drupal-fake-site/themes/stark/stark.info +12 -0
- data/test/fixtures/drupal-fake-site/themes/tests/block_test_theme/block_test_theme.info +20 -0
- data/test/fixtures/drupal-fake-site/themes/tests/test_theme/test_theme.info +22 -0
- data/test/fixtures/drupal-fake-site/themes/tests/update_test_basetheme/update_test_basetheme.info +10 -0
- data/test/fixtures/drupal-fake-site/themes/tests/update_test_subtheme/update_test_subtheme.info +11 -0
- data/test/fixtures/fake_library.tar.gz +0 -0
- data/test/fixtures/rootcandy/rootcandy.info +52 -0
- data/test/fixtures/views-info.diff +11 -0
- data/test/fixtures/views.tar.gz +0 -0
- data/test/helper.rb +7 -0
- data/test/makefiles/test1.make +20 -0
- data/test/makefiles/test2.make +14 -0
- data/test/makefiles/test3.make +8 -0
- data/test/test_drupid_component.rb +120 -0
- data/test/test_drupid_download_strategy.rb +112 -0
- data/test/test_drupid_drush.rb +32 -0
- data/test/test_drupid_extend_pathname.rb +33 -0
- data/test/test_drupid_library.rb +62 -0
- data/test/test_drupid_makefile.rb +181 -0
- data/test/test_drupid_patch.rb +53 -0
- data/test/test_drupid_platform.rb +207 -0
- data/test/test_drupid_platform_project.rb +206 -0
- data/test/test_drupid_project.rb +650 -0
- data/test/test_drupid_updater.rb +76 -0
- data/test/test_drupid_version.rb +295 -0
- data/test/test_pathname.rb +67 -0
- metadata +696 -5
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2012-2013 Lifepillar
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
23
|
+
require 'helper'
|
|
24
|
+
|
|
25
|
+
class TestDrupidUpdater < Minitest::Test
|
|
26
|
+
|
|
27
|
+
def setup
|
|
28
|
+
@mf = Drupid::Makefile.new(FIXTURES+'drupal-example.make')
|
|
29
|
+
@pl = Drupid::Platform.new(TESTSITE)
|
|
30
|
+
@updater = Drupid::Updater.new(@mf, @pl)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_create_updater
|
|
34
|
+
assert_instance_of Drupid::Updater, @updater
|
|
35
|
+
assert_equal @mf, @updater.makefile
|
|
36
|
+
assert_equal @pl, @updater.platform
|
|
37
|
+
assert_instance_of Drupid::Updater::Log, @updater.log
|
|
38
|
+
refute @updater.pending_actions?
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def test_excluded_projects
|
|
42
|
+
assert_empty @updater.excluded
|
|
43
|
+
@updater.exclude ['foo','bar']
|
|
44
|
+
assert_equal 2, @updater.excluded.size
|
|
45
|
+
assert @updater.excluded? 'foo'
|
|
46
|
+
assert @updater.excluded? 'bar'
|
|
47
|
+
refute @updater.excluded? 'tom'
|
|
48
|
+
assert_includes @updater.excluded, 'foo'
|
|
49
|
+
assert_includes @updater.excluded, 'bar'
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def test_create_update_actions
|
|
53
|
+
views = Drupid::PlatformProject.new(@pl, TESTSITE+'sites/all/modules/views')
|
|
54
|
+
action = Drupid::Updater::UpdateProjectAction.new(@pl, views)
|
|
55
|
+
assert_instance_of Drupid::Updater::UpdateProjectAction, action
|
|
56
|
+
assert action.pending?
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end # TestDrupidUpdater
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class TestDrupidUpdaterLog < Minitest::Test
|
|
63
|
+
|
|
64
|
+
def test_create_updater_log
|
|
65
|
+
log = Drupid::Updater::Log.new
|
|
66
|
+
assert_empty log.actions
|
|
67
|
+
assert_empty log.errors
|
|
68
|
+
assert_empty log.warnings
|
|
69
|
+
assert_empty log.notices
|
|
70
|
+
assert_respond_to log, 'action'
|
|
71
|
+
assert_respond_to log, 'error'
|
|
72
|
+
assert_respond_to log, 'warning'
|
|
73
|
+
assert_respond_to log, 'notice'
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
end # TestDrupidUpdaterLog
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2012-2013 Lifepillar
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
23
|
+
require 'helper'
|
|
24
|
+
|
|
25
|
+
class TestDrupidVersion < Minitest::Test
|
|
26
|
+
|
|
27
|
+
def test_version_object_creation
|
|
28
|
+
v = Drupid::Version.new(7, '1.0-rc4')
|
|
29
|
+
assert_instance_of Drupid::VersionCore, v.core, 'Core version should be a Drupid::VersionCore object'
|
|
30
|
+
assert_equal '7.x', v.core.to_s
|
|
31
|
+
assert_equal 7, v.core.to_i
|
|
32
|
+
assert_equal 1, v.major
|
|
33
|
+
assert_equal 0, v.patchlevel
|
|
34
|
+
assert_equal 'rc4', v.extra
|
|
35
|
+
assert_equal '1.0-rc4', v.short
|
|
36
|
+
assert_equal '7.x-1.0-rc4', v.long
|
|
37
|
+
v = Drupid::Version.new(7, '1.0-unstable5')
|
|
38
|
+
assert_equal 7, v.core.to_i
|
|
39
|
+
assert_equal 1, v.major
|
|
40
|
+
assert_equal 0, v.patchlevel
|
|
41
|
+
assert_equal Drupid::Version::UNSTABLE, v.extra_type
|
|
42
|
+
assert_equal 5, v.extra_num
|
|
43
|
+
assert_equal 'unstable5', v.extra
|
|
44
|
+
assert_equal '1.0-unstable5', v.short
|
|
45
|
+
assert_equal '7.x-1.0-unstable5', v.long
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def test_damned_drupal_dev_version
|
|
49
|
+
# Yes, projects typically (always?) have NUM.x-dev, but Drupal has NUM.NUM-dev...
|
|
50
|
+
v = Drupid::Version.new(7, '7.24-dev')
|
|
51
|
+
assert_equal '7.x', v.core.to_s
|
|
52
|
+
assert_equal 7, v.major
|
|
53
|
+
assert_equal 24, v.patchlevel
|
|
54
|
+
assert_equal 'dev', v.extra
|
|
55
|
+
assert_equal '7.24-dev', v.short
|
|
56
|
+
assert_equal '7.x-7.24-dev', v.long
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_core
|
|
60
|
+
core = Drupid::VersionCore.new '8.x'
|
|
61
|
+
assert_equal 8, core.to_i
|
|
62
|
+
assert_equal '8.x', core.to_s
|
|
63
|
+
core = Drupid::VersionCore.new '8'
|
|
64
|
+
assert_equal 8, core.to_i
|
|
65
|
+
assert_equal '8.x', core.to_s
|
|
66
|
+
core = Drupid::VersionCore.new '8.x-1.0'
|
|
67
|
+
assert_equal 8, core.to_i
|
|
68
|
+
assert_equal '8.x', core.to_s
|
|
69
|
+
core = Drupid::VersionCore.new 8
|
|
70
|
+
assert_equal 8, core.to_i
|
|
71
|
+
assert_equal '8.x', core.to_s
|
|
72
|
+
core = Drupid::VersionCore.new(Drupid::Version.new(8, '1.0'))
|
|
73
|
+
assert_equal 8, core.to_i
|
|
74
|
+
assert_equal '8.x', core.to_s
|
|
75
|
+
core2 = Drupid::VersionCore.new core
|
|
76
|
+
assert_equal 8, core2.to_i
|
|
77
|
+
assert_equal '8.x', core2.to_s
|
|
78
|
+
assert_raises Drupid::NotDrupalVersionError do
|
|
79
|
+
# We do not accept this as it is not distinguishable
|
|
80
|
+
# from a short project version.
|
|
81
|
+
core = Drupid::VersionCore.new '8.0'
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def test_version_short_and_long
|
|
86
|
+
v = Drupid::Version.new(8, '1.0-rc4')
|
|
87
|
+
assert_instance_of Fixnum, v.major
|
|
88
|
+
assert_equal 1, v.major
|
|
89
|
+
assert_instance_of Fixnum, v.patchlevel
|
|
90
|
+
assert_equal 0, v.patchlevel
|
|
91
|
+
assert_instance_of Fixnum, v.extra_type
|
|
92
|
+
assert_equal Drupid::Version::RC, v.extra_type
|
|
93
|
+
assert_instance_of Fixnum, v.extra_num
|
|
94
|
+
assert_equal 4, v.extra_num
|
|
95
|
+
assert_equal '1.0-rc4', v.short
|
|
96
|
+
assert_equal '8.x-1.0-rc4', v.long
|
|
97
|
+
v = Drupid::Version.new(10, '17.123-unstable18')
|
|
98
|
+
assert_equal '17.123-unstable18', v.short
|
|
99
|
+
assert_equal '10.x-17.123-unstable18', v.long
|
|
100
|
+
v = Drupid::Version.new(0, '1.x-dev23')
|
|
101
|
+
assert_equal '1.x-dev23', v.short
|
|
102
|
+
assert_equal '0.x-1.x-dev23', v.long
|
|
103
|
+
v = Drupid::Version.new(8, '2.x-dev')
|
|
104
|
+
assert_equal '2.x-dev', v.short
|
|
105
|
+
assert_equal '8.x-2.x-dev', v.long
|
|
106
|
+
v = Drupid::Version.new(8, '1.0')
|
|
107
|
+
assert_equal '1.0', v.short
|
|
108
|
+
assert_equal '8.x-1.0', v.long
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def test_version_equality_comparison
|
|
112
|
+
v1 = Drupid::Version.new(8, '1.0-rc2')
|
|
113
|
+
v2 = Drupid::Version.new(8, '1.0')
|
|
114
|
+
v3 = Drupid::Version.new(8, '1.0')
|
|
115
|
+
v4 = Drupid::Version.new(9, '1.0')
|
|
116
|
+
v5 = Drupid::Version.new(7, '1.0')
|
|
117
|
+
assert_equal v2, v2, 'An object should be == to itself'
|
|
118
|
+
assert_equal v2, v3, 'An object should be == to itself'
|
|
119
|
+
assert_equal v3, v2, 'v2 and v3 should compare =='
|
|
120
|
+
assert v1.eql?(v1), 'v1 should be eql? to itself'
|
|
121
|
+
assert v2.eql?(v2), 'v2 should be eql? to itself'
|
|
122
|
+
refute v2.eql?(v3), 'v2 should not be eql? to v3'
|
|
123
|
+
refute v3.eql?(v2), 'v3 should not be eql? to v2'
|
|
124
|
+
refute_equal v1, v2, "v1 (#{v1.to_s}) should not be == to v2 (#{v2.to_s})"
|
|
125
|
+
refute_equal v2, v1, 'v2 should not be == to v1'
|
|
126
|
+
refute_equal v3, v4, 'v3 should not be == to v4'
|
|
127
|
+
refute_equal v3, v5, 'v3 should not be == to v5'
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def test_less_than_comparison
|
|
131
|
+
v1 = Drupid::Version.new(8, '1.0-unstable1')
|
|
132
|
+
v2 = Drupid::Version.new(8, '1.0-unstable5')
|
|
133
|
+
v3 = Drupid::Version.new(8, '1.0-alpha1')
|
|
134
|
+
v4 = Drupid::Version.new(8, '1.0-alpha4')
|
|
135
|
+
v5 = Drupid::Version.new(8, '1.0-beta1')
|
|
136
|
+
v6 = Drupid::Version.new(8, '1.0-beta12')
|
|
137
|
+
v7 = Drupid::Version.new(8, '1.0-rc1')
|
|
138
|
+
v8 = Drupid::Version.new(8, '1.0-rc2')
|
|
139
|
+
v9 = Drupid::Version.new(8, '1.0')
|
|
140
|
+
v10 = Drupid::Version.new(8, '1.0')
|
|
141
|
+
v11 = Drupid::Version.new(8, '1.1')
|
|
142
|
+
v12 = Drupid::Version.new(8, '1.x-dev')
|
|
143
|
+
v13 = Drupid::Version.new(8, '2.0')
|
|
144
|
+
v14 = Drupid::Version.new(9, '2.0')
|
|
145
|
+
v15 = Drupid::Version.new(7, '2.0')
|
|
146
|
+
assert v1 < v2, 'v1 < v2'
|
|
147
|
+
assert v2 < v3, 'v2 < v3'
|
|
148
|
+
assert v3 < v4, 'v3 < v4'
|
|
149
|
+
assert v4 < v5, 'v4 < v5'
|
|
150
|
+
assert v5 < v6, 'v5 < v6'
|
|
151
|
+
assert v6 < v7, 'v6 < v7'
|
|
152
|
+
assert v7 < v8, 'v7 < v8'
|
|
153
|
+
assert v8 < v9, 'v8 < v9'
|
|
154
|
+
refute v9 < v10, 'v9 == v10'
|
|
155
|
+
assert v10 < v11, 'v10 < v11'
|
|
156
|
+
assert v12 < v11, 'v12 < v11'
|
|
157
|
+
assert v12 < v13, 'v12 < v13'
|
|
158
|
+
assert v13 < v14, 'v13 < v14'
|
|
159
|
+
assert v15 < v13, 'v15 < v13'
|
|
160
|
+
assert v12 < v1, 'v12 < v1'
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def test_multiway_comparison
|
|
164
|
+
v1 = Drupid::Version.new(8, '1.0-unstable1')
|
|
165
|
+
v2 = Drupid::Version.new(8, '1.0-unstable5')
|
|
166
|
+
v3 = Drupid::Version.new(8, '1.0-alpha1')
|
|
167
|
+
v4 = Drupid::Version.new(8, '1.0-alpha4')
|
|
168
|
+
v5 = Drupid::Version.new(8, '1.0-beta1')
|
|
169
|
+
v6 = Drupid::Version.new(8, '1.0-beta12')
|
|
170
|
+
v7 = Drupid::Version.new(8, '1.0-rc1')
|
|
171
|
+
v8 = Drupid::Version.new(8, '1.0-rc2')
|
|
172
|
+
v9 = Drupid::Version.new(8, '1.0')
|
|
173
|
+
v10 = Drupid::Version.new(8, '1.0')
|
|
174
|
+
v11 = Drupid::Version.new(8, '1.1')
|
|
175
|
+
v12 = Drupid::Version.new(8, '1.x-dev')
|
|
176
|
+
v13 = Drupid::Version.new(8, '2.0')
|
|
177
|
+
v14 = Drupid::Version.new(9, '2.0')
|
|
178
|
+
v15 = Drupid::Version.new(7, '2.0')
|
|
179
|
+
|
|
180
|
+
assert_equal(-1, v1 <=> v2, 'v1 <=> v2')
|
|
181
|
+
assert_equal(-1, v2 <=> v3, 'v2 <=> v3')
|
|
182
|
+
assert_equal(-1, v3 <=> v4, 'v3 <=> v4')
|
|
183
|
+
assert_equal(-1, v4 <=> v5, 'v4 <=> v5')
|
|
184
|
+
assert_equal(-1, v5 <=> v6, 'v5 <=> v6')
|
|
185
|
+
assert_equal(-1, v6 <=> v7, 'v6 <=> v7')
|
|
186
|
+
assert_equal(-1, v7 <=> v8, 'v7 <=> v8')
|
|
187
|
+
assert_equal(-1, v8 <=> v9, 'v8 <=> v9')
|
|
188
|
+
assert_equal 0, v9 <=> v10, 'v9 <=> v10'
|
|
189
|
+
assert_equal 0, v10 <=> v9, 'v10 <=> v9'
|
|
190
|
+
assert_equal 0, v10 <=> v10, 'v10 <=> v10'
|
|
191
|
+
assert_equal(-1, v10 <=> v11, 'v10 <=> v11')
|
|
192
|
+
assert_equal( 1, v11 <=> v12, 'v11 <=> v12')
|
|
193
|
+
assert_equal(-1, v12 <=> v1, 'v12 <=> v11')
|
|
194
|
+
assert_equal(-1, v12 <=> v13, 'v12 <=> v13')
|
|
195
|
+
assert_equal 1, v2 <=> v1
|
|
196
|
+
assert_equal(-1, v13 <=> v14)
|
|
197
|
+
assert_equal 1, v13 <=> v15
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
def test_version_from_string
|
|
201
|
+
versions = ['8.x-1.0', '7.x-1.x-dev']
|
|
202
|
+
versions.each do |vs|
|
|
203
|
+
v = Drupid::Version.from_s vs
|
|
204
|
+
assert_instance_of Drupid::Version, v, "Not a Drupid::Version object: #{vs}"
|
|
205
|
+
assert_equal vs, v.long, "Wrong long version: #{vs}"
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
def test_wrong_version_specification
|
|
210
|
+
assert_raises Drupid::NotDrupalVersionError do
|
|
211
|
+
Drupid::Version.from_s '1.0' # missing core number (e.g., '7.x-1.0')
|
|
212
|
+
end
|
|
213
|
+
assert_raises RuntimeError do
|
|
214
|
+
Drupid::Version.new(7, 1.0)
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
def test_version_extra
|
|
219
|
+
v1 = Drupid::Version.new(8, '1.0-unstable1')
|
|
220
|
+
v2 = Drupid::Version.new(8, '1.0-alpha4')
|
|
221
|
+
v3 = Drupid::Version.new(8, '1.0-beta12')
|
|
222
|
+
v4 = Drupid::Version.new(8, '1.0-rc2')
|
|
223
|
+
v5 = Drupid::Version.new(8, '1.0')
|
|
224
|
+
v6 = Drupid::Version.new(8, '1.x-dev')
|
|
225
|
+
v7 = Drupid::Version.new(8, '8.x')
|
|
226
|
+
refute v1.stable?, 'v1 is not stable'
|
|
227
|
+
refute v2.stable?, 'v2 is not stable'
|
|
228
|
+
refute v3.stable?, 'v3 is not stable'
|
|
229
|
+
refute v4.stable?, 'v4 is not stable'
|
|
230
|
+
assert v5.stable?, 'v5 is stable'
|
|
231
|
+
refute v6.stable?, 'v6 is not stable'
|
|
232
|
+
refute v7.stable?, 'v7 is not stable'
|
|
233
|
+
refute v1.release_candidate?, 'v1 is not rc'
|
|
234
|
+
refute v2.release_candidate?, 'v2 is not rc'
|
|
235
|
+
refute v3.release_candidate?, 'v3 is not rc'
|
|
236
|
+
assert v4.release_candidate?, 'v4 is rc'
|
|
237
|
+
refute v5.release_candidate?, 'v5 is not rc'
|
|
238
|
+
refute v6.release_candidate?, 'v6 is not rc'
|
|
239
|
+
refute v7.release_candidate?, 'v7 is not rc'
|
|
240
|
+
refute v1.alpha?, 'v1 is not alpha'
|
|
241
|
+
assert v2.alpha?, 'v2 is alpha'
|
|
242
|
+
refute v3.alpha?, 'v3 is not alpha'
|
|
243
|
+
refute v4.alpha?, 'v4 is not alpha'
|
|
244
|
+
refute v5.alpha?, 'v5 is not alpha'
|
|
245
|
+
refute v6.alpha?, 'v6 is not alpha'
|
|
246
|
+
refute v7.alpha?, 'v7 is not alpha'
|
|
247
|
+
refute v1.beta?, 'v1 is not beta'
|
|
248
|
+
refute v2.beta?, 'v2 is not beta'
|
|
249
|
+
assert v3.beta?, 'v3 is beta'
|
|
250
|
+
refute v4.beta?, 'v4 is not beta'
|
|
251
|
+
refute v5.beta?, 'v5 is not beta'
|
|
252
|
+
refute v6.beta?, 'v6 is not beta'
|
|
253
|
+
refute v7.beta?, 'v7 is not beta'
|
|
254
|
+
refute v1.development_snapshot?, 'v1 is not development snapshot'
|
|
255
|
+
refute v2.development_snapshot?, 'v2 is not development snapshot'
|
|
256
|
+
refute v3.development_snapshot?, 'v3 is not development snapshot'
|
|
257
|
+
refute v4.development_snapshot?, 'v4 is not development snapshot'
|
|
258
|
+
refute v5.development_snapshot?, 'v5 is not development snapshot'
|
|
259
|
+
assert v6.development_snapshot?, 'v6 is not development snapshot'
|
|
260
|
+
assert v7.development_snapshot?, 'v7 is not development snapshot'
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
def test_natural_ordering
|
|
264
|
+
vv = ['0.x', '0.9-alpha4', '0.9-beta0', '0.9', '1.x-dev',
|
|
265
|
+
'1.x-dev2', '1.0-unstable1', '1.0-alpha4', '1.0-alpha40',
|
|
266
|
+
'1.0-beta1', '1.0-beta12', '1.0-rc1', '1.0-rc2', '1.0-rc21',
|
|
267
|
+
'1.0', '1.1-dev', '1.1-beta1', '1.1', '2.x-dev']
|
|
268
|
+
vv2 = vv.shuffle
|
|
269
|
+
vv2.map! { |v| Drupid::Version.new(8, v) }
|
|
270
|
+
vv2.sort!
|
|
271
|
+
vv2.map! { |v| v.short }
|
|
272
|
+
assert_equal vv, vv2, 'not sorted correctly'
|
|
273
|
+
|
|
274
|
+
vv = ['1.x-dev', '1.x', '1.0-unstable6', '1.0-alpha4', '1.0-beta0',
|
|
275
|
+
'1.0-rc1', '1.0', '2.x-dev']
|
|
276
|
+
vv2 = vv.shuffle
|
|
277
|
+
vv2.map! { |v| Drupid::Version.new(8, v) }
|
|
278
|
+
vv2.sort!
|
|
279
|
+
vv2.map! { |v| v.short }
|
|
280
|
+
assert_equal vv, vv2, 'not sorted correctly'
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
def test_best_version
|
|
284
|
+
vv = ['0.x', '1.x-dev', '1.x-dev2', '1.1-dev', '2.x-dev', '1.0-unstable1',
|
|
285
|
+
'0.9-alpha4', '1.0-alpha4', '1.0-alpha40',
|
|
286
|
+
'0.9-beta0', '1.0-beta1', '1.0-beta12', '1.1-beta1',
|
|
287
|
+
'1.0-rc1', '1.0-rc2', '1.0-rc21', '0.9', '1.0', '1.1']
|
|
288
|
+
vv2 = vv.shuffle
|
|
289
|
+
vv2.map! { |v| Drupid::Version.new(7, v) }
|
|
290
|
+
vv2.sort! { |a,b| a.better(b) }
|
|
291
|
+
vv2.map! { |v| v.short }
|
|
292
|
+
assert_equal vv, vv2, 'not sorted correctly'
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
end # TestDrupidVersion
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2012-2013 Lifepillar
|
|
4
|
+
#
|
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
# furnished to do so, subject to the following conditions:
|
|
11
|
+
#
|
|
12
|
+
# The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
# copies or substantial portions of the Software.
|
|
14
|
+
#
|
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
# SOFTWARE.
|
|
22
|
+
|
|
23
|
+
require 'helper'
|
|
24
|
+
|
|
25
|
+
class TestPathname < Minitest::Test
|
|
26
|
+
|
|
27
|
+
def setup
|
|
28
|
+
@temp_dir = FIXTURES + 'templib'
|
|
29
|
+
@temp_dir.mkpath
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def teardown
|
|
33
|
+
@temp_dir.rmtree
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_ditto_src_file_dst_dir
|
|
37
|
+
file = FIXTURES+'drupal-example.make'
|
|
38
|
+
dst = file.ditto @temp_dir
|
|
39
|
+
assert_instance_of Pathname, dst
|
|
40
|
+
assert dst.exist?
|
|
41
|
+
assert dst.file?
|
|
42
|
+
assert_equal 'drupal-example.make', dst.basename.to_s
|
|
43
|
+
assert_equal @temp_dir, dst.parent
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def test_ditto_src_file_dst_file
|
|
47
|
+
file = FIXTURES+'drupal-example.make'
|
|
48
|
+
dst = file.ditto @temp_dir+'drupal-example-copy.make'
|
|
49
|
+
assert_instance_of Pathname, dst
|
|
50
|
+
assert dst.exist?
|
|
51
|
+
assert dst.file?
|
|
52
|
+
assert_equal 'drupal-example-copy.make', dst.basename.to_s
|
|
53
|
+
assert_equal @temp_dir, dst.parent
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def test_ditto_src_dir_dst_dir
|
|
57
|
+
dir = TESTSITE+'modules/aggregator'
|
|
58
|
+
dst = dir.ditto @temp_dir
|
|
59
|
+
assert_instance_of Pathname, dst
|
|
60
|
+
assert dst.exist?
|
|
61
|
+
assert dst.directory?
|
|
62
|
+
assert_equal @temp_dir, dst
|
|
63
|
+
assert((dst+'aggregator.info').exist?)
|
|
64
|
+
assert((dst+'tests').directory?)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end # TestPathname
|