flashplayer 10.1.3.pre → 10.1.6.pre

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "sprout", ">= 1.0.pre"
3
+ gem "sprout", ">= 1.0.11.pre"
4
4
 
5
5
  group :development do
6
6
  gem "shoulda"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 10.1.3.pre
1
+ 10.1.6.pre
@@ -17,6 +17,6 @@ begin
17
17
  # Open the SWF:
18
18
  Appscript.app(player).open(MacTypes::Alias.path(swf))
19
19
  rescue LoadError => e
20
- raise "\n\n[ERROR] You must install the rb-appscript gem to use the desktop debug Flash Player, you do this by running:\n\nsudo gem install rb-appscript"
20
+ raise "\n\n[ERROR] You must install the rb-appscript gem to use the desktop debug Flash Player, you do this by running:\n\ngem install rb-appscript"
21
21
  end
22
22
 
@@ -6,12 +6,10 @@ module FlashPlayer
6
6
  attr_accessor :logger
7
7
 
8
8
  def initialize
9
- @config = MMConfig.new
10
9
  @logger = $stdout
11
10
  end
12
11
 
13
12
  def tail thread
14
- @config.create
15
13
  tail_path flashlog_path, thread
16
14
  end
17
15
 
@@ -31,17 +29,7 @@ module FlashPlayer
31
29
  trap("INT") { thread.kill }
32
30
 
33
31
  while thread.alive? do
34
- File.open(path, 'r') do |file|
35
- lines_read = 0
36
- file.readlines.each do |line|
37
- if(lines_read >= lines_put)
38
- logger.puts "[trace] #{line}"
39
- logger.flush
40
- lines_put += 1
41
- end
42
- lines_read += 1
43
- end
44
- end
32
+ lines_put = read_from_file path, lines_put
45
33
  logger.flush
46
34
  sleep(0.2)
47
35
  end
@@ -50,8 +38,27 @@ module FlashPlayer
50
38
  logger.puts ">> Exiting from tailing '#{path}' at user request"
51
39
  end
52
40
 
41
+ def read_from_file path, lines_put
42
+ File.open(path, 'r') do |file|
43
+ lines_read = 0
44
+ file.readlines.each do |line|
45
+ if(lines_read >= lines_put)
46
+ logger.puts "[trace] #{line}"
47
+ logger.flush
48
+ lines_put += 1
49
+ end
50
+ lines_read += 1
51
+ end
52
+ end unless !File.exists?(path)
53
+ lines_put
54
+ end
55
+
53
56
  def flashlog_path
54
- File.join(FlashPlayer.home, 'Logs', 'flashlog.txt')
57
+ begin
58
+ FlashPlayer.flashlog
59
+ rescue FlashPlayer::PathError
60
+ "/dev/null"
61
+ end
55
62
  end
56
63
 
57
64
  def clear_flashlog_at path
@@ -71,9 +78,7 @@ module FlashPlayer
71
78
  end
72
79
 
73
80
  desc "Tail the flashlog.txt and block"
74
- def flashlog args
75
- task args do
76
- reader = FlashPlayer::LogFile.new
77
- reader.tail
78
- end
81
+ task :flashlog do
82
+ reader = FlashPlayer::LogFile.new
83
+ reader.tail
79
84
  end
@@ -18,11 +18,9 @@ module FlashPlayer
18
18
  private
19
19
 
20
20
  def create_if_necessary_at path
21
- write_config(path, content(path)) if(file_blank?(path))
22
- end
23
-
24
- def flashplayer_home
25
- FlashPlayer.home
21
+ if(File.exists?(File.dirname(path)))
22
+ write_config(path, content(flashlog_path)) if(file_blank?(path))
23
+ end
26
24
  end
27
25
 
28
26
  def config_path
@@ -33,28 +31,38 @@ module FlashPlayer
33
31
  end
34
32
  end
35
33
 
34
+ def flashplayer_home
35
+ FlashPlayer.home
36
+ end
37
+
38
+ def flashlog_path
39
+ FlashPlayer.flashlog
40
+ end
41
+
36
42
  def file_blank?(file)
37
43
  !File.exists?(file) || File.read(file).empty?
38
44
  end
39
45
 
40
46
  def write_config(location, content)
41
47
  if(user_confirmation?(location))
48
+ FileUtils.makedirs File.dirname(location)
49
+
42
50
  File.open(location, 'w') do |f|
43
51
  f.write(content)
44
52
  end
45
53
  logger.puts ">> Created file: " + File.expand_path(location)
46
54
  location
47
55
  else
48
- raise FlashPlayer::PathError.new("Unable to create #{file_name} at: #{location}")
56
+ raise FlashPlayer::PathError.new("Unable to create #{location}")
49
57
  end
50
58
  end
51
59
 
52
- def content(file)
60
+ def content(flashlog)
53
61
  return <<EOF
54
62
  ErrorReportingEnable=1
55
63
  MaxWarnings=0
56
64
  TraceOutputEnable=1
57
- TraceOutputFileName=#{file}
65
+ TraceOutputFileName=#{flashlog}
58
66
  EOF
59
67
  end
60
68
 
@@ -21,7 +21,11 @@ module FlashPlayer
21
21
  end
22
22
 
23
23
  def trust
24
- File.join(home, '#Security', 'FlashPlayerTrust', 'sprout.cfg')
24
+ File.join home, '#Security', 'FlashPlayerTrust', 'sprout.cfg'
25
+ end
26
+
27
+ def flashlog
28
+ File.join home, 'Logs', 'flashlog.txt'
25
29
  end
26
30
 
27
31
  private
@@ -27,8 +27,10 @@ module FlashPlayer
27
27
  super
28
28
  #puts ">> invoke with: #{args} and input: #{input}"
29
29
  update_input_if_necessary
30
- update_mm_config
31
- update_trust_config_with input
30
+ execute_safely do
31
+ update_mm_config
32
+ update_trust_config_with input
33
+ end
32
34
  player_thread = launch_player_with input
33
35
  tail_flashlog player_thread
34
36
  end
@@ -46,6 +48,14 @@ module FlashPlayer
46
48
 
47
49
  private
48
50
 
51
+ def execute_safely
52
+ begin
53
+ yield if block_given?
54
+ rescue FlashPlayer::PathError => e
55
+ logger.puts ">> [WARNING] It seems this was the first time FlashPlayer was launched on this system and as a result, the expected folders were not found. Please close the Player and run again - this message should only ever be displayed once."
56
+ end
57
+ end
58
+
49
59
  def update_input_if_necessary
50
60
  return if input.match(/\.swf$/)
51
61
  prerequisites.each do |prereq|
@@ -18,7 +18,8 @@ module FlashPlayer
18
18
  private
19
19
 
20
20
  def create file
21
- FileUtils.makedirs File.dirname(file)
21
+ dir = File.dirname file
22
+ FileUtils.makedirs(dir) unless File.exists?(dir)
22
23
  FileUtils.touch file
23
24
  end
24
25
 
@@ -6,35 +6,62 @@ class MMConfigTest < Test::Unit::TestCase
6
6
  context "An MMConfig" do
7
7
 
8
8
  setup do
9
- @fixture = File.join(fixtures, 'home')
10
- @osx_fp9 = File.join(@fixture, 'Application Support', 'Macromedia')
9
+ @home = File.join(fixtures, 'home')
10
+ @osx_fp = File.join(@home, 'Application Support', 'Macromedia')
11
+ @linux_fp = File.join(@home, '.macromedia', 'Flash_Player')
11
12
 
12
- FileUtils.mkdir_p @fixture
13
- FlashPlayer::MMConfig.any_instance.stubs(:user_confirmation?).returns true
13
+ FileUtils.mkdir_p @home
14
14
 
15
15
  @mm_config = FlashPlayer::MMConfig.new
16
+ @mm_config.stubs(:user_confirmation?).returns true
16
17
  @mm_config.logger = StringIO.new
17
18
  end
18
19
 
19
20
  teardown do
20
- remove_file @fixture
21
+ remove_file @home
21
22
  end
22
23
 
23
- should "create a config file on OS X with FP 9" do
24
- FileUtils.mkdir_p @osx_fp9
24
+ should "ignore failure if flashplayer has never run" do
25
+ # No creation of expected FlashPlayer folders...
26
+
27
+ as_a_mac_system do
28
+ @mm_config.stubs(:system_library).returns @home
29
+ @mm_config.stubs(:flashplayer_home).returns @osx_fp
30
+ @mm_config.create
31
+ end
32
+ end
25
33
 
26
- @mm_config.stubs(:system_library).returns @fixture
27
- @mm_config.stubs(:flashplayer_home).returns @osx_fp9
28
- @mm_config.create
34
+ should "create a config file on OS X with FP 9" do
35
+ FileUtils.mkdir_p @osx_fp
36
+ flashlog = File.expand_path(File.join(@osx_fp, 'Logs', 'flashlog.txt'))
29
37
 
30
- assert_file File.join(@osx_fp9, mm_config_file)
38
+ as_a_mac_system do
39
+ @mm_config.stubs(:system_library).returns @home
40
+ @mm_config.stubs(:flashplayer_home).returns @osx_fp
41
+ @mm_config.stubs(:flashlog_path).returns flashlog
42
+ @mm_config.create
43
+ mm_cfg = File.join(@osx_fp, mm_config_file)
44
+ assert_file mm_cfg do |content|
45
+ assert_matches /#{@flashlog}/, content
46
+ end
47
+ end
31
48
  end
32
49
 
33
- should "create a config file on OS X with FP 10+" do
34
- @mm_config.stubs(:system_home).returns @fixture
35
- @mm_config.create
50
+ should "create a config file on linux" do
51
+ FileUtils.mkdir_p @linux_fp
52
+ flashlog = File.expand_path(File.join(@linux_fp, 'Logs', 'flashlog.txt'))
36
53
 
37
- assert_file File.join(@fixture, mm_config_file)
54
+ as_a_unix_system do
55
+ @mm_config.stubs(:system_library).returns @home
56
+ @mm_config.stubs(:system_home).returns @home
57
+ @mm_config.stubs(:flashlog_path).returns flashlog
58
+ @mm_config.stubs(:flashplayer_home).returns @linux_fp
59
+ @mm_config.create
60
+ mm_cfg = File.join(@home, mm_config_file)
61
+ assert_file mm_cfg do |content|
62
+ assert_matches /#{flashlog}/, content
63
+ end
64
+ end
38
65
  end
39
66
  end
40
67
 
@@ -11,9 +11,31 @@ class FlashPlayerTaskTest < Test::Unit::TestCase
11
11
  # Executable.clear_entities! but 'require'
12
12
  # only runs once per VM run...
13
13
  load 'flashplayer/specification.rb'
14
- @swf = File.join(fixtures, 'AsUnit4.swf')
14
+ @swf = File.join(fixtures, 'AsUnit4.swf')
15
+ @missing_home = File.join(fixtures, 'missing_folder')
16
+ @config_path = File.join(@missing_home, 'fp_config', 'mm.cfg')
15
17
  end
16
18
 
19
+ teardown do
20
+ remove_file @missing_home
21
+ end
22
+
23
+ =begin
24
+ should "wait for SWF even if clean system" do
25
+ # No creation of expected FlashPlayer folders...
26
+
27
+ FlashPlayer.stubs(:home).returns @missing_home
28
+ FlashPlayer::MMConfig.any_instance.stubs(:system_home).returns @missing_home
29
+ FlashPlayer::MMConfig.any_instance.stubs(:config_path).returns @config_path
30
+ FlashPlayer::MMConfig.any_instance.stubs(:user_confirmation?).returns false
31
+
32
+ as_a_mac_system do
33
+ t = flashplayer @swf
34
+ t.invoke
35
+ end
36
+ end
37
+ =end
38
+
17
39
  should "work with swf as task name" do
18
40
  t = flashplayer @swf
19
41
  configure_task t
@@ -24,6 +46,7 @@ class FlashPlayerTaskTest < Test::Unit::TestCase
24
46
  t = flashplayer :run do |t|
25
47
  t.input = @swf
26
48
  end
49
+ file @swf
27
50
  configure_task t
28
51
  t.invoke
29
52
  assert_equal @swf, t.input
@@ -31,6 +54,7 @@ class FlashPlayerTaskTest < Test::Unit::TestCase
31
54
 
32
55
  should "work with swf as prerequisite" do
33
56
  t = flashplayer :run => @swf
57
+ file @swf
34
58
  configure_task t
35
59
  t.invoke
36
60
  assert_equal @swf, t.input
@@ -38,6 +62,7 @@ class FlashPlayerTaskTest < Test::Unit::TestCase
38
62
 
39
63
  should "fire when declared as a dependency" do
40
64
  t = flashplayer :run => @swf
65
+ file @swf
41
66
  configure_task t
42
67
  other = task :parent => :run
43
68
  other.invoke
@@ -6,11 +6,10 @@ class TrustTest < Test::Unit::TestCase
6
6
  context "A Trust instance" do
7
7
 
8
8
  setup do
9
- @fixture = File.join fixtures, 'trust'
10
- @file = File.join @fixture, 'trust.cfg'
11
- @project = File.join fixtures, 'SomeProject'
12
-
13
- @trust = FlashPlayer::Trust.new
9
+ @fixture = File.join fixtures, 'trust'
10
+ @file = File.join @fixture, 'trust.cfg'
11
+ @project = File.join fixtures, 'SomeProject'
12
+ @trust = FlashPlayer::Trust.new
14
13
  @trust.logger = StringIO.new
15
14
  @trust.stubs(:trust_file).returns @file
16
15
  end
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 10
7
7
  - 1
8
- - 3
8
+ - 6
9
9
  - pre
10
- version: 10.1.3.pre
10
+ version: 10.1.6.pre
11
11
  platform: ruby
12
12
  authors:
13
13
  - Luke Bayes
@@ -27,8 +27,9 @@ dependencies:
27
27
  segments:
28
28
  - 1
29
29
  - 0
30
+ - 11
30
31
  - pre
31
- version: 1.0.pre
32
+ version: 1.0.11.pre
32
33
  type: :runtime
33
34
  prerelease: false
34
35
  version_requirements: *id001