tool-shed 0.0.4
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/Gemfile +9 -0
- data/LICENSE +20 -0
- data/README.md +52 -0
- data/bin/as-asset-detector +16 -0
- data/bin/as-class-detector +16 -0
- data/bin/as-docp +16 -0
- data/bin/as-manifest +16 -0
- data/bin/as-style-detector +16 -0
- data/coverage/unit/index.html +330 -0
- data/coverage/unit/jquery-1.3.2.min.js +19 -0
- data/coverage/unit/jquery.tablesorter.min.js +15 -0
- data/coverage/unit/lib-hel-asdoc_package_rb.html +447 -0
- data/coverage/unit/lib-hel-manifest_rb.html +555 -0
- data/coverage/unit/lib-hel-opts-asdoc_package_opts_rb.html +195 -0
- data/coverage/unit/lib-hel-opts-manifest_opts_rb.html +195 -0
- data/coverage/unit/lib-hel-opts-tool_opts_rb.html +531 -0
- data/coverage/unit/lib-hel-opts-unused_class_opts_rb.html +207 -0
- data/coverage/unit/lib-hel-opts-unused_style_opts_rb.html +201 -0
- data/coverage/unit/lib-hel-project_tools_rb.html +423 -0
- data/coverage/unit/lib-hel-search_rb.html +363 -0
- data/coverage/unit/lib-hel-stripper_rb.html +357 -0
- data/coverage/unit/lib-hel-tool_rb.html +423 -0
- data/coverage/unit/lib-hel-unused_class_rb.html +675 -0
- data/coverage/unit/lib-hel-unused_style_rb.html +747 -0
- data/coverage/unit/lib-hel-version_rb.html +135 -0
- data/coverage/unit/lib-hel_tools_rb.html +165 -0
- data/coverage/unit/print.css +12 -0
- data/coverage/unit/rcov.js +42 -0
- data/coverage/unit/screen.css +270 -0
- data/coverage.data +0 -0
- data/lib/shed/asdoc_package.rb +64 -0
- data/lib/shed/manifest.rb +82 -0
- data/lib/shed/opts/asdoc_package_opts.rb +22 -0
- data/lib/shed/opts/manifest_opts.rb +22 -0
- data/lib/shed/opts/tool_opts.rb +114 -0
- data/lib/shed/opts/unused_asset_opts.rb +24 -0
- data/lib/shed/opts/unused_class_opts.rb +24 -0
- data/lib/shed/opts/unused_style_opts.rb +23 -0
- data/lib/shed/project_tools.rb +60 -0
- data/lib/shed/search.rb +50 -0
- data/lib/shed/stripper.rb +49 -0
- data/lib/shed/tool.rb +60 -0
- data/lib/shed/unused_asset.rb +68 -0
- data/lib/shed/unused_class.rb +102 -0
- data/lib/shed/unused_style.rb +114 -0
- data/lib/shed/version.rb +12 -0
- data/lib/tool_shed.rb +19 -0
- data/rakefile.rb +109 -0
- data/rdoc/classes/ASDocPackage.html +281 -0
- data/rdoc/classes/ASDocPackageOpts.html +204 -0
- data/rdoc/classes/Manifest.html +323 -0
- data/rdoc/classes/ManifestOpts.html +205 -0
- data/rdoc/classes/ProjectTools.html +302 -0
- data/rdoc/classes/Search.html +203 -0
- data/rdoc/classes/Stripper.html +223 -0
- data/rdoc/classes/Tool.html +313 -0
- data/rdoc/classes/ToolOpts.html +297 -0
- data/rdoc/classes/UnusedClass.html +258 -0
- data/rdoc/classes/UnusedClassOpts.html +206 -0
- data/rdoc/classes/UnusedStyle.html +277 -0
- data/rdoc/classes/UnusedStyleOpts.html +205 -0
- data/rdoc/created.rid +1 -0
- data/rdoc/files/LICENSE.html +129 -0
- data/rdoc/files/README_md.html +138 -0
- data/rdoc/files/lib/hel/asdoc_package_rb.html +107 -0
- data/rdoc/files/lib/hel/manifest_rb.html +107 -0
- data/rdoc/files/lib/hel/opts/asdoc_package_opts_rb.html +107 -0
- data/rdoc/files/lib/hel/opts/manifest_opts_rb.html +107 -0
- data/rdoc/files/lib/hel/opts/tool_opts_rb.html +114 -0
- data/rdoc/files/lib/hel/opts/unused_class_opts_rb.html +107 -0
- data/rdoc/files/lib/hel/opts/unused_style_opts_rb.html +107 -0
- data/rdoc/files/lib/hel/project_tools_rb.html +107 -0
- data/rdoc/files/lib/hel/search_rb.html +114 -0
- data/rdoc/files/lib/hel/stripper_rb.html +107 -0
- data/rdoc/files/lib/hel/tool_rb.html +107 -0
- data/rdoc/files/lib/hel/unused_class_rb.html +107 -0
- data/rdoc/files/lib/hel/unused_style_rb.html +107 -0
- data/rdoc/files/lib/hel/version_rb.html +107 -0
- data/rdoc/files/lib/hel_tools_rb.html +127 -0
- data/rdoc/fr_class_index.html +39 -0
- data/rdoc/fr_file_index.html +43 -0
- data/rdoc/fr_method_index.html +75 -0
- data/rdoc/index.html +24 -0
- data/rdoc/rdoc-style.css +208 -0
- data/test/fixtures/search/App.mxml +0 -0
- data/test/fixtures/search/hide/Hidden.as +0 -0
- data/test/fixtures/search/org/helvector/Main.as +0 -0
- data/test/fixtures/src/org/helvector/Helvector.as +16 -0
- data/test/fixtures/src/org/helvector/one/HelOne.as +14 -0
- data/test/fixtures/src/org/helvector/one/HelOneTwo.mxml +0 -0
- data/test/fixtures/src/org/helvector/one/package.asdoc +1 -0
- data/test/fixtures/src/org/helvector/package.asdoc +1 -0
- data/test/fixtures/src/org/helvector/three/HelThree.as +14 -0
- data/test/fixtures/src/org/helvector/three/package.asdoc +1 -0
- data/test/fixtures/src/org/helvector/two/HelTwo.as +14 -0
- data/test/fixtures/src/org/helvector/two/package.asdoc +1 -0
- data/test/fixtures/unused-asset/assets/css/referenced.css +0 -0
- data/test/fixtures/unused-asset/assets/css/un-referenced.css +0 -0
- data/test/fixtures/unused-asset/assets/fonts/referenced.otf +0 -0
- data/test/fixtures/unused-asset/assets/fonts/un-referenced.otf +0 -0
- data/test/fixtures/unused-asset/assets/img/referenced.jpg +0 -0
- data/test/fixtures/unused-asset/assets/img/referenced.png +0 -0
- data/test/fixtures/unused-asset/assets/img/un-referenced.jpg +0 -0
- data/test/fixtures/unused-asset/assets/img/un-referenced.png +0 -0
- data/test/fixtures/unused-asset/src/org/helvector/ToolShed.as +30 -0
- data/test/fixtures/unused-cla/link-report.xml +17 -0
- data/test/fixtures/unused-cla/manifest.xml +6 -0
- data/test/fixtures/unused-cla/src/Unused.as +0 -0
- data/test/fixtures/unused-cla/src/Used.as +0 -0
- data/test/fixtures/unused-css/css/styles.css +2 -0
- data/test/fixtures/unused-css/css-multiple/more.css +2 -0
- data/test/fixtures/unused-css/css-multiple/styles.css +2 -0
- data/test/fixtures/unused-css/css-with-comments/commented.css +6 -0
- data/test/fixtures/unused-css/src/CSSApp.mxml +5 -0
- data/test/test_helper.rb +9 -0
- data/test/unit/test_asdoc_package.rb +72 -0
- data/test/unit/test_asdoc_package_opts.rb +28 -0
- data/test/unit/test_manifest.rb +53 -0
- data/test/unit/test_manifest_opts.rb +28 -0
- data/test/unit/test_search.rb +67 -0
- data/test/unit/test_source_tools.rb +97 -0
- data/test/unit/test_stripper.rb +56 -0
- data/test/unit/test_tool.rb +73 -0
- data/test/unit/test_tool_opts.rb +81 -0
- data/test/unit/test_unused_asset.rb +59 -0
- data/test/unit/test_unused_asset_opts.rb +32 -0
- data/test/unit/test_unused_class.rb +50 -0
- data/test/unit/test_unused_class_opts.rb +32 -0
- data/test/unit/test_unused_style.rb +103 -0
- data/test/unit/test_unused_style_opts.rb +31 -0
- data/tool-shed-0.0.3.gem +0 -0
- data/tool-shed.gemspec +41 -0
- metadata +265 -0
data/rdoc/rdoc-style.css
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
|
|
2
|
+
body {
|
|
3
|
+
font-family: Verdana,Arial,Helvetica,sans-serif;
|
|
4
|
+
font-size: 90%;
|
|
5
|
+
margin: 0;
|
|
6
|
+
margin-left: 40px;
|
|
7
|
+
padding: 0;
|
|
8
|
+
background: white;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
|
|
12
|
+
h1 { font-size: 150%; }
|
|
13
|
+
h2,h3,h4 { margin-top: 1em; }
|
|
14
|
+
|
|
15
|
+
a { background: #eef; color: #039; text-decoration: none; }
|
|
16
|
+
a:hover { background: #039; color: #eef; }
|
|
17
|
+
|
|
18
|
+
/* Override the base stylesheet's Anchor inside a table cell */
|
|
19
|
+
td > a {
|
|
20
|
+
background: transparent;
|
|
21
|
+
color: #039;
|
|
22
|
+
text-decoration: none;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* and inside a section title */
|
|
26
|
+
.section-title > a {
|
|
27
|
+
background: transparent;
|
|
28
|
+
color: #eee;
|
|
29
|
+
text-decoration: none;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* === Structural elements =================================== */
|
|
33
|
+
|
|
34
|
+
div#index {
|
|
35
|
+
margin: 0;
|
|
36
|
+
margin-left: -40px;
|
|
37
|
+
padding: 0;
|
|
38
|
+
font-size: 90%;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
div#index a {
|
|
43
|
+
margin-left: 0.7em;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
div#index .section-bar {
|
|
47
|
+
margin-left: 0px;
|
|
48
|
+
padding-left: 0.7em;
|
|
49
|
+
background: #ccc;
|
|
50
|
+
font-size: small;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
div#classHeader, div#fileHeader {
|
|
55
|
+
width: auto;
|
|
56
|
+
color: white;
|
|
57
|
+
padding: 0.5em 1.5em 0.5em 1.5em;
|
|
58
|
+
margin: 0;
|
|
59
|
+
margin-left: -40px;
|
|
60
|
+
border-bottom: 3px solid #006;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
div#classHeader a, div#fileHeader a {
|
|
64
|
+
background: inherit;
|
|
65
|
+
color: white;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
div#classHeader td, div#fileHeader td {
|
|
69
|
+
background: inherit;
|
|
70
|
+
color: white;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
div#fileHeader {
|
|
75
|
+
background: #057;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
div#classHeader {
|
|
79
|
+
background: #048;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
.class-name-in-header {
|
|
84
|
+
font-size: 180%;
|
|
85
|
+
font-weight: bold;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
div#bodyContent {
|
|
90
|
+
padding: 0 1.5em 0 1.5em;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
div#description {
|
|
94
|
+
padding: 0.5em 1.5em;
|
|
95
|
+
background: #efefef;
|
|
96
|
+
border: 1px dotted #999;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
div#description h1,h2,h3,h4,h5,h6 {
|
|
100
|
+
color: #125;;
|
|
101
|
+
background: transparent;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
div#validator-badges {
|
|
105
|
+
text-align: center;
|
|
106
|
+
}
|
|
107
|
+
div#validator-badges img { border: 0; }
|
|
108
|
+
|
|
109
|
+
div#copyright {
|
|
110
|
+
color: #333;
|
|
111
|
+
background: #efefef;
|
|
112
|
+
font: 0.75em sans-serif;
|
|
113
|
+
margin-top: 5em;
|
|
114
|
+
margin-bottom: 0;
|
|
115
|
+
padding: 0.5em 2em;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
/* === Classes =================================== */
|
|
120
|
+
|
|
121
|
+
table.header-table {
|
|
122
|
+
color: white;
|
|
123
|
+
font-size: small;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.type-note {
|
|
127
|
+
font-size: small;
|
|
128
|
+
color: #DEDEDE;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.xxsection-bar {
|
|
132
|
+
background: #eee;
|
|
133
|
+
color: #333;
|
|
134
|
+
padding: 3px;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.section-bar {
|
|
138
|
+
color: #333;
|
|
139
|
+
border-bottom: 1px solid #999;
|
|
140
|
+
margin-left: -20px;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
.section-title {
|
|
145
|
+
background: #79a;
|
|
146
|
+
color: #eee;
|
|
147
|
+
padding: 3px;
|
|
148
|
+
margin-top: 2em;
|
|
149
|
+
margin-left: -30px;
|
|
150
|
+
border: 1px solid #999;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.top-aligned-row { vertical-align: top }
|
|
154
|
+
.bottom-aligned-row { vertical-align: bottom }
|
|
155
|
+
|
|
156
|
+
/* --- Context section classes ----------------------- */
|
|
157
|
+
|
|
158
|
+
.context-row { }
|
|
159
|
+
.context-item-name { font-family: monospace; font-weight: bold; color: black; }
|
|
160
|
+
.context-item-value { font-size: small; color: #448; }
|
|
161
|
+
.context-item-desc { color: #333; padding-left: 2em; }
|
|
162
|
+
|
|
163
|
+
/* --- Method classes -------------------------- */
|
|
164
|
+
.method-detail {
|
|
165
|
+
background: #efefef;
|
|
166
|
+
padding: 0;
|
|
167
|
+
margin-top: 0.5em;
|
|
168
|
+
margin-bottom: 1em;
|
|
169
|
+
border: 1px dotted #ccc;
|
|
170
|
+
}
|
|
171
|
+
.method-heading {
|
|
172
|
+
color: black;
|
|
173
|
+
background: #ccc;
|
|
174
|
+
border-bottom: 1px solid #666;
|
|
175
|
+
padding: 0.2em 0.5em 0 0.5em;
|
|
176
|
+
}
|
|
177
|
+
.method-signature { color: black; background: inherit; }
|
|
178
|
+
.method-name { font-weight: bold; }
|
|
179
|
+
.method-args { font-style: italic; }
|
|
180
|
+
.method-description { padding: 0 0.5em 0 0.5em; }
|
|
181
|
+
|
|
182
|
+
/* --- Source code sections -------------------- */
|
|
183
|
+
|
|
184
|
+
a.source-toggle { font-size: 90%; }
|
|
185
|
+
div.method-source-code {
|
|
186
|
+
background: #262626;
|
|
187
|
+
color: #ffdead;
|
|
188
|
+
margin: 1em;
|
|
189
|
+
padding: 0.5em;
|
|
190
|
+
border: 1px dashed #999;
|
|
191
|
+
overflow: hidden;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
div.method-source-code pre { color: #ffdead; overflow: hidden; }
|
|
195
|
+
|
|
196
|
+
/* --- Ruby keyword styles --------------------- */
|
|
197
|
+
|
|
198
|
+
.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
|
|
199
|
+
|
|
200
|
+
.ruby-constant { color: #7fffd4; background: transparent; }
|
|
201
|
+
.ruby-keyword { color: #00ffff; background: transparent; }
|
|
202
|
+
.ruby-ivar { color: #eedd82; background: transparent; }
|
|
203
|
+
.ruby-operator { color: #00ffee; background: transparent; }
|
|
204
|
+
.ruby-identifier { color: #ffdead; background: transparent; }
|
|
205
|
+
.ruby-node { color: #ffa07a; background: transparent; }
|
|
206
|
+
.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
|
|
207
|
+
.ruby-regexp { color: #ffa07a; background: transparent; }
|
|
208
|
+
.ruby-value { color: #7fffd4; background: transparent; }
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Package One
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Package
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Package Three
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Package Two
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//AS3///////////////////////////////////////////////////////////////////////////
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2010 the original author or authors.
|
|
4
|
+
//
|
|
5
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
6
|
+
|
|
7
|
+
package org.helvector
|
|
8
|
+
{
|
|
9
|
+
|
|
10
|
+
public class ToolShed extends Object
|
|
11
|
+
{
|
|
12
|
+
|
|
13
|
+
public function ToolShed()
|
|
14
|
+
{
|
|
15
|
+
super();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
[Embed(source='/../assets/fonts/referenced.otf', fontFamily='RaRa')]
|
|
19
|
+
private var fontEg:Class;
|
|
20
|
+
|
|
21
|
+
[Embed(source='/../assets/img/referenced.jpg')]
|
|
22
|
+
private var jpgEg:Class;
|
|
23
|
+
|
|
24
|
+
[Embed(source='/../assets/img/referenced.png')]
|
|
25
|
+
private var pngEG:Class
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<report>
|
|
2
|
+
<scripts>
|
|
3
|
+
<script name="/Users/simon/ipd/electra/src/uk/co/bbc/electra/views/settingsview/AboutBBCDesktop.mxml" mod="1282818220809" size="1360" optimizedsize="1236">
|
|
4
|
+
<def id="uk.co.bbc.electra.views.settingsview.AboutBBCDesktop" />
|
|
5
|
+
<pre id="mx.binding:IWatcherSetupUtil" />
|
|
6
|
+
<pre id="flash.display:Sprite" />
|
|
7
|
+
</script>
|
|
8
|
+
<script name="/Users/simon/ipd/electra/src/uk/co/bbc/electra/views/components/AboutWindow.mxml" mod="1280142913000" size="4461" optimizedsize="4268">
|
|
9
|
+
<def id="uk.co.bbc.electra.views.components:AboutWindow" />
|
|
10
|
+
<pre id="flash.events:IEventDispatcher" />
|
|
11
|
+
</script>
|
|
12
|
+
</scripts>
|
|
13
|
+
<external-defs>
|
|
14
|
+
</external-defs>
|
|
15
|
+
</report>
|
|
16
|
+
|
|
17
|
+
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version='1.0'?>
|
|
2
|
+
<componentPackage>
|
|
3
|
+
<component id="AboutBBCDesktop" class="uk.co.bbc.electra.views.settingsview.AboutBBCDesktop" />
|
|
4
|
+
<component id="AboutWindow" class="uk.co.bbc.electra.views.components.AboutWindow" />
|
|
5
|
+
<component id="UnusedClass" class="uk.co.bbc.electra.views.components.UnusedClass" />
|
|
6
|
+
</componentPackage>
|
|
File without changes
|
|
File without changes
|
data/test/test_helper.rb
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require File.join(File.dirname(__FILE__), "/../test_helper")
|
|
4
|
+
|
|
5
|
+
class ASDocPackageTest < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
context "An ASDdoc Package Tool" do
|
|
8
|
+
|
|
9
|
+
setup do
|
|
10
|
+
@out = '/tmp/asdoc-package-tool-test-output.xml'
|
|
11
|
+
src = File.expand_path(File.dirname(__FILE__)+ "/../fixtures/src")
|
|
12
|
+
opts = ASDocPackageOpts.parse ['-s', src,'-o', @out, '--silent']
|
|
13
|
+
@pack = ASDocPackage.new(opts)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
teardown do
|
|
17
|
+
File.delete(@out)
|
|
18
|
+
@out = nil
|
|
19
|
+
@pack = nil
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
should "find .asdoc files in src directories" do
|
|
23
|
+
assert_not_nil(@pack.xml)
|
|
24
|
+
assert_equal(false, @pack.xml.empty?)
|
|
25
|
+
|
|
26
|
+
assert_match(/<flex-config>/, @pack.xml)
|
|
27
|
+
assert_match(/Package One/, @pack.xml)
|
|
28
|
+
assert_match(/Package Two/, @pack.xml)
|
|
29
|
+
assert_match(/Package Three/, @pack.xml)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
should "output the results to a file" do
|
|
33
|
+
assert File.exist? @out
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
context "A ASDocPackage tool should skip specified directories" do
|
|
39
|
+
setup do
|
|
40
|
+
src = File.expand_path(File.dirname(__FILE__)+ "/../fixtures/src")
|
|
41
|
+
opts = { :verbose => true,
|
|
42
|
+
:src => src,
|
|
43
|
+
:output => '/tmp/asdoc-package-tool-test-output.xml',
|
|
44
|
+
:excludes => ['one'],
|
|
45
|
+
:silent => true }
|
|
46
|
+
|
|
47
|
+
@pack = ASDocPackage.new(opts)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
should "not search excluded directories" do
|
|
51
|
+
assert_not_nil(@pack.xml)
|
|
52
|
+
assert_equal(false, @pack.xml.empty?)
|
|
53
|
+
p = @pack.xml =~ /Package One/ ? true : false
|
|
54
|
+
assert_equal(false,p)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
context "A asdoc package builder tool invoked on a empty directory" do
|
|
59
|
+
setup do
|
|
60
|
+
@output = '/tmp/as-manifest-tool-test.xml'
|
|
61
|
+
src = File.expand_path(File.dirname(__FILE__)+ "/../fixtures/empty")
|
|
62
|
+
opts = ASDocPackageOpts.parse ['-s', src,'-o', @output]
|
|
63
|
+
@out = StringIO.new
|
|
64
|
+
@manf = ASDocPackage.new(opts,@out)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
should "not find any files" do
|
|
68
|
+
assert_match(/No.*files found\./, @out.string)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require File.join(File.dirname(__FILE__), "/../test_helper")
|
|
4
|
+
|
|
5
|
+
class ASDocPackageOptsTest < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
context "A AsDoc Package Tool Options Parser" do
|
|
8
|
+
|
|
9
|
+
should "return default hash if no arguments are specified" do
|
|
10
|
+
args = []
|
|
11
|
+
opts = ASDocPackageOpts.parse(args)
|
|
12
|
+
|
|
13
|
+
assert_equal 'package-asdoc.xml', opts[:output]
|
|
14
|
+
assert_equal '.', opts[:src]
|
|
15
|
+
assert_equal false, opts[:verbose]
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
should "display a name" do
|
|
19
|
+
assert_match(/\w+/, ASDocPackageOpts.name)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
should "describe itself" do
|
|
23
|
+
assert_match(/\w+/, ASDocPackageOpts.description)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require File.join(File.dirname(__FILE__), "/../test_helper")
|
|
4
|
+
|
|
5
|
+
class ManifestTest < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
context "A manifest builder tool" do
|
|
8
|
+
|
|
9
|
+
setup do
|
|
10
|
+
@output = '/tmp/as-manifest-tool-test.xml'
|
|
11
|
+
src = File.expand_path(File.dirname(__FILE__)+ "/../fixtures/src")
|
|
12
|
+
opts = ManifestOpts.parse ['-s', src,'-o', @output, '--silent']
|
|
13
|
+
@manf = Manifest.new(opts)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
teardown do
|
|
17
|
+
File.delete @output
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
should "find all actionscript and .mxml files in src tree" do
|
|
21
|
+
|
|
22
|
+
assert_equal(false, @manf.xml.empty?)
|
|
23
|
+
assert((@manf.components.length > 1))
|
|
24
|
+
assert((@manf.components.length == 5))
|
|
25
|
+
|
|
26
|
+
assert_match(/org\.helvector\.one\.HelOneTwo/, @manf.xml)
|
|
27
|
+
assert_match(/org\.helvector\.one\.HelOne/, @manf.xml)
|
|
28
|
+
assert_match(/org\.helvector\.three\.HelThree/, @manf.xml)
|
|
29
|
+
assert_match(/org\.helvector\.Helvector/, @manf.xml)
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
should "write the results to disk" do
|
|
34
|
+
assert File.exist?(@output)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
context "A manifest builder tool invoked on a empty directory" do
|
|
40
|
+
setup do
|
|
41
|
+
@output = '/tmp/as-manifest-tool-test.xml'
|
|
42
|
+
src = File.expand_path(File.dirname(__FILE__)+ "/../fixtures/empty")
|
|
43
|
+
opts = ManifestOpts.parse ['-s', src,'-o', @output]
|
|
44
|
+
@out = StringIO.new
|
|
45
|
+
@manf = Manifest.new(opts,@out)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
should "not find any files" do
|
|
49
|
+
assert_match(/No.*files found\./, @out.string)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require File.join(File.dirname(__FILE__), "/../test_helper")
|
|
4
|
+
|
|
5
|
+
class ManifestOptTest < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
context "A Manifest Tool Options Parser" do
|
|
8
|
+
|
|
9
|
+
should "return default hash if no arguments are specified" do
|
|
10
|
+
args = []
|
|
11
|
+
opts = ManifestOpts.parse(args)
|
|
12
|
+
|
|
13
|
+
assert_equal 'manifest.xml', opts[:output]
|
|
14
|
+
assert_equal '.', opts[:src]
|
|
15
|
+
assert_equal false, opts[:verbose]
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
should "display a name" do
|
|
19
|
+
assert_match(/\w+/, ManifestOpts.name)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
should "describe itself" do
|
|
23
|
+
assert_match(/\w+/, ManifestOpts.description)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require File.join(File.dirname(__FILE__), "/../test_helper")
|
|
4
|
+
|
|
5
|
+
class SearchTest < Test::Unit::TestCase
|
|
6
|
+
|
|
7
|
+
context "A file search utility" do
|
|
8
|
+
|
|
9
|
+
setup do
|
|
10
|
+
@path = File.expand_path(File.dirname(__FILE__)+ "/../fixtures/search")
|
|
11
|
+
@found = []
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
should "find all files with the specified extensions" do
|
|
15
|
+
|
|
16
|
+
Search.find_all(/\.(as|mxml)$/,@path) { |f| @found << f }
|
|
17
|
+
|
|
18
|
+
assert_equal(3, @found.length)
|
|
19
|
+
assert_match(/App\.mxml/, @found.to_s)
|
|
20
|
+
assert_match(/Main\.as/, @found.to_s)
|
|
21
|
+
assert_match(/Hidden\.as/, @found.to_s)
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
should "find only find files with a specific extension" do
|
|
26
|
+
|
|
27
|
+
Search.find_all(/\.as$/,@path) { |f| @found << f }
|
|
28
|
+
|
|
29
|
+
assert_equal(2, @found.length)
|
|
30
|
+
assert_match(/Main\.as/, @found.to_s)
|
|
31
|
+
assert_match(/Hidden\.as/, @found.to_s)
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
should "not search directories specified in the exclude list" do
|
|
36
|
+
|
|
37
|
+
Search.find_all(/\.(as|mxml)$/,@path,['hide']) { |f| @found << f }
|
|
38
|
+
|
|
39
|
+
assert_equal(2, @found.length)
|
|
40
|
+
assert_match(/App\.mxml/, @found.to_s)
|
|
41
|
+
assert_match(/Main\.as/, @found.to_s)
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
context "A empty directory search" do
|
|
48
|
+
setup do
|
|
49
|
+
@path = File.expand_path(File.dirname(__FILE__)+ "/../fixtures/empty")
|
|
50
|
+
@found = []
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
should "list all directories in a sub tree that are empty" do
|
|
54
|
+
Search.for_empties(@path) { |f| @found << f }
|
|
55
|
+
assert_equal(4, @found.length)
|
|
56
|
+
assert_match(/(b|x|z)org/, @found.to_s)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
should "list all directories in a sub tree that are empty but skipping specified exclusions" do
|
|
60
|
+
Search.for_empties(@path, ['org']) { |f| @found << f }
|
|
61
|
+
assert_equal(3, @found.length)
|
|
62
|
+
assert_match(/(b|x|z)org/, @found.to_s)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|