graffle 0.1.0 → 0.1.7

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.
Files changed (38) hide show
  1. data/History.txt +5 -0
  2. data/LICENSE.txt +2 -2
  3. data/Manifest.txt +7 -15
  4. data/Rakefile +5 -10
  5. data/Rakefile.hoe +9 -4
  6. data/bin/bin-skeleton +1 -11
  7. data/graffle.tmproj +2 -310
  8. data/lib/graffle/stereotypes.rb +32 -19
  9. data/lib/graffle/styled-text-reader.rb +0 -5
  10. data/lib/graffle/version.rb +1 -1
  11. data/lib/grail_test.rb +16 -0
  12. data/lib/grail_test/command-interpreters.rb +78 -0
  13. data/test/grails-tests/commands-from-quoted-args-tests.rb +86 -0
  14. data/test/grails-tests/destinations-tests.rb +19 -0
  15. data/test/grails-tests/do-nothing-commands-tests.rb +18 -0
  16. data/test/grails-tests/graphic-interpreter-tests.rb +70 -0
  17. data/test/grails-tests/translation-testcase.rb +25 -0
  18. data/test/line-graphic-tests.rb +10 -0
  19. data/test/set-standalone-test-paths.rb +4 -1
  20. data/test/shaped-graphic-tests.rb +6 -2
  21. data/test/styled-text-reader-tests.rb +0 -12
  22. data/test/text-tests.rb +9 -5
  23. metadata +25 -20
  24. data/lib/graffle/third-party/s4t-utils.rb +0 -21
  25. data/lib/graffle/third-party/s4t-utils/capturing-globals.rb +0 -78
  26. data/lib/graffle/third-party/s4t-utils/claims.rb +0 -14
  27. data/lib/graffle/third-party/s4t-utils/command-line.rb +0 -15
  28. data/lib/graffle/third-party/s4t-utils/error-handling.rb +0 -20
  29. data/lib/graffle/third-party/s4t-utils/friendly-format.rb +0 -27
  30. data/lib/graffle/third-party/s4t-utils/hacks.rb +0 -32
  31. data/lib/graffle/third-party/s4t-utils/load-path-auto-adjuster.rb +0 -120
  32. data/lib/graffle/third-party/s4t-utils/more-assertions.rb +0 -29
  33. data/lib/graffle/third-party/s4t-utils/os.rb +0 -28
  34. data/lib/graffle/third-party/s4t-utils/rake-task-helpers.rb +0 -75
  35. data/lib/graffle/third-party/s4t-utils/rakefile-common.rb +0 -106
  36. data/lib/graffle/third-party/s4t-utils/svn-file-movement.rb +0 -101
  37. data/lib/graffle/third-party/s4t-utils/test-util.rb +0 -19
  38. data/lib/graffle/third-party/s4t-utils/version.rb +0 -3
@@ -1,29 +0,0 @@
1
- module Test
2
- module Unit
3
-
4
- module Assertions
5
- def assert_true(boolean, message = nil)
6
- assert(boolean, message)
7
- end
8
-
9
- def assert_false(boolean, message = nil)
10
- _wrap_assertion do
11
- assert_block(build_message(message, "<?> should be false or nil.", boolean)) { !boolean }
12
- end
13
- end
14
-
15
- def assert_raise_with_matching_message(exception_class, message, &block)
16
- exception = assert_raise(exception_class, &block)
17
- assert_match(message, exception.message)
18
- end
19
- alias_method :assert_raises_with_matching_message,
20
- :assert_raise_with_matching_message
21
-
22
- def assert_wants_to_exit
23
- assert_raise(SystemExit) do
24
- yield
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,28 +0,0 @@
1
- module S4tUtils
2
-
3
- def self.on_windows?
4
- Config::CONFIG["arch"] =~ /dos|win32/i
5
- end
6
-
7
- # Lifted this from Rubygems, which is released under the
8
- # Ruby license.
9
- def self.find_home # :nodoc:
10
- ['HOME', 'USERPROFILE'].each do |homekey|
11
- return ENV[homekey] if ENV[homekey]
12
- end
13
- if ENV['HOMEDRIVE'] && ENV['HOMEPATH']
14
- return "#{ENV['HOMEDRIVE']}:#{ENV['HOMEPATH']}"
15
- end
16
- begin
17
- File.expand_path("~")
18
- rescue StandardError => ex
19
- if File::ALT_SEPARATOR
20
- "C:/"
21
- else
22
- "/"
23
- end
24
- end
25
- end
26
-
27
-
28
- end
@@ -1,75 +0,0 @@
1
- module S4tUtils
2
-
3
- module_function
4
-
5
- def broaden_test_name(name)
6
- if /test$/ =~ name
7
- "{#{name},#{name}s}"
8
- elsif /tests$/ =~ name
9
- "{#{name[0...-1]},#{name}}"
10
- end
11
- end
12
-
13
- def pending?(test)
14
- /^pending[.-]/ =~ File.basename(test)
15
- end
16
-
17
- def desired_subset(tests,
18
- pendingp = ENV['S4T_ONLY_PENDING_TESTS'] == 'true')
19
- if pendingp
20
- tests
21
- else
22
- tests.reject { | test | pending?(test) }
23
- end
24
- end
25
-
26
- def run_particular_tests(where, which)
27
- Dir.chdir(where) {
28
- test_description = case which
29
- when nil, 'all', 'alltests'
30
- "**/*{tests,test}.rb"
31
- when 'fast'
32
- "**/*-{tests,test}.rb"
33
- when 'slow'
34
- "**/*-{slowtests,slowtest}.rb"
35
- else
36
- which = broaden_test_name(which)
37
- "**/*-#{which}.rb"
38
- end
39
-
40
- tests = desired_subset(Dir.glob(test_description))
41
- tests.each do | testfile |
42
- puts testfile
43
- require testfile
44
- end
45
- }
46
- end
47
-
48
- def increment_version(version_file)
49
- text = IO.read(version_file)
50
- text.gsub!(/Version\s*=\s*'(\d+)\.(\d+)\.(\d+)'/) { | match |
51
- update = "Version = '#{$1}.#{$2}.#{$3.to_i+1}'"
52
- puts update
53
- update
54
- }
55
- File.open(version_file, 'w') do | io |
56
- io.write(text)
57
- end
58
- end
59
-
60
- def generated_taskname(string, prefix="__generated__")
61
- prefix + symbol_safe_name(string)
62
- end
63
-
64
- def update_peer_subtask_name(filesystem_name)
65
- generated_taskname(filesystem_name, "__update_peers_")
66
- end
67
-
68
- def subprocess(args)
69
- Dir.chdir($test_search_root) do
70
- cmd = "ruby -S rake #{$rakefile_local} #{args}" # Windows can't find Rake directly.
71
- system(cmd)
72
- raise "#{cmd} failed" unless $?==0
73
- end
74
- end
75
- end
@@ -1,106 +0,0 @@
1
- # This is the part of a Rakefile that is common to all those that
2
- # follow the Scripting for Testers format.
3
-
4
- require 'pathname'
5
-
6
- desc 'The default is "rake test".'
7
- task 'default' => 'test'
8
-
9
- desc "Run fast and slow tests."
10
- task 'test' => ['fast', 'slow']
11
-
12
- task 'tests' => 'test'
13
- task 'alltests' => 'tests'
14
- task 'all-tests' => 'alltests'
15
-
16
- $test_search_root=Pathname.new(PACKAGE_ROOT)+'test'
17
- $rakefile_local=''
18
- ENV['S4T_ONLY_PENDING_TESTS'] ||= 'false'
19
-
20
- desc "Limit scope of testing to current directory."
21
- task 'local' do
22
- $test_search_root=Pathname.new(Rake.original_dir)
23
- $rakefile_local='local'
24
- end
25
-
26
- desc "Run only pending tests. (They're normally ignored.)"
27
- task 'pending' do
28
- ENV['S4T_ONLY_PENDING_TESTS'] = 'true'
29
- end
30
-
31
- desc "Run fast tests."
32
- task 'fast' do
33
- run_particular_tests($test_search_root, 'fast')
34
- end
35
-
36
- desc "Run slow tests."
37
- task 'slow' do
38
- run_particular_tests($test_search_root, 'slow')
39
- end
40
-
41
- desc "Increment the most minor part of the version number."
42
- task 'increment-version' do
43
- increment_version("lib/#{MyFileSystemName}/version.rb")
44
- end
45
-
46
- desc 'Commit entire tree, popping up $EDITOR for comments.'
47
- task 'commit' => 'all-tests-in-a-subprocess' do
48
- if SvnFileTransfer.under_svn_control?("./Rakefile")
49
- puts `svn commit`
50
- else
51
- puts "-> note: not under version control"
52
- end
53
- end
54
-
55
- desc 'Update peer packages that use this one.'
56
- task 'update-peers'
57
-
58
- (ENV["S4T_PROJECT_HOLDERS"] || "..").split.each do | holder |
59
- Dir.glob("#{holder}/*/lib/*/third-party/#{MyFileSystemName}").each do | peer |
60
- dest = Pathname.new(peer).parent
61
- taskname = update_peer_subtask_name(dest.parent.basename)
62
- task 'update-peers' => taskname
63
- task taskname do
64
- SvnFileTransfer.transfer_dir(Pathname.new('lib'), dest, :keep_others)
65
- end
66
- end
67
- end
68
-
69
- desc "Install into peer directory, named with peer=NAME."
70
- task 'install-into' do
71
- peer = ENV['peer']
72
- third_party = Pathname.new("../#{peer}/lib/#{peer}/third-party")
73
- if File.exist?(third_party)
74
- SvnFileTransfer.transfer_dir(Pathname.new('lib'), third_party,
75
- :keep_others)
76
- else
77
- raise "No such peer: '#{peer}'"
78
- end
79
- end
80
-
81
-
82
- desc "Test, increment version, commit, and update peers."
83
- task 'move-on' => [
84
- 'confirm', 'all-tests-in-a-subprocess', 'increment-version',
85
- 'commit', 'update-peers'
86
- ]
87
-
88
- desc "Install (with setup.rb) after running tests."
89
- task 'install' => 'all-tests-in-a-subprocess' do
90
- system('ruby setup.rb all')
91
- end
92
-
93
- task 'confirm' do
94
- exit(1) unless ask('y', "Continue?") == 'y'
95
- end
96
-
97
- task 'all-tests-in-a-subprocess' do
98
- subprocess('alltests')
99
- end
100
-
101
- require 'rake/rdoctask'
102
- Rake::RDocTask.new do |rd|
103
- rd.main = MyModuleName
104
- rd.rdoc_dir = "doc/html"
105
- rd.rdoc_files = MyRdocFiles
106
- end
@@ -1,101 +0,0 @@
1
- require 'fileutils'
2
- require 'pathname'
3
-
4
- module S4tUtils
5
-
6
- # This transfers, taking care not to copy Subversion directories
7
- # and other things not of interest.
8
-
9
- # These are not particularly well tested. Use at your own risk.
10
-
11
- module SvnFileTransfer
12
- include FileUtils
13
-
14
- module_function
15
-
16
- def transfer_dir(src, dest, leave_extras=false)
17
- # puts "transfer dir #{src} to #{dest}."
18
- unless File.exist?(dest)
19
- svn_mkdir dest
20
- end
21
- src_files = interesting(Dir.chdir(src) { Dir.glob('*') }).sort
22
- dest_files = interesting(Dir.chdir(dest) { Dir.glob('*')}).sort
23
- # puts "src_files = #{src_files.inspect}"
24
- # puts "dest_files = #{dest_files.inspect}"
25
- src_files.each do | src_file |
26
- if dest_files.delete(src_file)
27
- update_existing_destination(src, dest, src_file)
28
- else
29
- create_and_transfer(src, dest, src_file)
30
- end
31
- end
32
- unless leave_extras
33
- dest_files.each do | dest_file |
34
- svn_rm(dest+dest_file)
35
- end
36
- end
37
- end
38
-
39
- def update_existing_destination(src, dest, common_name)
40
- src = src+common_name
41
- dest = dest+common_name
42
- user_claims(File.directory?(src) == File.directory?(dest)) {
43
- "#{src} is a different type of file than #{dest}."
44
- }
45
- if File.directory?(src)
46
- transfer_dir(src, dest)
47
- elsif not uptodate?(dest, [src])
48
- cp(src, dest, :verbose=>true)
49
- end
50
- end
51
-
52
- def create_and_transfer(src, dest, new_name)
53
- src = src+new_name
54
- dest = dest+new_name
55
- if File.directory?(src)
56
- transfer_dir(src, dest)
57
- else
58
- cp(src, dest, :verbose=>true)
59
- svn_add(dest)
60
- end
61
- end
62
-
63
- def under_svn_control?(pathname)
64
- File.exist?(Pathname.new(pathname).parent + '.svn')
65
- end
66
-
67
- def svn_cmd(cmd, pathname)
68
- cmd = "svn #{cmd} #{pathname}"
69
- puts cmd
70
- system(cmd)
71
- exit if $? != 0
72
- end
73
-
74
- def svn_rm(pathname)
75
- svn_cmd('rm --force', pathname) if under_svn_control?(pathname)
76
- rm_rf pathname
77
- end
78
-
79
- def svn_add(pathname)
80
- svn_cmd('add', pathname) if under_svn_control?(pathname)
81
- end
82
-
83
- def svn_mkdir(pathname)
84
- if under_svn_control?(pathname)
85
- svn_cmd('mkdir', pathname)
86
- else
87
- mkdir pathname
88
- end
89
- end
90
-
91
- def interesting(basenames)
92
- basenames.reject do | basename |
93
- basename[0,1] == '.' or
94
- basename =~ /^\#.*\#$/ or
95
- basename =~ /.*~$/ or
96
- basename == 'third-party'
97
- end
98
- end
99
- end
100
-
101
- end
@@ -1,19 +0,0 @@
1
-
2
- module S4tUtils
3
- module TestUtil
4
-
5
- module_function
6
-
7
- def script(name)
8
- File.join(PACKAGE_ROOT, 'bin', name)
9
- end
10
-
11
- def test(filename)
12
- File.join(PACKAGE_ROOT, 'test', filename)
13
- end
14
-
15
- def test_data(filename)
16
- File.join(PACKAGE_ROOT, 'test', 'data', filename)
17
- end
18
- end
19
- end
@@ -1,3 +0,0 @@
1
- module S4tUtils
2
- Version = '0.2.0'
3
- end