asunit4 4.2.1.pre → 4.2.2.pre

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,5 +1,9 @@
1
1
  source :rubygems
2
2
 
3
- gem 'sprout'
4
- #gem 'as3', '>= 1.0.pre'
3
+ gem 'flashsdk', '>= 1.0.2.pre'
4
+
5
+ group :development do
6
+ gem "shoulda"
7
+ gem "mocha"
8
+ end
5
9
 
data/asunit4.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
- require File.dirname(__FILE__) + '/asunit4'
3
+ require File.join(File.dirname(__FILE__), 'sprout', 'lib', 'asunit4')
4
4
  require 'rake'
5
5
 
6
6
  Gem::Specification.new do |s|
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.description = "AsUnit is the only ActionScript unit test framework that support every development and runtime environment that is currently available. This includes Flex 2, 3, 4, AIR 1 and 2, Flash Lite, and of course the Flash Authoring tool"
15
15
  s.rubyforge_project = "sprout"
16
16
  s.required_rubygems_version = ">= 1.3.6"
17
- s.require_path = "."
17
+ s.require_path = "sprout/lib"
18
18
  s.files = FileList["**/*"].exclude /docs|.DS_Store|generated|.svn|.git|airglobal.swc|airframework.swc/
19
19
  end
20
20
 
Binary file
Binary file
data/bin/AsUnitRunner.swf CHANGED
Binary file
data/rakefile.rb CHANGED
@@ -1,10 +1,8 @@
1
1
  require 'bundler'
2
- Bundler.setup
2
+ Bundler.require
3
3
 
4
- require 'sprout'
5
- sprout 'as3'
6
-
7
- require File.dirname(__FILE__) + '/asunit4'
4
+ require 'rake/clean'
5
+ require File.join(File.dirname(__FILE__), 'sprout', 'lib', 'asunit4')
8
6
 
9
7
  test_input = "AsUnitRunner"
10
8
 
@@ -40,7 +38,7 @@ end
40
38
  # Configure a Test Build:
41
39
 
42
40
  def configure_test_task(t)
43
- t.default_size = '1000 600'
41
+ t.default_size = '1000,600'
44
42
  t.source_path << 'src'
45
43
  t.library_path << 'lib/Reflection.swc'
46
44
  t.debug = true
@@ -54,28 +52,28 @@ end
54
52
  desc "Compile the ActionScript test harness"
55
53
  mxmlc "bin/#{test_input}.swf" do |t|
56
54
  t.input = "test/AsUnitRunner.as"
57
- t.gem_name = 'sprout-flex4sdk-tool'
55
+ t.pkg_name = 'flex4'
58
56
  configure_test_task t
59
57
  end
60
58
 
61
59
  desc "Compile the Flex 3 test harness"
62
60
  mxmlc "bin/Flex3#{test_input}.swf" do |t|
63
61
  t.input = "test/Flex3Runner.mxml"
64
- t.gem_name = 'sprout-flex3sdk-tool'
62
+ t.pkg_name = 'flex3'
65
63
  configure_test_task t
66
64
  end
67
65
 
68
66
  desc "Compile the Flex 4 test harness"
69
67
  mxmlc "bin/Flex4#{test_input}.swf" do |t|
70
68
  t.input = "test/Flex4Runner.mxml"
71
- t.gem_name = 'sprout-flex4sdk-tool'
69
+ t.pkg_name = 'flex4'
72
70
  configure_test_task t
73
71
  end
74
72
 
75
73
  desc "Compile the AIR 2 test harness"
76
74
  mxmlc "bin/AIR2#{test_input}.swf" do |t|
77
75
  t.input = "air/AIR2Runner.mxml"
78
- t.gem_name = 'sprout-flex4sdk-tool'
76
+ t.pkg_name = 'flex4'
79
77
  t.source_path << 'air'
80
78
  t.source_path << 'test'
81
79
  t.library_path << 'lib/airglobal.swc'
@@ -95,12 +93,17 @@ flashplayer :test_flex3 => "bin/Flex3#{test_input}.swf"
95
93
  desc "Compile and run the Flex 4 Harness"
96
94
  flashplayer :test_flex4 => "bin/Flex4#{test_input}.swf"
97
95
 
98
- desc "Compile and run the AIR 2 Harness"
99
- adl :test_air2 => "bin/AIR2#{test_input}.swf" do |t|
100
- t.gem_name = "sprout-flex4sdk-tool"
101
- t.root_directory = Dir.pwd
102
- t.application_descriptor = "air/AIR2RunnerDescriptor.xml"
103
- end
96
+ # TODO: Reactivate this once the new sprout harness
97
+ # support adl / adt
98
+
99
+ task :test_air2
100
+
101
+ #desc "Compile and run the AIR 2 Harness"
102
+ #adl :test_air2 => "bin/AIR2#{test_input}.swf" do |t|
103
+ #t.pkg_name = 'flex4'
104
+ #t.root_directory = Dir.pwd
105
+ #t.application_descriptor = "air/AIR2RunnerDescriptor.xml"
106
+ #end
104
107
 
105
108
  desc "Compile and run the ActionScript 3 test harness"
106
109
  task :test => :test_as3
@@ -108,11 +111,25 @@ task :test => :test_as3
108
111
  desc "Compile and run test harnesses for all supported environments"
109
112
  task :test_all => [:test_as3, :test_flex3, :test_flex4, :test_air2]
110
113
 
114
+ ##########################################
115
+ # Run the Sprout Ruby tests
116
+
117
+ require 'rake/testtask'
118
+
119
+ namespace :sprout do
120
+ desc "Run the Sprout Generator tests"
121
+ Rake::TestTask.new(:test) do |t|
122
+ t.libs << "test/unit"
123
+ t.test_files = FileList["sprout/test/unit/*_test.rb"]
124
+ t.verbose = true
125
+ end
126
+ end
127
+
111
128
  ##########################################
112
129
  # Compile the SWC
113
130
 
114
- def configure_swc_task(t)
115
- t.gem_name = 'sprout-flex4sdk-tool'
131
+ compc "bin/AsUnit-#{AsUnit::VERSION}.swc" do |t|
132
+ t.pkg_name = 'flex4'
116
133
  t.include_sources << 'src'
117
134
  t.source_path << 'src'
118
135
  t.library_path << 'lib/Reflection.swc'
@@ -120,25 +137,34 @@ def configure_swc_task(t)
120
137
  apply_as3_meta_data_args(t)
121
138
  end
122
139
 
123
- compc "bin/AsUnit-#{AsUnit::VERSION}.swc" do |t|
124
- configure_swc_task t
140
+ task :swc => "bin/AsUnit-#{AsUnit::VERSION}.swc"
141
+
142
+ ##########################################
143
+ # Compile the Gem
144
+
145
+ file "bin/asunit4-#{AsUnit::VERSION}.gem" do
146
+ sh "gem build asunit4.gemspec"
147
+ mv "asunit4-#{AsUnit::VERSION}.gem", "bin/"
125
148
  end
126
149
 
127
- task :swc => "bin/AsUnit-#{AsUnit::VERSION}.swc"
150
+ CLEAN.add("bin/*.gem")
151
+
152
+ desc "Build the rubygem"
153
+ task :gem => [:clean, :swc, "bin/asunit4-#{AsUnit::VERSION}.gem"]
128
154
 
129
155
  ##########################################
130
156
  # Generate documentation
131
157
 
132
- desc "Generate documentation"
133
- asdoc 'doc' do |t|
134
- t.appended_args = '-examples-path=examples'
135
- t.source_path << 'src'
136
- t.doc_classes << 'AsUnit'
137
- t.library_path << 'lib/Reflection.swc'
158
+ #desc "Generate documentation"
159
+ #asdoc 'doc' do |t|
160
+ #t.appended_args = '-examples-path=examples'
161
+ #t.source_path << 'src'
162
+ #t.doc_classes << 'AsUnit'
163
+ #t.library_path << 'lib/Reflection.swc'
138
164
 
139
165
  # Not on asdoc?
140
166
  #t.static_link_runtime_shared_libraries = true
141
- end
167
+ #end
142
168
 
143
169
  ##########################################
144
170
  # Package framework ZIPs
@@ -151,6 +177,8 @@ end
151
177
 
152
178
  CLEAN.add '*.gem'
153
179
 
180
+ =begin
181
+ # TODO: Add back when zip task is working
154
182
  archive = "AsUnit-#{AsUnit::VERSION}.zip"
155
183
 
156
184
  zip archive do |t|
@@ -161,6 +189,7 @@ CLEAN.add '*.zip'
161
189
 
162
190
  desc "Create zip archives"
163
191
  task :zip => [:clean, :test_all, archive]
192
+ =end
164
193
 
165
194
  ##########################################
166
195
  # Set up task wrappers
@@ -0,0 +1,17 @@
1
+ module AsUnit4
2
+ class SuiteClassGenerator < FlashSDK::ClassGenerator
3
+ include FlashSDK::FlashHelper
4
+
5
+ def initialize
6
+ super
7
+ self.input = 'AllTests.as'
8
+ end
9
+
10
+ def manifest
11
+ directory test do
12
+ template input, 'AsUnit4SuiteClass.as'
13
+ end
14
+ end
15
+ end
16
+ end
17
+
@@ -0,0 +1,18 @@
1
+ package {
2
+ /**
3
+ * This file has been automatically created using
4
+ * #!/usr/bin/ruby script/generate suite
5
+ * If you modify it and run this script, your
6
+ * modifications will be lost!
7
+ */
8
+ <% test_case_classes.each do |test_case| %>import <%= test_case %>;
9
+ <% end %>
10
+
11
+ [Suite]
12
+ public class AllTests {
13
+ <% test_case_classes.each do |test_case| %>public var <%= test_case.gsub('.', '_') %>:<%= test_case %>;
14
+ <% end %>
15
+
16
+ }
17
+ }
18
+
@@ -0,0 +1,33 @@
1
+ package <%= package_name %> {
2
+
3
+ import asunit.asserts.*;
4
+ import asunit.framework.IAsync;
5
+ import flash.display.Sprite;
6
+
7
+ public class <%= test_class_name %> {
8
+
9
+ [Inject]
10
+ public var async:IAsync;
11
+
12
+ [Inject]
13
+ public var context:Sprite;
14
+
15
+ private var <%= instance_name %>:<%= class_name %>;
16
+
17
+ [Before]
18
+ public function setUp():void {
19
+ <%= instance_name %> = new <%= class_name %>();
20
+ }
21
+
22
+ [After]
23
+ public function tearDown():void {
24
+ <%= instance_name %> = null;
25
+ }
26
+
27
+ [Test]
28
+ public function shouldBeInstantiated():void {
29
+ assertTrue("<%= instance_name %> is <%= class_name %>", <%= instance_name %> is <%= class_name %>);
30
+ }
31
+ }
32
+ }
33
+
@@ -0,0 +1,15 @@
1
+
2
+ module AsUnit4
3
+ class TestClassGenerator < FlashSDK::ClassGenerator
4
+
5
+ def manifest
6
+ directory test_class_directory do
7
+ template "#{test_class_name}.as", 'AsUnit4TestClass.as'
8
+ end
9
+
10
+ generator :suite_class, {:input => 'AllTests.as'}
11
+ end
12
+
13
+ end
14
+ end
15
+
@@ -0,0 +1,23 @@
1
+ require 'flashsdk'
2
+
3
+ $:.unshift File.dirname(__FILE__)
4
+
5
+ module AsUnit
6
+ NAME = 'asunit4'
7
+ VERSION = '4.2.2.pre'
8
+ end
9
+
10
+ require 'asunit4/test_class_generator'
11
+ require 'asunit4/suite_class_generator'
12
+
13
+ Sprout::Specification.new do |s|
14
+ s.name = AsUnit::NAME
15
+ s.version = AsUnit::VERSION
16
+ s.add_file_target do |f|
17
+ f.add_library :swc, File.join('..', '..', 'bin', "AsUnit-#{AsUnit::VERSION}.swc")
18
+ # Removed the src compilation for now, b/c it requires additional compiler
19
+ # configuration - like keep-as3-metadata...
20
+ #f.add_library :src, [File.join(path, 'src'), File.join(path, 'vendor/as3reflection')]
21
+ end
22
+ end
23
+
@@ -0,0 +1,51 @@
1
+ require File.join(File.dirname(__FILE__), "test_helper")
2
+
3
+ class TestClassGeneratorTest < Test::Unit::TestCase
4
+ include SproutTestCase
5
+
6
+ context "a new test class generator" do
7
+
8
+ setup do
9
+ @fixtures = File.join('sprout', 'test', 'fixtures')
10
+ @temp = File.join(fixtures, 'tmp')
11
+ FileUtils.mkdir_p @temp
12
+
13
+ @generator = AsUnit4::TestClassGenerator.new
14
+ @generator.path = @temp
15
+ @generator.logger = StringIO.new
16
+ end
17
+
18
+ teardown do
19
+ remove_file @temp
20
+ end
21
+
22
+ should "work with a simple class" do
23
+ @generator.input = 'utils.MathUtilTest'
24
+ @generator.execute
25
+
26
+ assert_file File.join(@temp, 'test', 'utils', 'MathUtilTest.as') do |content|
27
+ assert_matches /class MathUtilTest \{/, content
28
+ assert_matches /private var .*:MathUtil;/, content
29
+ assert_matches /new MathUtil\(\);/, content
30
+ end
31
+ assert_file File.join(@temp, 'test', 'AllTests.as') do |content|
32
+ assert_matches /import utils.MathUtilTest;/, content
33
+ assert_matches /public var utils_MathUtilTest:utils\.MathUtilTest;/, content
34
+ end
35
+ end
36
+
37
+ should "work without test suffix in the request" do
38
+ @generator.input = 'utils.MathUtil'
39
+ @generator.execute
40
+ assert_file File.join(@temp, 'test', 'utils', 'MathUtilTest.as') do |content|
41
+ assert_matches /class MathUtilTest \{/, content
42
+ assert_matches /private var instance:MathUtil/, content
43
+ end
44
+ assert_file File.join(@temp, 'test', 'AllTests.as') do |content|
45
+ assert_matches /import utils.MathUtilTest/, content
46
+ assert_matches /public var utils_MathUtilTest:utils\.MathUtilTest;/, content
47
+ end
48
+ end
49
+ end
50
+ end
51
+
@@ -0,0 +1,17 @@
1
+ require "rubygems"
2
+ require "bundler"
3
+
4
+ Bundler.require :default, :development
5
+
6
+ # These require statments *must* be in this order:
7
+ # http://bit.ly/bCC0Ew
8
+ # Somewhat surprised they're not being required by Bundler...
9
+ require 'shoulda'
10
+ require 'mocha'
11
+ require 'test/unit'
12
+
13
+ require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'asunit4')
14
+ $:.unshift File.dirname(__FILE__)
15
+
16
+ require 'sprout/test/sprout_test_case'
17
+
@@ -205,12 +205,12 @@ package asunit.runners {
205
205
  }
206
206
 
207
207
  // Calling synchronously is faster but keeps adding to the call stack.
208
- //runNextMethod();
208
+ runNextMethod();
209
209
 
210
210
  // green thread for runNextMethod()
211
211
  // This runs much slower in Flash Player 10.1.
212
- timer.reset();
213
- timer.start();
212
+ //timer.reset();
213
+ //timer.start();
214
214
  }
215
215
 
216
216
  protected function onAsyncMethodCalled(event:TimeoutCommandEvent):void {
@@ -73,7 +73,7 @@ package asunit.core {
73
73
  assertEquals("Total Test Count", testMethodCount, core.bridge.runCount);
74
74
  }
75
75
 
76
- core.addEventListener(Event.COMPLETE, async.add(handler));
76
+ core.addEventListener(Event.COMPLETE, async.add(handler, 200));
77
77
  core.start(Suite);
78
78
  }
79
79
 
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 4
7
7
  - 2
8
- - 1
8
+ - 2
9
9
  - pre
10
- version: 4.2.1.pre
10
+ version: 4.2.2.pre
11
11
  platform: ruby
12
12
  authors:
13
13
  - Luke Bayes
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-06-21 00:00:00 -07:00
20
+ date: 2010-07-05 00:00:00 -07:00
21
21
  default_executable:
22
22
  dependencies: []
23
23
 
@@ -34,8 +34,8 @@ files:
34
34
  - air/AIR2Runner.mxml
35
35
  - air/AIR2RunnerDescriptor.xml
36
36
  - asunit4.gemspec
37
- - asunit4.rb
38
- - bin/AsUnit-4.1.pre.swc
37
+ - bin/AsUnit-4.2.1.pre.swc
38
+ - bin/AsUnit-4.2.2.pre.swc
39
39
  - bin/AsUnitRunner.swf
40
40
  - build.xml
41
41
  - Gemfile
@@ -43,7 +43,13 @@ files:
43
43
  - MIT-LICENSE.txt
44
44
  - rakefile.rb
45
45
  - README.textile
46
- - script/generate
46
+ - sprout/lib/asunit4/suite_class_generator.rb
47
+ - sprout/lib/asunit4/templates/AsUnit4SuiteClass.as
48
+ - sprout/lib/asunit4/templates/AsUnit4TestClass.as
49
+ - sprout/lib/asunit4/test_class_generator.rb
50
+ - sprout/lib/asunit4.rb
51
+ - sprout/test/unit/test_class_generator_test.rb
52
+ - sprout/test/unit/test_helper.rb
47
53
  - src/asunit/asserts/assertEquals.as
48
54
  - src/asunit/asserts/assertEqualsArrays.as
49
55
  - src/asunit/asserts/assertEqualsArraysIgnoringOrder.as
@@ -188,7 +194,7 @@ post_install_message:
188
194
  rdoc_options: []
189
195
 
190
196
  require_paths:
191
- - .
197
+ - sprout/lib
192
198
  required_ruby_version: !ruby/object:Gem::Requirement
193
199
  requirements:
194
200
  - - ">="
data/asunit4.rb DELETED
@@ -1,16 +0,0 @@
1
- require 'sprout'
2
-
3
- module AsUnit
4
- NAME = 'asunit4'
5
- VERSION = '4.2.1.pre'
6
- end
7
-
8
- Sprout::Specification.new do |s|
9
- s.name = AsUnit::NAME
10
- s.version = AsUnit::VERSION
11
- s.add_file_target do |f|
12
- f.add_library :swc, 'bin/AsUnit-4.1.pre.swc'
13
- f.add_library :src, ['src', 'vendor/as3reflection']
14
- end
15
- end
16
-
Binary file
data/script/generate DELETED
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'rubygems'
3
- require 'sprout'
4
- sprout 'sprout-as3-bundle'
5
-
6
- # Add a class name if TestSuites were generated
7
- if(ARGV.size == 1 && ARGV[0] == 'suite')
8
- ARGV << 'AllTests'
9
- end
10
-
11
- # Insert class type by default
12
- if(ARGV.size == 1)
13
- ARGV.unshift('class')
14
- end
15
-
16
- # Execute generators like this:
17
- # script/generate class utils.MathUtil
18
- # script/generate suite
19
- # script/generate test utils.MathUtilTest
20
-
21
- Sprout::Sprout.generate('as3', ARGV.shift, ARGV, File.dirname(File.dirname(__FILE__)))