Sha256: 843dbaf112a81d1c7d77bd5e5415259a99ea07f7492d6b0c0c123a4922459f84

Contents?: true

Size: 1.65 KB

Versions: 2

Compression:

Stored size: 1.65 KB

Contents

#!/usr/bin/env ruby

##
# This is a Fake MXMLC executable that should
# support our test cases by performing exactly 
# the same tasks that MXMLC performs, but much
# faster. 
#
# This executable should be easily swapped with
# the real MXMLC binary for any test.
class FakeMXMLC

  def initialize args
    #puts ">> ARGS: #{args.inspect}"
    if(args.size == 3 && 
       args[0].include?('SomeFile.swf') &&
       args[1].include?('-static-link-runtime-shared-libraries') &&
       args[2].include?('SomeFile.as'))
      compile_simple_swf args
    elsif args == ["-output=test/fixtures/air/simple/bin/SomeProject.swf", "-static-link-runtime-shared-libraries", "test/fixtures/air/simple/SomeProject.as"]
      compile_amxmlc_swf args
    else
      raise "Unexpected args sent to mxmlc stub #{args.join(', ')}"
    end
  end

  private

  def compile_amxmlc_swf args
    path = args[0].split('=').pop
    compile_swf path
  end

  ##
  # /Users/lbayes/Library/Sprouts/1.0/cache/flex4/4.1.0.16076/bin/mxmlc -static-link-runtime-shared-libraries test/fixtures/mxmlc/simple/SomeFile.as
  # Loading configuration file /Users/lbayes/Library/Sprouts/1.0/cache/flex4/4.1.0.16076/frameworks/flex-config.xml
  # /Users/lbayes/Projects/Sprouts/flashsdk/test/fixtures/mxmlc/simple/SomeFile.swf (558 bytes)
  def compile_simple_swf args
    path = File.expand_path(args[0].gsub(/-output=/, ''))
    compile_swf path
  end

  def compile_swf path
    File.open path, 'wb+' do |f|
      f.write swf_bytes
    end
    puts "#{File.expand_path(path)} (#{swf_bytes.size})"
  end

  def swf_bytes
    @swf_bytes ||= File.read 'test/fixtures/air/simple/SomeProject.swf'
  end

end

mxmlc = FakeMXMLC.new ARGV

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
flashsdk-1.0.29.pre test/fixtures/sdk/mxmlc
flashsdk-1.0.28.pre test/fixtures/sdk/mxmlc