require 'helper' class TestJumpStartWithNoGlobalDefaults < Test::Unit::TestCase context "JumpStart::Setup.templates_path and JumpStart::Setup.default_template_name are both set to nil as @jumpstart_setup_yaml is not loaded" do setup do JumpStart.module_eval do @jumpstart_setup_yaml = nil @default_template_name = nil end @project.stubs(:jumpstart_menu) end teardown do reset_global_defaults end should "launch menu when passed nil. JumpStart::Setup.templates_path should be set to default." do @project = JumpStart::Base.new([nil]) @project.expects(:jumpstart_menu).once @project.set_config_file_options assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", JumpStart.module_eval {@templates_path} assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", @project.instance_variable_get(:@template_path) assert_equal nil, @project.instance_eval {@template_name} end should "launch menu when passed empty. JumpStart::Setup.templates_path should be set to default." do @project = JumpStart::Base.new([""]) @project.expects(:jumpstart_menu).once @project.set_config_file_options assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", JumpStart.module_eval {@templates_path} assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", @project.instance_variable_get(:@template_path) assert_equal nil, @project.instance_eval {@template_name} end should "launch menu when passed one argument under 3 characters. JumpStart::Setup.templates_path should be set to default." do @project = JumpStart::Base.new(["no"]) @project.expects(:jumpstart_menu).once @project.set_config_file_options assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", JumpStart.module_eval {@templates_path} assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", @project.instance_variable_get(:@template_path) assert_equal nil, @project.instance_eval {@template_name} end should "launch menu when passed an ivalid first argument (that starts with a character that is not a letter or number.). JumpStart::Setup.templates_path should be set to default." do @project = JumpStart::Base.new(["$hello"]) @project.expects(:jumpstart_menu).once @project.set_config_file_options assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", JumpStart.module_eval {@templates_path} assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", @project.instance_variable_get(:@template_path) assert_equal nil, @project.instance_eval {@template_name} end should "launch menu when passed a valid first argument. JumpStart::Setup.templates_path should be set to default." do @project = JumpStart::Base.new(["hello"]) @project.expects(:jumpstart_menu).once @project.set_config_file_options assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", JumpStart.module_eval {@templates_path} assert_equal "#{JumpStart::ROOT_PATH}/jumpstart_templates", @project.instance_variable_get(:@template_path) assert_equal nil, @project.instance_eval {@template_name} end end end