carlosbrando-autotest-notification 1.7.1 → 1.7.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.
- data/Manifest.txt +7 -0
- data/README.rdoc +1 -1
- data/bin/an-install +10 -0
- data/bin/an-uninstall +10 -0
- data/bin/playsound +0 -0
- data/lib/an_install/cli.rb +79 -0
- data/lib/an_uninstall/cli.rb +46 -0
- data/lib/autotest_notification.rb +2 -2
- data/test/test_an-install_cli.rb +19 -0
- data/test/test_an-uninstall_cli.rb +19 -0
- metadata +15 -4
    
        data/Manifest.txt
    CHANGED
    
    | @@ -3,6 +3,9 @@ Manifest.txt | |
| 3 3 | 
             
            PostInstall.txt
         | 
| 4 4 | 
             
            README.rdoc
         | 
| 5 5 | 
             
            Rakefile
         | 
| 6 | 
            +
            bin/an-install
         | 
| 7 | 
            +
            bin/an-uninstall
         | 
| 8 | 
            +
            bin/playsound
         | 
| 6 9 | 
             
            images/buuf/fail.png
         | 
| 7 10 | 
             
            images/buuf/pass.png
         | 
| 8 11 | 
             
            images/buuf/pending.png
         | 
| @@ -16,6 +19,8 @@ images/doom/doom_6.png | |
| 16 19 | 
             
            images/fail.png
         | 
| 17 20 | 
             
            images/pass.png
         | 
| 18 21 | 
             
            images/pending.png
         | 
| 22 | 
            +
            lib/an_install/cli.rb
         | 
| 23 | 
            +
            lib/an_uninstall/cli.rb
         | 
| 19 24 | 
             
            lib/autotest_notification.rb
         | 
| 20 25 | 
             
            script/console
         | 
| 21 26 | 
             
            script/destroy
         | 
| @@ -31,5 +36,7 @@ test/autotest_notification/test_cygwin.rb | |
| 31 36 | 
             
            test/autotest_notification/test_linux.rb
         | 
| 32 37 | 
             
            test/autotest_notification/test_mac.rb
         | 
| 33 38 | 
             
            test/autotest_notification/test_windows.rb
         | 
| 39 | 
            +
            test/test_an-install_cli.rb
         | 
| 40 | 
            +
            test/test_an-uninstall_cli.rb
         | 
| 34 41 | 
             
            test/test_autotest_notification.rb
         | 
| 35 42 | 
             
            test/test_helper.rb
         | 
    
        data/README.rdoc
    CHANGED
    
    | @@ -107,7 +107,7 @@ To turn off the notifier: | |
| 107 107 | 
             
            * tchandy [http://tchandy.wordpress.com]
         | 
| 108 108 | 
             
            * ozsantana [http://blog.iconcreative.net]
         | 
| 109 109 | 
             
            * lucasuyezu [http://xucros.com]
         | 
| 110 | 
            -
            * samflores [http:// | 
| 110 | 
            +
            * samflores [http://www.thoughtsoverflow.com]
         | 
| 111 111 | 
             
            * dcrec1 [http://www.mouseoverstudio.com/blog]
         | 
| 112 112 | 
             
            * nuxlli [http://www.nuxlli.com.br]
         | 
| 113 113 |  | 
    
        data/bin/an-install
    ADDED
    
    
    
        data/bin/an-uninstall
    ADDED
    
    
    
        data/bin/playsound
    ADDED
    
    | Binary file | 
| @@ -0,0 +1,79 @@ | |
| 1 | 
            +
            require 'optparse'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module AnInstall
         | 
| 4 | 
            +
              class CLI
         | 
| 5 | 
            +
                def self.execute(stdout, arguments=[])
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  # NOTE: the option -p/--path= is given as an example, and should be replaced in your application.
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  options = {
         | 
| 10 | 
            +
                    :path     => '~',
         | 
| 11 | 
            +
                    :speaking => false,
         | 
| 12 | 
            +
                    :doom => false,
         | 
| 13 | 
            +
                    :sticky => false,
         | 
| 14 | 
            +
                    :pending => false,
         | 
| 15 | 
            +
                    :buuf => false
         | 
| 16 | 
            +
                  }
         | 
| 17 | 
            +
                  mandatory_options = %w(  )
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  parser = OptionParser.new do |opts|
         | 
| 20 | 
            +
                    opts.banner = <<-BANNER.gsub(/^          /,'')
         | 
| 21 | 
            +
                      This application is wonderful because...
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                      Usage: #{File.basename($0)} [options]
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                      Options are:
         | 
| 26 | 
            +
                    BANNER
         | 
| 27 | 
            +
                    opts.separator ""
         | 
| 28 | 
            +
                    opts.on("-p", "--path=PATH", String,
         | 
| 29 | 
            +
                            "This is a sample message.",
         | 
| 30 | 
            +
                            "For multiple lines, add more strings.",
         | 
| 31 | 
            +
                            "Default: ~") { |arg| options[:path] = arg }
         | 
| 32 | 
            +
                    opts.on("-s", "--speaking",
         | 
| 33 | 
            +
                            "If a test failed, the computer will speak.",
         | 
| 34 | 
            +
                            "For all plataforms.") { options[:speaking] = true }
         | 
| 35 | 
            +
                    opts.on("-d", "--doom",
         | 
| 36 | 
            +
                            "Special Doom Edition.",
         | 
| 37 | 
            +
                            "Only for Mac.") { options[:doom] = true }
         | 
| 38 | 
            +
                    opts.on("-b", "--buuf",
         | 
| 39 | 
            +
                            "Special Buuf Images.",
         | 
| 40 | 
            +
                            "For all platforms") { options[:buuf] = true }
         | 
| 41 | 
            +
                    opts.on("--pending",
         | 
| 42 | 
            +
                            "Shows a different image when there are no errors/failures",
         | 
| 43 | 
            +
                            "but there are pending specs. Only for Mac.") { options[:pending] = true }
         | 
| 44 | 
            +
                    opts.on("--sticky",
         | 
| 45 | 
            +
                            "Keep notification on screen in case of errros/failures or pending specs.",
         | 
| 46 | 
            +
                            "Only for Mac.") { options[:sticky] = true }
         | 
| 47 | 
            +
                    opts.on("-h", "--help",
         | 
| 48 | 
            +
                            "Show this help message.") { stdout.puts opts; exit }
         | 
| 49 | 
            +
                    opts.parse!(arguments)
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                    if mandatory_options && mandatory_options.find { |option| options[option.to_sym].nil? }
         | 
| 52 | 
            +
                      stdout.puts opts; exit
         | 
| 53 | 
            +
                    end
         | 
| 54 | 
            +
                  end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  path = options[:path]
         | 
| 57 | 
            +
             | 
| 58 | 
            +
                  autotest_path = File.expand_path(path)
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                  if File.exists?("#{autotest_path}/.autotest")
         | 
| 61 | 
            +
                    puts "\nYou Already have a .autotest file, renamed to .autotest.backup"
         | 
| 62 | 
            +
                    FileUtils.cp "#{autotest_path}/.autotest", "#{autotest_path}/.autotest.backup"
         | 
| 63 | 
            +
                  end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
                  f = File.new("#{autotest_path}/.autotest",  "w")
         | 
| 66 | 
            +
                  f.write "# ~.autotest\n"
         | 
| 67 | 
            +
                  f.write "require 'autotest_notification'\n"
         | 
| 68 | 
            +
                  f.write("SPEAKING = #{options[:speaking]}\n")
         | 
| 69 | 
            +
                  f.write("DOOM_EDITION = #{options[:doom]}\n")
         | 
| 70 | 
            +
                  f.write("BUUF = #{options[:buuf]}\n")
         | 
| 71 | 
            +
                  f.write("PENDING = #{options[:pending]}\n")
         | 
| 72 | 
            +
                  f.write("STICKY = #{options[:sticky]}\n")
         | 
| 73 | 
            +
                  f.close
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                  puts "\nAs from now all tests will be notified automatically."
         | 
| 76 | 
            +
                  puts "" # a blank line
         | 
| 77 | 
            +
                end
         | 
| 78 | 
            +
              end
         | 
| 79 | 
            +
            end
         | 
| @@ -0,0 +1,46 @@ | |
| 1 | 
            +
            require 'optparse'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module AnUninstall
         | 
| 4 | 
            +
              class CLI
         | 
| 5 | 
            +
                def self.execute(stdout, arguments=[])
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                  # NOTE: the option -p/--path= is given as an example, and should be replaced in your application.
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  options = {
         | 
| 10 | 
            +
                    :path     => '~'
         | 
| 11 | 
            +
                  }
         | 
| 12 | 
            +
                  mandatory_options = %w(  )
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  parser = OptionParser.new do |opts|
         | 
| 15 | 
            +
                    opts.banner = <<-BANNER.gsub(/^          /,'')
         | 
| 16 | 
            +
                      This application is wonderful because...
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                      Usage: #{File.basename($0)} [options]
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                      Options are:
         | 
| 21 | 
            +
                    BANNER
         | 
| 22 | 
            +
                    opts.separator ""
         | 
| 23 | 
            +
                    opts.on("-p", "--path=PATH", String,
         | 
| 24 | 
            +
                            "This is a sample message.",
         | 
| 25 | 
            +
                            "For multiple lines, add more strings.",
         | 
| 26 | 
            +
                            "Default: ~") { |arg| options[:path] = arg }
         | 
| 27 | 
            +
                    opts.on("-h", "--help",
         | 
| 28 | 
            +
                            "Show this help message.") { stdout.puts opts; exit }
         | 
| 29 | 
            +
                    opts.parse!(arguments)
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                    if mandatory_options && mandatory_options.find { |option| options[option.to_sym].nil? }
         | 
| 32 | 
            +
                      stdout.puts opts; exit
         | 
| 33 | 
            +
                    end
         | 
| 34 | 
            +
                  end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                  path = options[:path]
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                  autotest_file = File.expand_path(path) + "/.autotest"
         | 
| 39 | 
            +
                  if File.exist?(autotest_file)
         | 
| 40 | 
            +
                    File.delete(autotest_file)
         | 
| 41 | 
            +
                    puts "\nYou no longer receive notifications of your tests."
         | 
| 42 | 
            +
                    puts "" # a blank line
         | 
| 43 | 
            +
                  end
         | 
| 44 | 
            +
                end
         | 
| 45 | 
            +
              end
         | 
| 46 | 
            +
            end
         | 
| @@ -5,7 +5,7 @@ require "autotest" | |
| 5 5 | 
             
            %w{ linux mac windows cygwin doom buuf }.each { |x| require "autotest_notification/#{x}" }
         | 
| 6 6 |  | 
| 7 7 | 
             
            module AutotestNotification
         | 
| 8 | 
            -
              VERSION = '1.7. | 
| 8 | 
            +
              VERSION = '1.7.2'
         | 
| 9 9 |  | 
| 10 10 | 
             
              IMAGES_DIRECTORY = File.expand_path(File.dirname(__FILE__) + "/../images/")
         | 
| 11 11 | 
             
              SUCCESS_IMAGE    = "#{IMAGES_DIRECTORY}/pass.png";
         | 
| @@ -75,4 +75,4 @@ module AutotestNotification | |
| 75 75 | 
             
                  "#{pluralize('example', examples)}, #{pluralize('failure', failures)}, #{pendings} pending"
         | 
| 76 76 | 
             
                end
         | 
| 77 77 | 
             
              end
         | 
| 78 | 
            -
            end
         | 
| 78 | 
            +
            end
         | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            require File.join(File.dirname(__FILE__), "test_helper.rb")
         | 
| 2 | 
            +
            require 'an_install/cli'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            class TestAnInstallCli < Test::Unit::TestCase
         | 
| 5 | 
            +
              def setup
         | 
| 6 | 
            +
                @stdout_io = StringIO.new
         | 
| 7 | 
            +
                AnInstall::CLI.execute(@stdout_io, [])
         | 
| 8 | 
            +
                @stdout_io.rewind
         | 
| 9 | 
            +
                @stdout = @stdout_io.read
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
              
         | 
| 12 | 
            +
              def test_not_print_default_output
         | 
| 13 | 
            +
                assert_no_match(/To update this executable/, @stdout)
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
              
         | 
| 16 | 
            +
              # def test_print_successful_message
         | 
| 17 | 
            +
              #   assert_match(/As from now all tests will be notified automatically/, @stdout)
         | 
| 18 | 
            +
              # end
         | 
| 19 | 
            +
            end
         | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            require File.join(File.dirname(__FILE__), "test_helper.rb")
         | 
| 2 | 
            +
            require 'an_uninstall/cli'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            class TestAnUninstallCli < Test::Unit::TestCase
         | 
| 5 | 
            +
              def setup
         | 
| 6 | 
            +
                @stdout_io = StringIO.new
         | 
| 7 | 
            +
                AnUninstall::CLI.execute(@stdout_io, [])
         | 
| 8 | 
            +
                @stdout_io.rewind
         | 
| 9 | 
            +
                @stdout = @stdout_io.read
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
              
         | 
| 12 | 
            +
              def test_not_print_default_output
         | 
| 13 | 
            +
                assert_no_match(/To update this executable/, @stdout)
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
              
         | 
| 16 | 
            +
              # def test_print_successful_message
         | 
| 17 | 
            +
              #   assert_match(/You no longer receive notifications of your tests/, @stdout)
         | 
| 18 | 
            +
              # end
         | 
| 19 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: carlosbrando-autotest-notification
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 1.7. | 
| 4 | 
            +
              version: 1.7.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Carlos Brando
         | 
| @@ -9,7 +9,7 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date: 2008-11- | 
| 12 | 
            +
            date: 2008-11-14 00:00:00 -08:00
         | 
| 13 13 | 
             
            default_executable: 
         | 
| 14 14 | 
             
            dependencies: 
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -42,8 +42,10 @@ dependencies: | |
| 42 42 | 
             
            description: This gem set the autotest (ZenTest) to send messages to software as Growl, LibNotify, and Snarl, displaying a window with the results.
         | 
| 43 43 | 
             
            email: 
         | 
| 44 44 | 
             
            - eduardobrando@gmail.com
         | 
| 45 | 
            -
            executables:  | 
| 46 | 
            -
             | 
| 45 | 
            +
            executables: 
         | 
| 46 | 
            +
            - an-install
         | 
| 47 | 
            +
            - an-uninstall
         | 
| 48 | 
            +
            - playsound
         | 
| 47 49 | 
             
            extensions: []
         | 
| 48 50 |  | 
| 49 51 | 
             
            extra_rdoc_files: 
         | 
| @@ -57,6 +59,9 @@ files: | |
| 57 59 | 
             
            - PostInstall.txt
         | 
| 58 60 | 
             
            - README.rdoc
         | 
| 59 61 | 
             
            - Rakefile
         | 
| 62 | 
            +
            - bin/an-install
         | 
| 63 | 
            +
            - bin/an-uninstall
         | 
| 64 | 
            +
            - bin/playsound
         | 
| 60 65 | 
             
            - images/buuf/fail.png
         | 
| 61 66 | 
             
            - images/buuf/pass.png
         | 
| 62 67 | 
             
            - images/buuf/pending.png
         | 
| @@ -70,6 +75,8 @@ files: | |
| 70 75 | 
             
            - images/fail.png
         | 
| 71 76 | 
             
            - images/pass.png
         | 
| 72 77 | 
             
            - images/pending.png
         | 
| 78 | 
            +
            - lib/an_install/cli.rb
         | 
| 79 | 
            +
            - lib/an_uninstall/cli.rb
         | 
| 73 80 | 
             
            - lib/autotest_notification.rb
         | 
| 74 81 | 
             
            - script/console
         | 
| 75 82 | 
             
            - script/destroy
         | 
| @@ -85,6 +92,8 @@ files: | |
| 85 92 | 
             
            - test/autotest_notification/test_linux.rb
         | 
| 86 93 | 
             
            - test/autotest_notification/test_mac.rb
         | 
| 87 94 | 
             
            - test/autotest_notification/test_windows.rb
         | 
| 95 | 
            +
            - test/test_an-install_cli.rb
         | 
| 96 | 
            +
            - test/test_an-uninstall_cli.rb
         | 
| 88 97 | 
             
            - test/test_autotest_notification.rb
         | 
| 89 98 | 
             
            - test/test_helper.rb
         | 
| 90 99 | 
             
            has_rdoc: true
         | 
| @@ -119,5 +128,7 @@ test_files: | |
| 119 128 | 
             
            - test/autotest_notification/test_linux.rb
         | 
| 120 129 | 
             
            - test/autotest_notification/test_mac.rb
         | 
| 121 130 | 
             
            - test/autotest_notification/test_windows.rb
         | 
| 131 | 
            +
            - test/test_an-install_cli.rb
         | 
| 132 | 
            +
            - test/test_an-uninstall_cli.rb
         | 
| 122 133 | 
             
            - test/test_autotest_notification.rb
         | 
| 123 134 | 
             
            - test/test_helper.rb
         |