ppl 3.0.0 → 4.0.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.
- checksums.yaml +5 -5
- data/.editorconfig +16 -0
- data/.eleventy.js +86 -0
- data/.eleventyignore +1 -0
- data/.github/workflows/build.yml +61 -0
- data/.gitignore +3 -1
- data/Rakefile +1 -18
- data/{CODE_OF_CONDUCT.md → code_of_conduct.md} +1 -1
- data/features/step_definitions/ppl_steps.rb +27 -27
- data/gh-pages/Gemfile +2 -0
- data/gh-pages/_config.yml +5 -0
- data/gh-pages/_includes/changelog.html +23 -0
- data/gh-pages/_includes/development-sidebar.html +25 -0
- data/gh-pages/_includes/footer.html +22 -0
- data/gh-pages/_includes/header.html +43 -0
- data/gh-pages/_includes/news.html +36 -0
- data/gh-pages/_includes/tip.html +54 -0
- data/gh-pages/_layouts/changelog.html +1 -0
- data/gh-pages/_layouts/command.html +104 -0
- data/gh-pages/_layouts/configuration.html +71 -0
- data/gh-pages/_layouts/development.html +20 -0
- data/gh-pages/_layouts/frontpage.html +6 -0
- data/gh-pages/_layouts/integration.html +44 -0
- data/gh-pages/_layouts/news.html +2 -0
- data/gh-pages/_layouts/page.html +6 -0
- data/gh-pages/_layouts/tip.html +2 -0
- data/gh-pages/_posts/2012-01-15-first-post.md +16 -0
- data/gh-pages/_posts/2012-12-20-1.0.0.md +19 -0
- data/gh-pages/_posts/2012-12-20-1.1.0.md +28 -0
- data/gh-pages/_posts/2012-12-20-1.2.0.md +18 -0
- data/gh-pages/_posts/2012-12-21-1.3.0.md +20 -0
- data/gh-pages/_posts/2012-12-21-thank-you-for-your-all-your-feedback.md +26 -0
- data/gh-pages/_posts/2012-12-22-1.4.1.md +21 -0
- data/gh-pages/_posts/2012-12-22-1.5.0.md +17 -0
- data/gh-pages/_posts/2012-12-23-1.5.1.md +13 -0
- data/gh-pages/_posts/2012-12-23-1.5.2.md +15 -0
- data/gh-pages/_posts/2012-12-26-1.5.3.md +19 -0
- data/gh-pages/_posts/2012-12-27-1.6.0.md +18 -0
- data/gh-pages/_posts/2012-12-29-1.7.0.md +18 -0
- data/gh-pages/_posts/2013-01-05-1.8.0.md +18 -0
- data/gh-pages/_posts/2013-01-06-1.9.0.md +20 -0
- data/gh-pages/_posts/2013-01-10-1.10.0.md +18 -0
- data/gh-pages/_posts/2013-01-20-1.11.0.md +14 -0
- data/gh-pages/_posts/2013-02-16-1.12.0.md +14 -0
- data/gh-pages/_posts/2013-02-17-1.13.0.md +29 -0
- data/gh-pages/_posts/2013-02-17-1.14.0.md +15 -0
- data/gh-pages/_posts/2013-02-17-1.14.1.md +18 -0
- data/gh-pages/_posts/2013-02-17-two-months-in.md +27 -0
- data/gh-pages/_posts/2013-03-16-1.15.0.md +28 -0
- data/gh-pages/_posts/2013-03-16-coloured-output-released.md +27 -0
- data/gh-pages/_posts/2013-04-10-ruby-2.0-compatibility.md +28 -0
- data/gh-pages/_posts/2013-04-11-1.15.1.md +13 -0
- data/gh-pages/_posts/2013-04-12-1.16.0.md +22 -0
- data/gh-pages/_posts/2013-04-14-1.17.0.md +15 -0
- data/gh-pages/_posts/2013-04-14-1.17.1.md +20 -0
- data/gh-pages/_posts/2013-04-14-1.17.2.md +13 -0
- data/gh-pages/_posts/2013-04-15-sync-alias.md +31 -0
- data/gh-pages/_posts/2013-04-15-utf8-fixed-and-more.md +37 -0
- data/gh-pages/_posts/2013-04-16-1.18.0.md +15 -0
- data/gh-pages/_posts/2013-04-16-set-up-color-output.md +47 -0
- data/gh-pages/_posts/2013-04-19-1.19.0.md +13 -0
- data/gh-pages/_posts/2013-04-19-1.20.0.md +15 -0
- data/gh-pages/_posts/2013-04-20-1.21.0.md +16 -0
- data/gh-pages/_posts/2013-04-20-1.22.0.md +14 -0
- data/gh-pages/_posts/2013-04-20-1.22.1.md +13 -0
- data/gh-pages/_posts/2013-04-21-1.22.2.md +15 -0
- data/gh-pages/_posts/2013-04-21-1.23.0.md +35 -0
- data/gh-pages/_posts/2013-04-23-1.24.0.md +16 -0
- data/gh-pages/_posts/2013-04-24-1.25.0.md +21 -0
- data/gh-pages/_posts/2013-05-09-2.0.0.md +33 -0
- data/gh-pages/_posts/2013-05-09-version-2.0.0-released.md +32 -0
- data/gh-pages/_posts/2013-07-20-2.1.0.md +36 -0
- data/gh-pages/_posts/2013-07-20-2.2.0.md +20 -0
- data/gh-pages/_posts/2013-10-12-2.3.0.md +19 -0
- data/gh-pages/_posts/2014-03-30-2.3.1.md +25 -0
- data/gh-pages/_posts/2015-01-05-2.3.2.md +18 -0
- data/gh-pages/_posts/2015-12-03-get-involved.md +29 -0
- data/gh-pages/_posts/2015-12-05-2.3.3.md +16 -0
- data/gh-pages/_posts/2016-01-02-2.4.0.md +19 -0
- data/gh-pages/_posts/2017-05-01-2.4.1.md +12 -0
- data/gh-pages/_posts/2017-10-23-sleep-mode.md +18 -0
- data/gh-pages/_posts/2018-01-03-3.0.1.md +12 -0
- data/gh-pages/_stylesheets/ppl/color.less +119 -0
- data/gh-pages/_stylesheets/ppl/layout.less +54 -0
- data/gh-pages/_stylesheets/ppl/style.less +185 -0
- data/gh-pages/_stylesheets/ppl/typography.less +59 -0
- data/gh-pages/development/changelog/index.md +18 -0
- data/gh-pages/development/changelog/split.rb +51 -0
- data/gh-pages/development/index.html +32 -0
- data/gh-pages/development/roadmap/index.md +15 -0
- data/gh-pages/documentation/about/index.html +63 -0
- data/gh-pages/documentation/commands/add/index.md +43 -0
- data/gh-pages/documentation/commands/age/add/index.md +40 -0
- data/gh-pages/documentation/commands/age/index.md +38 -0
- data/gh-pages/documentation/commands/bday/index.md +44 -0
- data/gh-pages/documentation/commands/completion/index.md +38 -0
- data/gh-pages/documentation/commands/email/index.md +64 -0
- data/gh-pages/documentation/commands/grep/index.md +32 -0
- data/gh-pages/documentation/commands/init/index.md +28 -0
- data/gh-pages/documentation/commands/ls/index.md +55 -0
- data/gh-pages/documentation/commands/mutt/index.md +36 -0
- data/gh-pages/documentation/commands/mv/index.md +26 -0
- data/gh-pages/documentation/commands/name/index.md +45 -0
- data/gh-pages/documentation/commands/nick/index.md +44 -0
- data/gh-pages/documentation/commands/org/index.md +45 -0
- data/gh-pages/documentation/commands/phone/index.md +56 -0
- data/gh-pages/documentation/commands/post/index.md +61 -0
- data/gh-pages/documentation/commands/pull/index.md +39 -0
- data/gh-pages/documentation/commands/push/index.md +36 -0
- data/gh-pages/documentation/commands/remote/index.md +40 -0
- data/gh-pages/documentation/commands/rm/index.md +23 -0
- data/gh-pages/documentation/commands/scrape/index.md +38 -0
- data/gh-pages/documentation/commands/shell/index.md +39 -0
- data/gh-pages/documentation/commands/show/index.md +33 -0
- data/gh-pages/documentation/commands/url/index.md +44 -0
- data/gh-pages/documentation/commands/version/index.md +27 -0
- data/gh-pages/documentation/configuration/address_book/index.md +22 -0
- data/gh-pages/documentation/configuration/alias/index.md +45 -0
- data/gh-pages/documentation/configuration/color/index.md +47 -0
- data/gh-pages/documentation/configuration/color_age/index.md +20 -0
- data/gh-pages/documentation/configuration/color_bday/index.md +20 -0
- data/gh-pages/documentation/configuration/color_email/index.md +21 -0
- data/gh-pages/documentation/configuration/color_ls/index.md +21 -0
- data/gh-pages/documentation/configuration/color_name/index.md +20 -0
- data/gh-pages/documentation/configuration/color_nick/index.md +20 -0
- data/gh-pages/documentation/configuration/color_org/index.md +20 -0
- data/gh-pages/documentation/configuration/color_phone/index.md +22 -0
- data/gh-pages/documentation/configuration/color_post/index.md +20 -0
- data/gh-pages/documentation/configuration/color_url/index.md +20 -0
- data/gh-pages/documentation/configuration/index.html +8 -0
- data/gh-pages/documentation/index.html +183 -0
- data/gh-pages/documentation/integration/bash/index.md +23 -0
- data/gh-pages/documentation/integration/google/index.md +26 -0
- data/gh-pages/documentation/integration/index.html +8 -0
- data/gh-pages/documentation/integration/mutt/index.md +35 -0
- data/gh-pages/documentation/integration/zsh/index.md +19 -0
- data/gh-pages/documentation/quick-start/index.html +88 -0
- data/gh-pages/documentation/tips/index.html +9 -0
- data/gh-pages/index.html +108 -0
- data/gh-pages/news/index.html +9 -0
- data/gh-pages/robots.txt +3 -0
- data/gh-pages/stylesheets/flatstrap.css +10 -0
- data/gh-pages/stylesheets/ppl.scss +235 -0
- data/gh-pages/wiki.png +0 -0
- data/lib/ppl.rb +4 -1
- data/lib/ppl/adapter/color.rb +0 -1
- data/lib/ppl/adapter/color/colored.rb +0 -1
- data/lib/ppl/adapter/email_scraper.rb +0 -1
- data/lib/ppl/adapter/email_scraper/mail.rb +4 -5
- data/lib/ppl/adapter/storage.rb +0 -1
- data/lib/ppl/adapter/storage/disk.rb +0 -1
- data/lib/ppl/adapter/storage/factory.rb +0 -1
- data/lib/ppl/adapter/vcard.rb +0 -1
- data/lib/ppl/adapter/vcard/vpim.rb +5 -1
- data/lib/ppl/application/bootstrap.rb +0 -1
- data/lib/ppl/application/command.rb +0 -1
- data/lib/ppl/application/command_suite.rb +0 -1
- data/lib/ppl/application/configuration.rb +0 -1
- data/lib/ppl/application/input.rb +0 -1
- data/lib/ppl/application/output.rb +0 -1
- data/lib/ppl/application/router.rb +0 -1
- data/lib/ppl/application/shell.rb +0 -1
- data/lib/ppl/command/add.rb +0 -1
- data/lib/ppl/command/age.rb +0 -1
- data/lib/ppl/command/attribute.rb +0 -1
- data/lib/ppl/command/bday.rb +0 -1
- data/lib/ppl/command/completion.rb +0 -1
- data/lib/ppl/command/email.rb +0 -1
- data/lib/ppl/command/external.rb +0 -1
- data/lib/ppl/command/help.rb +0 -1
- data/lib/ppl/command/init.rb +0 -1
- data/lib/ppl/command/ls.rb +0 -1
- data/lib/ppl/command/mutt.rb +0 -1
- data/lib/ppl/command/mv.rb +0 -1
- data/lib/ppl/command/name.rb +0 -1
- data/lib/ppl/command/nick.rb +0 -1
- data/lib/ppl/command/org.rb +0 -1
- data/lib/ppl/command/phone.rb +0 -1
- data/lib/ppl/command/post.rb +0 -1
- data/lib/ppl/command/rm.rb +0 -1
- data/lib/ppl/command/scrape.rb +0 -1
- data/lib/ppl/command/shell.rb +0 -1
- data/lib/ppl/command/show.rb +0 -1
- data/lib/ppl/command/url.rb +0 -1
- data/lib/ppl/command/version.rb +0 -1
- data/lib/ppl/entity/address_book.rb +0 -1
- data/lib/ppl/entity/contact.rb +0 -1
- data/lib/ppl/entity/email_address.rb +0 -1
- data/lib/ppl/entity/name.rb +0 -1
- data/lib/ppl/entity/phone_number.rb +0 -1
- data/lib/ppl/entity/postal_address.rb +0 -1
- data/lib/ppl/error/completion_not_found.rb +0 -1
- data/lib/ppl/error/contact_not_found.rb +0 -1
- data/lib/ppl/error/incorrect_usage.rb +0 -1
- data/lib/ppl/error/invalid_vcard.rb +1 -0
- data/lib/ppl/error/postal_address_not_found.rb +0 -1
- data/lib/ppl/format/address_book.rb +0 -1
- data/lib/ppl/format/address_book/ages.rb +0 -1
- data/lib/ppl/format/address_book/birthdays.rb +0 -1
- data/lib/ppl/format/address_book/email_addresses.rb +0 -1
- data/lib/ppl/format/address_book/mutt_query.rb +0 -1
- data/lib/ppl/format/address_book/names.rb +0 -1
- data/lib/ppl/format/address_book/nicknames.rb +0 -1
- data/lib/ppl/format/address_book/one_line.rb +0 -1
- data/lib/ppl/format/address_book/organizations.rb +0 -1
- data/lib/ppl/format/address_book/phone_numbers.rb +0 -1
- data/lib/ppl/format/address_book/postal_addresses.rb +0 -1
- data/lib/ppl/format/address_book/urls.rb +0 -1
- data/lib/ppl/format/contact.rb +0 -1
- data/lib/ppl/format/contact/age.rb +0 -1
- data/lib/ppl/format/contact/birthday.rb +0 -1
- data/lib/ppl/format/contact/email_addresses.rb +0 -1
- data/lib/ppl/format/contact/full.rb +0 -1
- data/lib/ppl/format/contact/nicknames.rb +0 -1
- data/lib/ppl/format/contact/organization.rb +0 -1
- data/lib/ppl/format/contact/phone_number.rb +0 -1
- data/lib/ppl/format/contact/postal_address.rb +0 -1
- data/lib/ppl/format/contact/postal_addresses.rb +0 -1
- data/lib/ppl/format/contact/urls.rb +0 -1
- data/lib/ppl/format/custom.rb +0 -1
- data/lib/ppl/format/custom/contact.rb +0 -1
- data/lib/ppl/format/custom/email_address.rb +0 -1
- data/lib/ppl/format/custom/phone_number.rb +0 -1
- data/lib/ppl/format/name.rb +0 -1
- data/lib/ppl/format/name/full_only.rb +0 -1
- data/lib/ppl/format/postal_address.rb +0 -1
- data/lib/ppl/format/postal_address/multi_line.rb +0 -1
- data/lib/ppl/format/postal_address/one_line.rb +0 -1
- data/lib/ppl/format/table.rb +0 -1
- data/lib/ppl/service/email_address.rb +0 -1
- data/lib/ppl/service/name.rb +0 -1
- data/lib/ppl/service/phone_number.rb +0 -1
- data/lib/ppl/service/postal_address.rb +0 -1
- data/{LICENSE → license} +0 -0
- data/makefile +18 -0
- data/package.json +23 -0
- data/ppl.gemspec +15 -13
- data/{README.md → readme.md} +12 -9
- data/site/_data/url.js +4 -0
- data/site/casts/hero.cast +189 -0
- data/site/development.njk +6 -0
- data/site/documentation.njk +6 -0
- data/site/index.njk +75 -0
- data/site/news.njk +6 -0
- data/site/style.scss +140 -0
- data/spec/ppl/adapter/color/colored_spec.rb +3 -4
- data/spec/ppl/adapter/color_spec.rb +0 -1
- data/spec/ppl/adapter/email_scraper/mail_spec.rb +13 -13
- data/spec/ppl/adapter/email_scraper_spec.rb +0 -1
- data/spec/ppl/adapter/output_spec.rb +7 -8
- data/spec/ppl/adapter/storage/disk_spec.rb +18 -19
- data/spec/ppl/adapter/storage/factory_spec.rb +3 -4
- data/spec/ppl/adapter/storage/git_spec.rb +31 -32
- data/spec/ppl/adapter/storage_spec.rb +3 -4
- data/spec/ppl/adapter/vcard/greencard_spec.rb +45 -45
- data/spec/ppl/adapter/vcard_spec.rb +0 -1
- data/spec/ppl/application/bootstrap_spec.rb +128 -129
- data/spec/ppl/application/command_spec.rb +8 -9
- data/spec/ppl/application/command_suite_spec.rb +7 -8
- data/spec/ppl/application/configuration_spec.rb +16 -17
- data/spec/ppl/application/input_spec.rb +2 -3
- data/spec/ppl/application/router_spec.rb +8 -9
- data/spec/ppl/application/shell_spec.rb +39 -40
- data/spec/ppl/command/add_spec.rb +6 -7
- data/spec/ppl/command/age_spec.rb +7 -8
- data/spec/ppl/command/attribute_spec.rb +22 -23
- data/spec/ppl/command/bday_spec.rb +11 -12
- data/spec/ppl/command/completion_spec.rb +7 -8
- data/spec/ppl/command/email_spec.rb +19 -20
- data/spec/ppl/command/external_spec.rb +7 -8
- data/spec/ppl/command/help_spec.rb +15 -16
- data/spec/ppl/command/init_spec.rb +5 -6
- data/spec/ppl/command/ls_spec.rb +12 -13
- data/spec/ppl/command/mutt_spec.rb +33 -34
- data/spec/ppl/command/mv_spec.rb +11 -12
- data/spec/ppl/command/name_spec.rb +17 -18
- data/spec/ppl/command/nick_spec.rb +1 -2
- data/spec/ppl/command/org_spec.rb +1 -2
- data/spec/ppl/command/phone_spec.rb +15 -16
- data/spec/ppl/command/post_spec.rb +29 -30
- data/spec/ppl/command/rm_spec.rb +3 -4
- data/spec/ppl/command/scrape_spec.rb +24 -25
- data/spec/ppl/command/shell_spec.rb +41 -42
- data/spec/ppl/command/show_spec.rb +4 -5
- data/spec/ppl/command/url_spec.rb +1 -2
- data/spec/ppl/command/version_spec.rb +4 -5
- data/spec/ppl/entity/address_book_spec.rb +1 -2
- data/spec/ppl/entity/contact_spec.rb +16 -17
- data/spec/ppl/entity/email_address_spec.rb +3 -4
- data/spec/ppl/entity/name_spec.rb +1 -2
- data/spec/ppl/entity/phone_number_spec.rb +5 -6
- data/spec/ppl/entity/postal_address_spec.rb +2 -3
- data/spec/ppl/format/address_book/ages_spec.rb +3 -4
- data/spec/ppl/format/address_book/birthdays_spec.rb +3 -4
- data/spec/ppl/format/address_book/email_addresses_spec.rb +3 -4
- data/spec/ppl/format/address_book/mutt_query_spec.rb +3 -4
- data/spec/ppl/format/address_book/names_spec.rb +3 -4
- data/spec/ppl/format/address_book/nicknames_spec.rb +4 -5
- data/spec/ppl/format/address_book/one_line_spec.rb +5 -6
- data/spec/ppl/format/address_book/organizations_spec.rb +3 -4
- data/spec/ppl/format/address_book/phone_numbers_spec.rb +3 -4
- data/spec/ppl/format/address_book/postal_addresses_spec.rb +2 -3
- data/spec/ppl/format/address_book/urls_spec.rb +3 -4
- data/spec/ppl/format/address_book_spec.rb +0 -1
- data/spec/ppl/format/contact/age_spec.rb +8 -9
- data/spec/ppl/format/contact/birthday_spec.rb +4 -5
- data/spec/ppl/format/contact/email_addresses_spec.rb +3 -4
- data/spec/ppl/format/contact/full_spec.rb +11 -12
- data/spec/ppl/format/contact/nicknames_spec.rb +4 -5
- data/spec/ppl/format/contact/organization_spec.rb +4 -5
- data/spec/ppl/format/contact/phone_number_spec.rb +4 -5
- data/spec/ppl/format/contact/postal_address_spec.rb +1 -2
- data/spec/ppl/format/contact/postal_addresses_spec.rb +3 -4
- data/spec/ppl/format/contact/urls_spec.rb +4 -5
- data/spec/ppl/format/contact_spec.rb +0 -1
- data/spec/ppl/format/custom/contact_spec.rb +13 -14
- data/spec/ppl/format/custom/email_address_spec.rb +3 -4
- data/spec/ppl/format/custom/phone_number_spec.rb +4 -5
- data/spec/ppl/format/custom_spec.rb +6 -7
- data/spec/ppl/format/name/full_only_spec.rb +4 -5
- data/spec/ppl/format/name_spec.rb +0 -1
- data/spec/ppl/format/postal_address/multi_line_spec.rb +10 -11
- data/spec/ppl/format/postal_address/one_line_spec.rb +9 -10
- data/spec/ppl/format/postal_address_spec.rb +0 -1
- data/spec/ppl/format/table_spec.rb +11 -11
- data/spec/ppl/service/email_address_spec.rb +13 -14
- data/spec/ppl/service/name_spec.rb +9 -10
- data/spec/ppl/service/phone_number_spec.rb +11 -12
- data/spec/ppl/service/postal_address_spec.rb +20 -21
- data/spec/spec_helper.rb +4 -0
- data/yarn.lock +3605 -0
- metadata +183 -22
- data/.travis.yml +0 -11
- data/COPYING +0 -339
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
describe Ppl::Adapter::Storage do
|
|
3
2
|
|
|
4
3
|
before(:each) do
|
|
@@ -32,13 +31,13 @@ describe Ppl::Adapter::Storage do
|
|
|
32
31
|
describe "#require_contact" do
|
|
33
32
|
|
|
34
33
|
it "should raise Ppl::Error::ContactNotFound if load fails" do
|
|
35
|
-
@storage.
|
|
34
|
+
allow(@storage).to receive(:load_contact) do |id| end
|
|
36
35
|
expect{@storage.require_contact("joe")}.to raise_error(Ppl::Error::ContactNotFound)
|
|
37
36
|
end
|
|
38
37
|
|
|
39
38
|
it "should return the loaded contact" do
|
|
40
|
-
@storage.
|
|
41
|
-
@storage.require_contact("joe").
|
|
39
|
+
allow(@storage).to receive(:load_contact) do |id| Object.new end
|
|
40
|
+
expect(@storage.require_contact("joe")).to be_an(Object)
|
|
42
41
|
end
|
|
43
42
|
end
|
|
44
43
|
|
|
@@ -11,70 +11,70 @@ describe Ppl::Adapter::Vcard::Vpim, "#encode" do
|
|
|
11
11
|
|
|
12
12
|
it "should encode the contact's birthday" do
|
|
13
13
|
@contact.birthday = Date.parse "2000-01-01"
|
|
14
|
-
@adapter.encode(@contact).
|
|
14
|
+
expect(@adapter.encode(@contact)).to include("BDAY:20000101")
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
it "should encode the contact's full name" do
|
|
18
18
|
@contact.name.full = "John Doe"
|
|
19
|
-
@adapter.encode(@contact).
|
|
19
|
+
expect(@adapter.encode(@contact)).to include("FN:John Doe")
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
it "should encode the contact's given name" do
|
|
23
23
|
@contact.name.given = "John"
|
|
24
|
-
@adapter.encode(@contact).
|
|
24
|
+
expect(@adapter.encode(@contact)).to include("N:;John;;;")
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
it "should encode the contact's family name" do
|
|
28
28
|
@contact.name.family = "Smith"
|
|
29
|
-
@adapter.encode(@contact).
|
|
29
|
+
expect(@adapter.encode(@contact)).to include("N:Smith;;;;")
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
it "should encode the contact's middle name" do
|
|
33
33
|
@contact.name.middle = "Quentin"
|
|
34
|
-
@adapter.encode(@contact).
|
|
34
|
+
expect(@adapter.encode(@contact)).to include("N:;;Quentin;;")
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
it "should encode the contact's name prefix" do
|
|
38
38
|
@contact.name.prefix = "Mr."
|
|
39
|
-
@adapter.encode(@contact).
|
|
39
|
+
expect(@adapter.encode(@contact)).to include("N:;;;Mr.;")
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
it "should encode the contact's name suffix" do
|
|
43
43
|
@contact.name.suffix = "BSc"
|
|
44
|
-
@adapter.encode(@contact).
|
|
44
|
+
expect(@adapter.encode(@contact)).to include("N:;;;;BSc")
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
it "should encode the contact's email address" do
|
|
48
48
|
@contact.email_addresses << Ppl::Entity::EmailAddress.new("john@example.org")
|
|
49
|
-
@adapter.encode(@contact).
|
|
49
|
+
expect(@adapter.encode(@contact)).to include("EMAIL:john@example.org")
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
it "should encode the contact's preferred email address as such" do
|
|
53
53
|
email_address = Ppl::Entity::EmailAddress.new("john@example.org")
|
|
54
54
|
email_address.preferred = true
|
|
55
55
|
@contact.email_addresses << email_address
|
|
56
|
-
@adapter.encode(@contact).
|
|
56
|
+
expect(@adapter.encode(@contact)).to include("EMAIL;TYPE=pref:john@example.org")
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
it "should encode the contact's phone number" do
|
|
60
60
|
@contact.phone_numbers << Ppl::Entity::PhoneNumber.new("01234567890")
|
|
61
|
-
@adapter.encode(@contact).
|
|
61
|
+
expect(@adapter.encode(@contact)).to include("TEL:01234567890")
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
it "should encode the contact's preferred phone number as such" do
|
|
65
65
|
@contact.phone_numbers << Ppl::Entity::PhoneNumber.new("01234567890")
|
|
66
66
|
@contact.phone_numbers[0].preferred = true
|
|
67
|
-
@adapter.encode(@contact).
|
|
67
|
+
expect(@adapter.encode(@contact)).to include("TEL;TYPE=pref:01234567890")
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
it "should encode the contact's phone number's type" do
|
|
71
71
|
@contact.phone_numbers << Ppl::Entity::PhoneNumber.new("01234567890", "cell")
|
|
72
|
-
@adapter.encode(@contact).
|
|
72
|
+
expect(@adapter.encode(@contact)).to include("TEL;TYPE=cell:01234567890")
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
it "should encode the contact's organization" do
|
|
76
76
|
@contact.organizations.push("Example Ltd")
|
|
77
|
-
@adapter.encode(@contact).
|
|
77
|
+
expect(@adapter.encode(@contact)).to include("ORG:Example Ltd")
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
describe "postal address encoding" do
|
|
@@ -86,54 +86,54 @@ describe Ppl::Adapter::Vcard::Vpim, "#encode" do
|
|
|
86
86
|
|
|
87
87
|
it "should encode the address id" do
|
|
88
88
|
@contact.postal_addresses[0].id = "home"
|
|
89
|
-
@adapter.encode(@contact).
|
|
89
|
+
expect(@adapter.encode(@contact)).to include("ADR;TYPE=home:;;;;;;")
|
|
90
90
|
end
|
|
91
91
|
|
|
92
92
|
it "should encode the preferred status of the address" do
|
|
93
93
|
@contact.postal_addresses[0].preferred = true
|
|
94
|
-
@adapter.encode(@contact).
|
|
94
|
+
expect(@adapter.encode(@contact)).to include("ADR;TYPE=pref:;;;;;;")
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
it "should encode the contact's street address" do
|
|
98
98
|
@contact.postal_addresses[0].street = "1 Testing Road"
|
|
99
|
-
@adapter.encode(@contact).
|
|
99
|
+
expect(@adapter.encode(@contact)).to include("ADR:;;1 Testing Road;;;;")
|
|
100
100
|
end
|
|
101
101
|
|
|
102
102
|
it "should encode the contact's postal code" do
|
|
103
103
|
@contact.postal_addresses[0].postal_code = "L7 8AA"
|
|
104
|
-
@adapter.encode(@contact).
|
|
104
|
+
expect(@adapter.encode(@contact)).to include("ADR:;;;;;L7 8AA;")
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
it "should encode the contact's po box" do
|
|
108
108
|
@contact.postal_addresses[0].po_box = "123456"
|
|
109
|
-
@adapter.encode(@contact).
|
|
109
|
+
expect(@adapter.encode(@contact)).to include("ADR:123456;;;;;;")
|
|
110
110
|
end
|
|
111
111
|
|
|
112
112
|
it "should encode the contact's locality" do
|
|
113
113
|
@contact.postal_addresses[0].locality = "Liverpool"
|
|
114
|
-
@adapter.encode(@contact).
|
|
114
|
+
expect(@adapter.encode(@contact)).to include("ADR:;;;Liverpool;;;")
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
it "should encode the contact's country" do
|
|
118
118
|
@contact.postal_addresses[0].country = "UK"
|
|
119
|
-
@adapter.encode(@contact).
|
|
119
|
+
expect(@adapter.encode(@contact)).to include("ADR:;;;;;;UK")
|
|
120
120
|
end
|
|
121
121
|
|
|
122
122
|
it "should encode the contact's region" do
|
|
123
123
|
@contact.postal_addresses[0].region = "South West"
|
|
124
|
-
@adapter.encode(@contact).
|
|
124
|
+
expect(@adapter.encode(@contact)).to include("ADR:;;;;South West;;")
|
|
125
125
|
end
|
|
126
126
|
|
|
127
127
|
end
|
|
128
128
|
|
|
129
129
|
it "should encode the contact's URL" do
|
|
130
130
|
@contact.urls.push "http://google.com"
|
|
131
|
-
@adapter.encode(@contact).
|
|
131
|
+
expect(@adapter.encode(@contact)).to include("URL:http://google.com")
|
|
132
132
|
end
|
|
133
133
|
|
|
134
134
|
it "should encode the contact's nickname" do
|
|
135
135
|
@contact.nicknames.push "Sleepy"
|
|
136
|
-
@adapter.encode(@contact).
|
|
136
|
+
expect(@adapter.encode(@contact)).to include("NICKNAME:Sleepy")
|
|
137
137
|
end
|
|
138
138
|
|
|
139
139
|
end
|
|
@@ -152,7 +152,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
152
152
|
"N:,test",
|
|
153
153
|
"END:VCARD",
|
|
154
154
|
].join("\n")
|
|
155
|
-
@adapter.decode(vcard).
|
|
155
|
+
expect(@adapter.decode(vcard)).to be_a(Ppl::Entity::Contact)
|
|
156
156
|
end
|
|
157
157
|
|
|
158
158
|
it "should decode the contact's birthday" do
|
|
@@ -163,7 +163,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
163
163
|
"BDAY:20120102",
|
|
164
164
|
"END:VCARD",
|
|
165
165
|
].join("\n")
|
|
166
|
-
@adapter.decode(vcard).birthday.strftime('%Y-%m-%d').
|
|
166
|
+
expect(@adapter.decode(vcard).birthday.strftime('%Y-%m-%d')).to eq "2012-01-02"
|
|
167
167
|
end
|
|
168
168
|
|
|
169
169
|
it "should decode the contact's name" do
|
|
@@ -177,7 +177,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
177
177
|
].join("\n")
|
|
178
178
|
contact = @adapter.decode(vcard)
|
|
179
179
|
|
|
180
|
-
contact.name.full.
|
|
180
|
+
expect(contact.name.full).to eq "John Doe"
|
|
181
181
|
end
|
|
182
182
|
|
|
183
183
|
it "should decode the contact's email address" do
|
|
@@ -189,7 +189,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
189
189
|
"END:VCARD",
|
|
190
190
|
].join("\n")
|
|
191
191
|
contact = @adapter.decode(vcard)
|
|
192
|
-
contact.email_addresses.first.address.
|
|
192
|
+
expect(contact.email_addresses.first.address).to eq "home@example.org"
|
|
193
193
|
end
|
|
194
194
|
|
|
195
195
|
it "should mark preferred email addresses as such" do
|
|
@@ -201,7 +201,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
201
201
|
"END:VCARD",
|
|
202
202
|
].join("\n")
|
|
203
203
|
contact = @adapter.decode(vcard)
|
|
204
|
-
contact.email_addresses.first.preferred.
|
|
204
|
+
expect(contact.email_addresses.first.preferred).to eq true
|
|
205
205
|
end
|
|
206
206
|
|
|
207
207
|
it "should decode the contact's phone number" do
|
|
@@ -214,7 +214,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
214
214
|
].join("\n")
|
|
215
215
|
contact = @adapter.decode(vcard)
|
|
216
216
|
phone_number = contact.phone_numbers.first
|
|
217
|
-
phone_number.number.
|
|
217
|
+
expect(phone_number.number).to eq "01234567890"
|
|
218
218
|
end
|
|
219
219
|
|
|
220
220
|
it "should mark preferred phone numbers as such" do
|
|
@@ -227,7 +227,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
227
227
|
].join("\n")
|
|
228
228
|
contact = @adapter.decode(vcard)
|
|
229
229
|
phone_number = contact.phone_numbers.first
|
|
230
|
-
phone_number.preferred.
|
|
230
|
+
expect(phone_number.preferred).to eq true
|
|
231
231
|
end
|
|
232
232
|
|
|
233
233
|
it "should decode the contact's phone number's type" do
|
|
@@ -240,7 +240,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
240
240
|
].join("\n")
|
|
241
241
|
contact = @adapter.decode(vcard)
|
|
242
242
|
phone_number = contact.phone_numbers.first
|
|
243
|
-
phone_number.type.
|
|
243
|
+
expect(phone_number.type).to eq "cell"
|
|
244
244
|
end
|
|
245
245
|
|
|
246
246
|
it "should decode the contact's phone number's nonstandard type" do
|
|
@@ -253,7 +253,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
253
253
|
].join("\n")
|
|
254
254
|
contact = @adapter.decode(vcard)
|
|
255
255
|
phone_number = contact.phone_numbers.first
|
|
256
|
-
phone_number.type.
|
|
256
|
+
expect(phone_number.type).to eq "testing"
|
|
257
257
|
end
|
|
258
258
|
|
|
259
259
|
it "should decode the contact's organization" do
|
|
@@ -265,7 +265,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
265
265
|
"END:VCARD",
|
|
266
266
|
].join("\n")
|
|
267
267
|
contact = @adapter.decode(vcard)
|
|
268
|
-
contact.organizations.first.
|
|
268
|
+
expect(contact.organizations.first).to eq "Example Ltd"
|
|
269
269
|
end
|
|
270
270
|
|
|
271
271
|
describe "postal address decoding" do
|
|
@@ -279,7 +279,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
279
279
|
"END:VCARD",
|
|
280
280
|
].join("\n")
|
|
281
281
|
contact = @adapter.decode(vcard)
|
|
282
|
-
contact.postal_addresses[0].id.
|
|
282
|
+
expect(contact.postal_addresses[0].id).to eq "home"
|
|
283
283
|
end
|
|
284
284
|
|
|
285
285
|
it "should decode the postal address' ID even if it's a nonstandard type" do
|
|
@@ -291,7 +291,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
291
291
|
"END:VCARD",
|
|
292
292
|
].join("\n")
|
|
293
293
|
contact = @adapter.decode(vcard)
|
|
294
|
-
contact.postal_addresses[0].id.
|
|
294
|
+
expect(contact.postal_addresses[0].id).to eq "nasa"
|
|
295
295
|
end
|
|
296
296
|
|
|
297
297
|
it "should assign the postal address a fallback ID if necessary" do
|
|
@@ -303,7 +303,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
303
303
|
"END:VCARD",
|
|
304
304
|
].join("\n")
|
|
305
305
|
contact = @adapter.decode(vcard)
|
|
306
|
-
contact.postal_addresses[0].id.
|
|
306
|
+
expect(contact.postal_addresses[0].id).to eq "910c67f"
|
|
307
307
|
end
|
|
308
308
|
|
|
309
309
|
it "should decode the contact's street address" do
|
|
@@ -315,7 +315,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
315
315
|
"END:VCARD",
|
|
316
316
|
].join("\n")
|
|
317
317
|
contact = @adapter.decode(vcard)
|
|
318
|
-
contact.postal_addresses[0].street.
|
|
318
|
+
expect(contact.postal_addresses[0].street).to eq "1 Testing Road"
|
|
319
319
|
end
|
|
320
320
|
|
|
321
321
|
it "should decode the contact's postal code" do
|
|
@@ -327,7 +327,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
327
327
|
"END:VCARD",
|
|
328
328
|
].join("\n")
|
|
329
329
|
contact = @adapter.decode(vcard)
|
|
330
|
-
contact.postal_addresses[0].postal_code.
|
|
330
|
+
expect(contact.postal_addresses[0].postal_code).to eq "L7 8AA"
|
|
331
331
|
end
|
|
332
332
|
|
|
333
333
|
it "should decode the contact's po box" do
|
|
@@ -339,7 +339,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
339
339
|
"END:VCARD",
|
|
340
340
|
].join("\n")
|
|
341
341
|
contact = @adapter.decode(vcard)
|
|
342
|
-
contact.postal_addresses[0].po_box.
|
|
342
|
+
expect(contact.postal_addresses[0].po_box).to eq "123456"
|
|
343
343
|
end
|
|
344
344
|
|
|
345
345
|
it "should decode the contact's locality" do
|
|
@@ -351,7 +351,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
351
351
|
"END:VCARD",
|
|
352
352
|
].join("\n")
|
|
353
353
|
contact = @adapter.decode(vcard)
|
|
354
|
-
contact.postal_addresses[0].locality.
|
|
354
|
+
expect(contact.postal_addresses[0].locality).to eq "Liverpool"
|
|
355
355
|
end
|
|
356
356
|
|
|
357
357
|
it "should decode the contact's region" do
|
|
@@ -363,7 +363,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
363
363
|
"END:VCARD",
|
|
364
364
|
].join("\n")
|
|
365
365
|
contact = @adapter.decode(vcard)
|
|
366
|
-
contact.postal_addresses[0].region.
|
|
366
|
+
expect(contact.postal_addresses[0].region).to eq "South West"
|
|
367
367
|
end
|
|
368
368
|
|
|
369
369
|
it "should decode the contact's country" do
|
|
@@ -375,7 +375,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
375
375
|
"END:VCARD",
|
|
376
376
|
].join("\n")
|
|
377
377
|
contact = @adapter.decode(vcard)
|
|
378
|
-
contact.postal_addresses[0].country.
|
|
378
|
+
expect(contact.postal_addresses[0].country).to eq "UK"
|
|
379
379
|
end
|
|
380
380
|
|
|
381
381
|
end
|
|
@@ -389,7 +389,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
389
389
|
"END:VCARD",
|
|
390
390
|
].join("\n")
|
|
391
391
|
contact = @adapter.decode(vcard)
|
|
392
|
-
contact.urls.first.
|
|
392
|
+
expect(contact.urls.first).to eq "http://google.com"
|
|
393
393
|
end
|
|
394
394
|
|
|
395
395
|
it "should decode the contact's nickame" do
|
|
@@ -401,7 +401,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
401
401
|
"END:VCARD",
|
|
402
402
|
].join("\n")
|
|
403
403
|
contact = @adapter.decode(vcard)
|
|
404
|
-
contact.nicknames.first.
|
|
404
|
+
expect(contact.nicknames.first).to eq "Happy"
|
|
405
405
|
end
|
|
406
406
|
|
|
407
407
|
it "should not choke on utf8" do
|
|
@@ -413,7 +413,7 @@ describe Ppl::Adapter::Vcard::Vpim, "#decode" do
|
|
|
413
413
|
"END:VCARD",
|
|
414
414
|
].join("\n")
|
|
415
415
|
contact = @adapter.decode(vcard)
|
|
416
|
-
contact.name.full.
|
|
416
|
+
expect(contact.name.full).to eq "Straße"
|
|
417
417
|
end
|
|
418
418
|
|
|
419
419
|
end
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
describe Ppl::Application::Bootstrap do
|
|
3
2
|
|
|
4
3
|
before(:each) do
|
|
@@ -7,30 +6,30 @@ describe Ppl::Application::Bootstrap do
|
|
|
7
6
|
|
|
8
7
|
describe "#command_add" do
|
|
9
8
|
it "should return a Ppl::Command::Add" do
|
|
10
|
-
@bootstrap.command_add.
|
|
9
|
+
expect(@bootstrap.command_add).to be_a(Ppl::Command::Add)
|
|
11
10
|
end
|
|
12
11
|
end
|
|
13
12
|
|
|
14
13
|
describe "#command_age" do
|
|
15
14
|
it "should return a Ppl::Command::Age" do
|
|
16
|
-
@bootstrap.command_age.
|
|
15
|
+
expect(@bootstrap.command_age).to be_a(Ppl::Command::Age)
|
|
17
16
|
end
|
|
18
17
|
end
|
|
19
18
|
|
|
20
19
|
describe "#command_bday" do
|
|
21
20
|
it "should return a Ppl::Command::Bday" do
|
|
22
|
-
@bootstrap.command_bday.
|
|
21
|
+
expect(@bootstrap.command_bday).to be_a(Ppl::Command::Bday)
|
|
23
22
|
end
|
|
24
23
|
end
|
|
25
24
|
|
|
26
25
|
describe "#command_completion" do
|
|
27
26
|
it "should return a Ppl::Command::Completion" do
|
|
28
|
-
@bootstrap.command_completion.
|
|
27
|
+
expect(@bootstrap.command_completion).to be_a(Ppl::Command::Completion)
|
|
29
28
|
end
|
|
30
29
|
it "should inject a completions directory" do
|
|
31
|
-
Ppl::Command::Completion.
|
|
30
|
+
allow(Ppl::Command::Completion).to receive(:new) do
|
|
32
31
|
completion = double(Ppl::Command::Completion)
|
|
33
|
-
completion.
|
|
32
|
+
expect(completion).to receive(:completions_directory=)
|
|
34
33
|
completion
|
|
35
34
|
end
|
|
36
35
|
@bootstrap.command_completion
|
|
@@ -39,141 +38,141 @@ describe Ppl::Application::Bootstrap do
|
|
|
39
38
|
|
|
40
39
|
describe "#command_email" do
|
|
41
40
|
it "should return a Ppl::Command::Email" do
|
|
42
|
-
@bootstrap.command_email.
|
|
41
|
+
expect(@bootstrap.command_email).to be_a(Ppl::Command::Email)
|
|
43
42
|
end
|
|
44
43
|
end
|
|
45
44
|
|
|
46
45
|
describe "#command_grep" do
|
|
47
46
|
it "should return a command" do
|
|
48
|
-
@bootstrap.command_grep.
|
|
47
|
+
expect(@bootstrap.command_grep).to be_a(Ppl::Application::Command)
|
|
49
48
|
end
|
|
50
49
|
end
|
|
51
50
|
|
|
52
51
|
describe "#command_help" do
|
|
53
52
|
it "should return a Ppl::Command::Help" do
|
|
54
|
-
@bootstrap.command_help.
|
|
53
|
+
expect(@bootstrap.command_help).to be_a(Ppl::Command::Help)
|
|
55
54
|
end
|
|
56
55
|
end
|
|
57
56
|
|
|
58
57
|
describe "#command_init" do
|
|
59
58
|
it "should return a Ppl::Command::Init" do
|
|
60
|
-
@bootstrap.command_init.
|
|
59
|
+
expect(@bootstrap.command_init).to be_a(Ppl::Command::Init)
|
|
61
60
|
end
|
|
62
61
|
end
|
|
63
62
|
|
|
64
63
|
describe "#command_ls" do
|
|
65
64
|
it "should return a Ppl::Command::Ls" do
|
|
66
|
-
@bootstrap.command_ls.
|
|
65
|
+
expect(@bootstrap.command_ls).to be_a(Ppl::Command::Ls)
|
|
67
66
|
end
|
|
68
67
|
end
|
|
69
68
|
|
|
70
69
|
describe "#command_mutt" do
|
|
71
70
|
it "should return a Ppl::Command::Mutt" do
|
|
72
|
-
@bootstrap.command_mutt.
|
|
71
|
+
expect(@bootstrap.command_mutt).to be_a(Ppl::Command::Mutt)
|
|
73
72
|
end
|
|
74
73
|
end
|
|
75
74
|
|
|
76
75
|
describe "#command_mv" do
|
|
77
76
|
it "should return a Ppl::Command::Mv" do
|
|
78
|
-
@bootstrap.command_mv.
|
|
77
|
+
expect(@bootstrap.command_mv).to be_a(Ppl::Command::Mv)
|
|
79
78
|
end
|
|
80
79
|
end
|
|
81
80
|
|
|
82
81
|
describe "#command_name" do
|
|
83
82
|
it "should return a Ppl::Command::Name" do
|
|
84
|
-
@bootstrap.command_name.
|
|
83
|
+
expect(@bootstrap.command_name).to be_a(Ppl::Command::Name)
|
|
85
84
|
end
|
|
86
85
|
end
|
|
87
86
|
|
|
88
87
|
describe "#command_nick" do
|
|
89
88
|
it "should return a Ppl::Command::Nick" do
|
|
90
|
-
@bootstrap.command_nick.
|
|
89
|
+
expect(@bootstrap.command_nick).to be_a(Ppl::Command::Nick)
|
|
91
90
|
end
|
|
92
91
|
end
|
|
93
92
|
|
|
94
93
|
describe "#command_org" do
|
|
95
94
|
it "should return a Ppl::Command::Org" do
|
|
96
|
-
@bootstrap.command_org.
|
|
95
|
+
expect(@bootstrap.command_org).to be_a(Ppl::Command::Org)
|
|
97
96
|
end
|
|
98
97
|
end
|
|
99
98
|
|
|
100
99
|
describe "#command_phone" do
|
|
101
100
|
it "should return a Ppl::Command::Phone" do
|
|
102
|
-
@bootstrap.command_phone.
|
|
101
|
+
expect(@bootstrap.command_phone).to be_a(Ppl::Command::Phone)
|
|
103
102
|
end
|
|
104
103
|
end
|
|
105
104
|
|
|
106
105
|
describe "#command_post" do
|
|
107
106
|
it "should return a Ppl::Command::Post" do
|
|
108
|
-
@bootstrap.command_post.
|
|
107
|
+
expect(@bootstrap.command_post).to be_a(Ppl::Command::Post)
|
|
109
108
|
end
|
|
110
109
|
end
|
|
111
110
|
|
|
112
111
|
describe "#command_pull" do
|
|
113
112
|
it "should return a command" do
|
|
114
|
-
@bootstrap.command_pull.
|
|
113
|
+
expect(@bootstrap.command_pull).to be_a(Ppl::Application::Command)
|
|
115
114
|
end
|
|
116
115
|
end
|
|
117
116
|
|
|
118
117
|
describe "#command_push" do
|
|
119
118
|
it "should return a command" do
|
|
120
|
-
@bootstrap.command_push.
|
|
119
|
+
expect(@bootstrap.command_push).to be_a(Ppl::Application::Command)
|
|
121
120
|
end
|
|
122
121
|
end
|
|
123
122
|
|
|
124
123
|
describe "#command_remote" do
|
|
125
124
|
it "should return a command" do
|
|
126
|
-
@bootstrap.command_remote.
|
|
125
|
+
expect(@bootstrap.command_remote).to be_a(Ppl::Application::Command)
|
|
127
126
|
end
|
|
128
127
|
end
|
|
129
128
|
|
|
130
129
|
describe "#command_rm" do
|
|
131
130
|
it "should return a Ppl::Command::Rm" do
|
|
132
|
-
@bootstrap.command_rm.
|
|
131
|
+
expect(@bootstrap.command_rm).to be_a(Ppl::Command::Rm)
|
|
133
132
|
end
|
|
134
133
|
end
|
|
135
134
|
|
|
136
135
|
describe "#command_scrape" do
|
|
137
136
|
it "should return a Ppl::Command::Scrape" do
|
|
138
|
-
@bootstrap.command_scrape.
|
|
137
|
+
expect(@bootstrap.command_scrape).to be_a(Ppl::Command::Scrape)
|
|
139
138
|
end
|
|
140
139
|
end
|
|
141
140
|
|
|
142
141
|
describe "#command_shell" do
|
|
143
142
|
it "should return a Ppl::Command::Shell" do
|
|
144
|
-
@bootstrap.command_shell.
|
|
143
|
+
expect(@bootstrap.command_shell).to be_a(Ppl::Command::Shell)
|
|
145
144
|
end
|
|
146
145
|
end
|
|
147
146
|
|
|
148
147
|
describe "#command_show" do
|
|
149
148
|
it "should return a Ppl::Command::Show" do
|
|
150
|
-
@bootstrap.command_show.
|
|
149
|
+
expect(@bootstrap.command_show).to be_a(Ppl::Command::Show)
|
|
151
150
|
end
|
|
152
151
|
end
|
|
153
152
|
|
|
154
153
|
describe "#command_url" do
|
|
155
154
|
it "should return a Ppl::Command::Url" do
|
|
156
|
-
@bootstrap.command_url.
|
|
155
|
+
expect(@bootstrap.command_url).to be_a(Ppl::Command::Url)
|
|
157
156
|
end
|
|
158
157
|
end
|
|
159
158
|
|
|
160
159
|
describe "#command_version" do
|
|
161
160
|
it "should return a Ppl::Command::Version" do
|
|
162
|
-
@bootstrap.command_version.
|
|
161
|
+
expect(@bootstrap.command_version).to be_a(Ppl::Command::Version)
|
|
163
162
|
end
|
|
164
163
|
end
|
|
165
164
|
|
|
166
165
|
describe "#format_address_book_ages" do
|
|
167
166
|
|
|
168
167
|
it "should return a Ppl::Format::AddressBook::Ages" do
|
|
169
|
-
@bootstrap.format_address_book_ages.
|
|
168
|
+
expect(@bootstrap.format_address_book_ages).to be_a(Ppl::Format::AddressBook::Ages)
|
|
170
169
|
end
|
|
171
170
|
|
|
172
171
|
it "should set up colored output if configured to do so" do
|
|
173
172
|
@colors = {}
|
|
174
173
|
@config = double(Ppl::Application::Configuration)
|
|
175
|
-
@bootstrap.
|
|
176
|
-
@config.
|
|
174
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
175
|
+
expect(@config).to receive(:command_colors).with("age").and_return(@colors)
|
|
177
176
|
@bootstrap.format_address_book_ages
|
|
178
177
|
end
|
|
179
178
|
|
|
@@ -181,369 +180,369 @@ describe Ppl::Application::Bootstrap do
|
|
|
181
180
|
|
|
182
181
|
describe "#format_address_book_birthdays" do
|
|
183
182
|
it "should return a Ppl::Format::AddressBook::Birthdays" do
|
|
184
|
-
@bootstrap.format_address_book_birthdays.
|
|
183
|
+
expect(@bootstrap.format_address_book_birthdays).to be_a(Ppl::Format::AddressBook::Birthdays)
|
|
185
184
|
end
|
|
186
185
|
|
|
187
186
|
it "should set up colored output if configured to do so" do
|
|
188
187
|
@colors = {}
|
|
189
188
|
@config = double(Ppl::Application::Configuration)
|
|
190
|
-
@bootstrap.
|
|
191
|
-
@config.
|
|
189
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
190
|
+
expect(@config).to receive(:command_colors).with("bday").and_return(@colors)
|
|
192
191
|
@bootstrap.format_address_book_birthdays
|
|
193
192
|
end
|
|
194
193
|
end
|
|
195
194
|
|
|
196
195
|
describe "#format_address_book_email_addresses" do
|
|
197
196
|
it "should return a Ppl::Format::AddressBook::EmailAddresses" do
|
|
198
|
-
@bootstrap.format_address_book_email_addresses.
|
|
197
|
+
expect(@bootstrap.format_address_book_email_addresses).to be_a(Ppl::Format::AddressBook::EmailAddresses)
|
|
199
198
|
end
|
|
200
199
|
it "should set up colored output if configured to do so" do
|
|
201
200
|
@colors = {}
|
|
202
201
|
@config = double(Ppl::Application::Configuration)
|
|
203
|
-
@bootstrap.
|
|
204
|
-
@config.
|
|
202
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
203
|
+
expect(@config).to receive(:command_colors).with("email").and_return(@colors)
|
|
205
204
|
@bootstrap.format_address_book_email_addresses
|
|
206
205
|
end
|
|
207
206
|
end
|
|
208
207
|
|
|
209
208
|
describe "#format_address_book_mutt_query" do
|
|
210
209
|
it "should return a Ppl::Format::AddressBook::MuttQuery" do
|
|
211
|
-
@bootstrap.format_address_book_mutt_query.
|
|
210
|
+
expect(@bootstrap.format_address_book_mutt_query).to be_a(Ppl::Format::AddressBook::MuttQuery)
|
|
212
211
|
end
|
|
213
212
|
end
|
|
214
213
|
|
|
215
214
|
describe "#format_address_book_organizations" do
|
|
216
215
|
it "should return a Ppl::Format::AddressBook::Organizations" do
|
|
217
|
-
@bootstrap.format_address_book_organizations.
|
|
216
|
+
expect(@bootstrap.format_address_book_organizations).to be_a(Ppl::Format::AddressBook::Organizations)
|
|
218
217
|
end
|
|
219
218
|
it "should set up colored output if configured to do so" do
|
|
220
219
|
@colors = {}
|
|
221
220
|
@config = double(Ppl::Application::Configuration)
|
|
222
|
-
@bootstrap.
|
|
223
|
-
@config.
|
|
221
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
222
|
+
expect(@config).to receive(:command_colors).with("org").and_return(@colors)
|
|
224
223
|
@bootstrap.format_address_book_organizations
|
|
225
224
|
end
|
|
226
225
|
end
|
|
227
226
|
|
|
228
227
|
describe "#format_address_book_names" do
|
|
229
228
|
it "should return a Ppl::Format::AddressBook::Names" do
|
|
230
|
-
@bootstrap.format_address_book_names.
|
|
229
|
+
expect(@bootstrap.format_address_book_names).to be_a(Ppl::Format::AddressBook::Names)
|
|
231
230
|
end
|
|
232
231
|
it "should set up colored output if configured to do so" do
|
|
233
232
|
@colors = {}
|
|
234
233
|
@config = double(Ppl::Application::Configuration)
|
|
235
|
-
@bootstrap.
|
|
236
|
-
@config.
|
|
234
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
235
|
+
expect(@config).to receive(:command_colors).with("name").and_return(@colors)
|
|
237
236
|
@bootstrap.format_address_book_names
|
|
238
237
|
end
|
|
239
238
|
end
|
|
240
239
|
|
|
241
240
|
describe "#format_address_book_nicknames" do
|
|
242
241
|
it "should return a Ppl::Format::AddressBook::Nicknames" do
|
|
243
|
-
@bootstrap.format_address_book_nicknames.
|
|
242
|
+
expect(@bootstrap.format_address_book_nicknames).to be_a(Ppl::Format::AddressBook::Nicknames)
|
|
244
243
|
end
|
|
245
244
|
it "should set up colored output if configured to do so" do
|
|
246
245
|
@colors = {}
|
|
247
246
|
@config = double(Ppl::Application::Configuration)
|
|
248
|
-
@bootstrap.
|
|
249
|
-
@config.
|
|
247
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
248
|
+
expect(@config).to receive(:command_colors).with("nick").and_return(@colors)
|
|
250
249
|
@bootstrap.format_address_book_nicknames
|
|
251
250
|
end
|
|
252
251
|
end
|
|
253
252
|
|
|
254
253
|
describe "#format_address_book_one_line" do
|
|
255
254
|
it "should return a Ppl::Format::AddressBook::OneLine" do
|
|
256
|
-
@bootstrap.format_address_book_one_line.
|
|
255
|
+
expect(@bootstrap.format_address_book_one_line).to be_a(Ppl::Format::AddressBook::OneLine)
|
|
257
256
|
end
|
|
258
257
|
it "should set up colored output if configured to do so" do
|
|
259
258
|
@colors = {}
|
|
260
259
|
@config = double(Ppl::Application::Configuration)
|
|
261
|
-
@bootstrap.
|
|
262
|
-
@config.
|
|
260
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
261
|
+
expect(@config).to receive(:command_colors).with("ls").and_return(@colors)
|
|
263
262
|
@bootstrap.format_address_book_one_line
|
|
264
263
|
end
|
|
265
264
|
end
|
|
266
265
|
|
|
267
266
|
describe "#format_address_book_phone_numbers" do
|
|
268
267
|
it "should return a Ppl::Format::Address_book::PhoneNumbers" do
|
|
269
|
-
@bootstrap.format_address_book_phone_numbers.
|
|
268
|
+
expect(@bootstrap.format_address_book_phone_numbers).to be_a(Ppl::Format::AddressBook::PhoneNumbers)
|
|
270
269
|
end
|
|
271
270
|
it "should set up colored output if configured to do so" do
|
|
272
271
|
@colors = {}
|
|
273
272
|
@config = double(Ppl::Application::Configuration)
|
|
274
|
-
@bootstrap.
|
|
275
|
-
@config.
|
|
273
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
274
|
+
expect(@config).to receive(:command_colors).with("phone").and_return(@colors)
|
|
276
275
|
@bootstrap.format_address_book_phone_numbers
|
|
277
276
|
end
|
|
278
277
|
end
|
|
279
278
|
|
|
280
279
|
describe "#format_address_book_postal_addresses" do
|
|
281
280
|
it "should return a Ppl::Format::AddressBook::PostalAddresses" do
|
|
282
|
-
@bootstrap.format_address_book_postal_addresses.
|
|
281
|
+
expect(@bootstrap.format_address_book_postal_addresses).to be_a(Ppl::Format::AddressBook::PostalAddresses)
|
|
283
282
|
end
|
|
284
283
|
it "should set up colored output if configured to do so" do
|
|
285
284
|
@colors = {}
|
|
286
285
|
@config = double(Ppl::Application::Configuration)
|
|
287
|
-
@bootstrap.
|
|
288
|
-
@config.
|
|
286
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
287
|
+
expect(@config).to receive(:command_colors).with("post").and_return(@colors)
|
|
289
288
|
@bootstrap.format_address_book_postal_addresses
|
|
290
289
|
end
|
|
291
290
|
end
|
|
292
291
|
|
|
293
292
|
describe "#format_address_book_urls" do
|
|
294
293
|
it "should return a Ppl::Format::AddressBook::Urls" do
|
|
295
|
-
@bootstrap.format_address_book_urls.
|
|
294
|
+
expect(@bootstrap.format_address_book_urls).to be_a(Ppl::Format::AddressBook::Urls)
|
|
296
295
|
end
|
|
297
296
|
it "should set up colored output if configured to do so" do
|
|
298
297
|
@colors = {}
|
|
299
298
|
@config = double(Ppl::Application::Configuration)
|
|
300
|
-
@bootstrap.
|
|
301
|
-
@config.
|
|
299
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
300
|
+
expect(@config).to receive(:command_colors).with("url").and_return(@colors)
|
|
302
301
|
@bootstrap.format_address_book_urls
|
|
303
302
|
end
|
|
304
303
|
end
|
|
305
304
|
|
|
306
305
|
describe "#format_contact_age" do
|
|
307
306
|
it "should return a Ppl::Format::Contact::Age" do
|
|
308
|
-
@bootstrap.format_contact_age.
|
|
307
|
+
expect(@bootstrap.format_contact_age).to be_a(Ppl::Format::Contact::Age)
|
|
309
308
|
end
|
|
310
309
|
it "should set up colored output if configured to do so" do
|
|
311
310
|
@colors = {}
|
|
312
311
|
@config = double(Ppl::Application::Configuration)
|
|
313
|
-
@bootstrap.
|
|
314
|
-
@config.
|
|
312
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
313
|
+
expect(@config).to receive(:command_colors).with("age").and_return(@colors)
|
|
315
314
|
@bootstrap.format_contact_age
|
|
316
315
|
end
|
|
317
316
|
end
|
|
318
317
|
|
|
319
318
|
describe "#format_contact_birthday" do
|
|
320
319
|
it "should return a Ppl::Format::Contact::Birthday" do
|
|
321
|
-
@bootstrap.format_contact_birthday.
|
|
320
|
+
expect(@bootstrap.format_contact_birthday).to be_a(Ppl::Format::Contact::Birthday)
|
|
322
321
|
end
|
|
323
322
|
it "should set up colored output if configured to do so" do
|
|
324
323
|
@colors = {}
|
|
325
324
|
@config = double(Ppl::Application::Configuration)
|
|
326
|
-
@bootstrap.
|
|
327
|
-
@config.
|
|
325
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
326
|
+
expect(@config).to receive(:command_colors).with("bday").and_return(@colors)
|
|
328
327
|
@bootstrap.format_contact_birthday
|
|
329
328
|
end
|
|
330
329
|
end
|
|
331
330
|
|
|
332
331
|
describe "#format_contact_email_addresses" do
|
|
333
332
|
it "should return a Ppl::Format::Contact::EmailAddresses" do
|
|
334
|
-
@bootstrap.format_contact_email_addresses.
|
|
333
|
+
expect(@bootstrap.format_contact_email_addresses).to be_a(Ppl::Format::Contact::EmailAddresses)
|
|
335
334
|
end
|
|
336
335
|
it "should set up colored output if configured to do so" do
|
|
337
336
|
@colors = {}
|
|
338
337
|
@config = double(Ppl::Application::Configuration)
|
|
339
|
-
@bootstrap.
|
|
340
|
-
@config.
|
|
338
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
339
|
+
expect(@config).to receive(:command_colors).with("email").and_return(@colors)
|
|
341
340
|
@bootstrap.format_contact_email_addresses
|
|
342
341
|
end
|
|
343
342
|
end
|
|
344
343
|
|
|
345
344
|
describe "#format_name_full_only" do
|
|
346
345
|
it "should return a Ppl::Format::Contact::Name" do
|
|
347
|
-
@bootstrap.format_name_full_only.
|
|
346
|
+
expect(@bootstrap.format_name_full_only).to be_a(Ppl::Format::Name::FullOnly)
|
|
348
347
|
end
|
|
349
348
|
it "should set up colored output if configured to do so" do
|
|
350
349
|
@colors = {}
|
|
351
350
|
@config = double(Ppl::Application::Configuration)
|
|
352
|
-
@bootstrap.
|
|
353
|
-
@config.
|
|
351
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
352
|
+
expect(@config).to receive(:command_colors).with("name").and_return(@colors)
|
|
354
353
|
@bootstrap.format_name_full_only
|
|
355
354
|
end
|
|
356
355
|
end
|
|
357
356
|
|
|
358
357
|
describe "#format_contact_nicknames" do
|
|
359
358
|
it "should return a Ppl::Format::Contact::Nicknames" do
|
|
360
|
-
@bootstrap.format_contact_nicknames.
|
|
359
|
+
expect(@bootstrap.format_contact_nicknames).to be_a(Ppl::Format::Contact::Nicknames)
|
|
361
360
|
end
|
|
362
361
|
it "should set up colored output if configured to do so" do
|
|
363
362
|
@colors = {}
|
|
364
363
|
@config = double(Ppl::Application::Configuration)
|
|
365
|
-
@bootstrap.
|
|
366
|
-
@config.
|
|
364
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
365
|
+
expect(@config).to receive(:command_colors).with("nick").and_return(@colors)
|
|
367
366
|
@bootstrap.format_contact_nicknames
|
|
368
367
|
end
|
|
369
368
|
end
|
|
370
369
|
|
|
371
370
|
describe "#format_contact_organizations" do
|
|
372
371
|
it "should return a Ppl::Format::Contact::Organizations" do
|
|
373
|
-
@bootstrap.format_contact_organizations.
|
|
372
|
+
expect(@bootstrap.format_contact_organizations).to be_a(Ppl::Format::Contact::Organization)
|
|
374
373
|
end
|
|
375
374
|
it "should set up colored output if configured to do so" do
|
|
376
375
|
@colors = {}
|
|
377
376
|
@config = double(Ppl::Application::Configuration)
|
|
378
|
-
@bootstrap.
|
|
379
|
-
@config.
|
|
377
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
378
|
+
expect(@config).to receive(:command_colors).with("org").and_return(@colors)
|
|
380
379
|
@bootstrap.format_contact_organizations
|
|
381
380
|
end
|
|
382
381
|
end
|
|
383
382
|
|
|
384
383
|
describe "#format_contact_phone_numbers" do
|
|
385
384
|
it "should return a Ppl::Format::Contact::PhoneNumber" do
|
|
386
|
-
@bootstrap.format_contact_phone_numbers.
|
|
385
|
+
expect(@bootstrap.format_contact_phone_numbers).to be_a(Ppl::Format::Contact::PhoneNumber)
|
|
387
386
|
end
|
|
388
387
|
it "should set up colored output if configured to do so" do
|
|
389
388
|
@colors = {}
|
|
390
389
|
@config = double(Ppl::Application::Configuration)
|
|
391
|
-
@bootstrap.
|
|
392
|
-
@config.
|
|
390
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
391
|
+
expect(@config).to receive(:command_colors).with("phone").and_return(@colors)
|
|
393
392
|
@bootstrap.format_contact_phone_numbers
|
|
394
393
|
end
|
|
395
394
|
end
|
|
396
395
|
|
|
397
396
|
describe "#format_contact_postal_addresses" do
|
|
398
397
|
it "should return a Ppl::Format::Contact::PostalAddresses" do
|
|
399
|
-
@bootstrap.format_contact_postal_addresses.
|
|
398
|
+
expect(@bootstrap.format_contact_postal_addresses).to be_a(Ppl::Format::Contact::PostalAddresses)
|
|
400
399
|
end
|
|
401
400
|
end
|
|
402
401
|
|
|
403
402
|
describe "#format_contact_urls" do
|
|
404
403
|
it "should return a Ppl::Format::Contact::Urls" do
|
|
405
|
-
@bootstrap.format_contact_urls.
|
|
404
|
+
expect(@bootstrap.format_contact_urls).to be_a(Ppl::Format::Contact::Urls)
|
|
406
405
|
end
|
|
407
406
|
it "should set up colored output if configured to do so" do
|
|
408
407
|
@colors = {}
|
|
409
408
|
@config = double(Ppl::Application::Configuration)
|
|
410
|
-
@bootstrap.
|
|
411
|
-
@config.
|
|
409
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
410
|
+
expect(@config).to receive(:command_colors).with("url").and_return(@colors)
|
|
412
411
|
@bootstrap.format_contact_urls
|
|
413
412
|
end
|
|
414
413
|
end
|
|
415
414
|
|
|
416
415
|
describe "#format_postal_address_multi_line" do
|
|
417
416
|
it "should return a Ppl::Format::PostalAddress::MultiLine" do
|
|
418
|
-
@bootstrap.format_postal_address_multi_line.
|
|
417
|
+
expect(@bootstrap.format_postal_address_multi_line).to be_a(Ppl::Format::PostalAddress::MultiLine)
|
|
419
418
|
end
|
|
420
419
|
end
|
|
421
420
|
|
|
422
421
|
describe "#command_suite" do
|
|
423
422
|
|
|
424
423
|
before(:each) do
|
|
425
|
-
@bootstrap.
|
|
424
|
+
allow(@bootstrap).to receive(:storage_adapter)
|
|
426
425
|
end
|
|
427
426
|
|
|
428
427
|
it "should return a Ppl::Application::CommandSuite" do
|
|
429
|
-
@bootstrap.command_suite.
|
|
428
|
+
expect(@bootstrap.command_suite).to be_a(Ppl::Application::CommandSuite)
|
|
430
429
|
end
|
|
431
430
|
it "should contain the 'add' command" do
|
|
432
|
-
@bootstrap.command_suite.find_command("add").
|
|
431
|
+
expect(@bootstrap.command_suite.find_command("add")).not_to be nil
|
|
433
432
|
end
|
|
434
433
|
it "should contain the 'age' command" do
|
|
435
|
-
@bootstrap.command_suite.find_command("age").
|
|
434
|
+
expect(@bootstrap.command_suite.find_command("age")).not_to be nil
|
|
436
435
|
end
|
|
437
436
|
it "should contain the 'bday' command" do
|
|
438
|
-
@bootstrap.command_suite.find_command("bday").
|
|
437
|
+
expect(@bootstrap.command_suite.find_command("bday")).not_to be nil
|
|
439
438
|
end
|
|
440
439
|
it "should contain the 'completion' command" do
|
|
441
|
-
@bootstrap.command_suite.find_command("completion").
|
|
440
|
+
expect(@bootstrap.command_suite.find_command("completion")).not_to be nil
|
|
442
441
|
end
|
|
443
442
|
it "should contain the 'email' command" do
|
|
444
|
-
@bootstrap.command_suite.find_command("email").
|
|
443
|
+
expect(@bootstrap.command_suite.find_command("email")).not_to be nil
|
|
445
444
|
end
|
|
446
445
|
it "should contain the 'grep' command" do
|
|
447
|
-
@bootstrap.command_suite.find_command("grep").
|
|
446
|
+
expect(@bootstrap.command_suite.find_command("grep")).not_to be nil
|
|
448
447
|
end
|
|
449
448
|
it "should contain the 'init' command" do
|
|
450
|
-
@bootstrap.command_suite.find_command("init").
|
|
449
|
+
expect(@bootstrap.command_suite.find_command("init")).not_to be nil
|
|
451
450
|
end
|
|
452
451
|
it "should contain the 'ls' command" do
|
|
453
|
-
@bootstrap.command_suite.find_command("ls").
|
|
452
|
+
expect(@bootstrap.command_suite.find_command("ls")).not_to be nil
|
|
454
453
|
end
|
|
455
454
|
it "should contain the 'mutt' command" do
|
|
456
|
-
@bootstrap.command_suite.find_command("mutt").
|
|
455
|
+
expect(@bootstrap.command_suite.find_command("mutt")).not_to be nil
|
|
457
456
|
end
|
|
458
457
|
it "should contain the 'mv' command" do
|
|
459
|
-
@bootstrap.command_suite.find_command("mv").
|
|
458
|
+
expect(@bootstrap.command_suite.find_command("mv")).not_to be nil
|
|
460
459
|
end
|
|
461
460
|
it "should contain the 'name' command" do
|
|
462
|
-
@bootstrap.command_suite.find_command("name").
|
|
461
|
+
expect(@bootstrap.command_suite.find_command("name")).not_to be nil
|
|
463
462
|
end
|
|
464
463
|
it "should contain the 'nick' command" do
|
|
465
|
-
@bootstrap.command_suite.find_command("nick").
|
|
464
|
+
expect(@bootstrap.command_suite.find_command("nick")).not_to be nil
|
|
466
465
|
end
|
|
467
466
|
it "should contain the 'org' command" do
|
|
468
|
-
@bootstrap.command_suite.find_command("org").
|
|
467
|
+
expect(@bootstrap.command_suite.find_command("org")).not_to be nil
|
|
469
468
|
end
|
|
470
469
|
it "should contain the 'phone' command" do
|
|
471
|
-
@bootstrap.command_suite.find_command("phone").
|
|
470
|
+
expect(@bootstrap.command_suite.find_command("phone")).not_to be nil
|
|
472
471
|
end
|
|
473
472
|
it "should contain the 'post' command" do
|
|
474
|
-
@bootstrap.command_suite.find_command("post").
|
|
473
|
+
expect(@bootstrap.command_suite.find_command("post")).not_to be nil
|
|
475
474
|
end
|
|
476
475
|
it "should contain the 'pull' command" do
|
|
477
|
-
@bootstrap.command_suite.find_command("pull").
|
|
476
|
+
expect(@bootstrap.command_suite.find_command("pull")).not_to be nil
|
|
478
477
|
end
|
|
479
478
|
it "should contain the 'push' command" do
|
|
480
|
-
@bootstrap.command_suite.find_command("push").
|
|
479
|
+
expect(@bootstrap.command_suite.find_command("push")).not_to be nil
|
|
481
480
|
end
|
|
482
481
|
it "should contain the 'remote' command" do
|
|
483
|
-
@bootstrap.command_suite.find_command("remote").
|
|
482
|
+
expect(@bootstrap.command_suite.find_command("remote")).not_to be nil
|
|
484
483
|
end
|
|
485
484
|
it "should contain the 'rm' command" do
|
|
486
|
-
@bootstrap.command_suite.find_command("rm").
|
|
485
|
+
expect(@bootstrap.command_suite.find_command("rm")).not_to be nil
|
|
487
486
|
end
|
|
488
487
|
it "should contain the 'scrape' command" do
|
|
489
|
-
@bootstrap.command_suite.find_command("scrape").
|
|
488
|
+
expect(@bootstrap.command_suite.find_command("scrape")).not_to be nil
|
|
490
489
|
end
|
|
491
490
|
it "should contain the 'show' command" do
|
|
492
|
-
@bootstrap.command_suite.find_command("show").
|
|
491
|
+
expect(@bootstrap.command_suite.find_command("show")).not_to be nil
|
|
493
492
|
end
|
|
494
493
|
it "should contain the 'help' command" do
|
|
495
|
-
@bootstrap.command_suite.find_command("help").
|
|
494
|
+
expect(@bootstrap.command_suite.find_command("help")).not_to be nil
|
|
496
495
|
end
|
|
497
496
|
it "should contain the 'shell' command" do
|
|
498
|
-
@bootstrap.command_suite.find_command("shell").
|
|
497
|
+
expect(@bootstrap.command_suite.find_command("shell")).not_to be nil
|
|
499
498
|
end
|
|
500
499
|
it "should contain the 'url' command" do
|
|
501
|
-
@bootstrap.command_suite.find_command("url").
|
|
500
|
+
expect(@bootstrap.command_suite.find_command("url")).not_to be nil
|
|
502
501
|
end
|
|
503
502
|
it "should contain the 'version' command" do
|
|
504
|
-
@bootstrap.command_suite.find_command("version").
|
|
503
|
+
expect(@bootstrap.command_suite.find_command("version")).not_to be nil
|
|
505
504
|
end
|
|
506
505
|
end
|
|
507
506
|
|
|
508
507
|
describe "#configuration" do
|
|
509
508
|
it "should return a Ppl::Application::Configuration" do
|
|
510
|
-
@bootstrap.configuration.
|
|
509
|
+
expect(@bootstrap.configuration).to be_a(Ppl::Application::Configuration)
|
|
511
510
|
end
|
|
512
511
|
end
|
|
513
512
|
|
|
514
513
|
describe "#input" do
|
|
515
514
|
it "should return a Ppl::Application::Input" do
|
|
516
|
-
@bootstrap.input.
|
|
515
|
+
expect(@bootstrap.input).to be_a(Ppl::Application::Input)
|
|
517
516
|
end
|
|
518
517
|
end
|
|
519
518
|
|
|
520
519
|
describe "#output" do
|
|
521
520
|
it "should return a Ppl::Application::Output" do
|
|
522
|
-
@bootstrap.output.
|
|
521
|
+
expect(@bootstrap.output).to be_a(Ppl::Application::Output)
|
|
523
522
|
end
|
|
524
523
|
end
|
|
525
524
|
|
|
526
525
|
describe "#router" do
|
|
527
526
|
before(:each) do
|
|
528
|
-
@bootstrap.
|
|
527
|
+
allow(@bootstrap).to receive(:storage_adapter)
|
|
529
528
|
end
|
|
530
529
|
it "should return a Ppl::Application::Router" do
|
|
531
|
-
@bootstrap.router.
|
|
530
|
+
expect(@bootstrap.router).to be_a(Ppl::Application::Router)
|
|
532
531
|
end
|
|
533
532
|
it "should set the 'help' command as the default" do
|
|
534
|
-
@bootstrap.router.default.
|
|
533
|
+
expect(@bootstrap.router.default).to eq "help"
|
|
535
534
|
end
|
|
536
535
|
it "should inject the user's aliases" do
|
|
537
|
-
@bootstrap.router.aliases.
|
|
536
|
+
expect(@bootstrap.router.aliases).to be_a(Hash)
|
|
538
537
|
end
|
|
539
538
|
end
|
|
540
539
|
|
|
541
540
|
describe "#shell" do
|
|
542
541
|
before(:each) do
|
|
543
|
-
@bootstrap.
|
|
542
|
+
allow(@bootstrap).to receive(:storage_adapter)
|
|
544
543
|
end
|
|
545
544
|
it "should return a Ppl::Application::Shell" do
|
|
546
|
-
@bootstrap.shell.
|
|
545
|
+
expect(@bootstrap.shell).to be_a(Ppl::Application::Shell)
|
|
547
546
|
end
|
|
548
547
|
end
|
|
549
548
|
|
|
@@ -551,32 +550,32 @@ describe Ppl::Application::Bootstrap do
|
|
|
551
550
|
before(:each) do
|
|
552
551
|
@config = double(Ppl::Application::Configuration)
|
|
553
552
|
@factory = double(Ppl::Adapter::Storage::Factory)
|
|
554
|
-
@bootstrap.
|
|
555
|
-
Ppl::Adapter::Storage::Factory.
|
|
553
|
+
allow(@bootstrap).to receive(:configuration).and_return(@config)
|
|
554
|
+
allow(Ppl::Adapter::Storage::Factory).to receive(:new).and_return(@factory)
|
|
556
555
|
|
|
557
|
-
@config.
|
|
558
|
-
@factory.
|
|
556
|
+
expect(@config).to receive(:address_book_path).and_return("/tmp")
|
|
557
|
+
expect(@factory).to receive(:load_adapter).and_return(Ppl::Adapter::Storage::Disk.new(nil))
|
|
559
558
|
end
|
|
560
559
|
it "should return a Ppl::Adapter::Storage" do
|
|
561
|
-
@bootstrap.storage_adapter.
|
|
560
|
+
expect(@bootstrap.storage_adapter).to be_a(Ppl::Adapter::Storage)
|
|
562
561
|
end
|
|
563
562
|
end
|
|
564
563
|
|
|
565
564
|
describe "#vcard_adapter" do
|
|
566
565
|
it "should return a Ppl::Adapter::Vcard::Vpim" do
|
|
567
|
-
@bootstrap.vcard_adapter.
|
|
566
|
+
expect(@bootstrap.vcard_adapter).to be_a(Ppl::Adapter::Vcard::Vpim)
|
|
568
567
|
end
|
|
569
568
|
end
|
|
570
569
|
|
|
571
570
|
describe "#name_service" do
|
|
572
571
|
it "should return a Ppl::Service::Name" do
|
|
573
|
-
@bootstrap.name_service.
|
|
572
|
+
expect(@bootstrap.name_service).to be_a(Ppl::Service::Name)
|
|
574
573
|
end
|
|
575
574
|
end
|
|
576
575
|
|
|
577
576
|
describe "#postal_address_service" do
|
|
578
577
|
it "should return a Ppl::Service::PostalAddress" do
|
|
579
|
-
@bootstrap.postal_address_service.
|
|
578
|
+
expect(@bootstrap.postal_address_service).to be_a(Ppl::Service::PostalAddress)
|
|
580
579
|
end
|
|
581
580
|
end
|
|
582
581
|
|