Sha256: d3b2a5513d86d7ced34a5fc8233446120164649cf7a910ce2237b1ce2e3a3df5

Contents?: true

Size: 972 Bytes

Versions: 8

Compression:

Stored size: 972 Bytes

Contents

require_relative "../utils/project"
require_relative "case_manager"

def use(filename)
  filename += ".rb"
  rbfiles = File.join(Project.value[:project_path], "**", filename)
  files = Dir.glob(rbfiles)
  findfiles = []
  files.sort.each { |f| findfiles << f if f.include?(filename) }
  begin
    require_relative findfiles.first
    Project.value[:uses] << File.basename(findfiles.first)
  rescue
    puts "[ERROR] Unknown file : #{filename}"
    puts "        Check line   : use '#{filename}'"
    exit 1
  end
end

def define_macro(name, *args, &block)
  Project.value[:macros][name] = {args: args, block: block}
end
alias def_macro define_macro
alias defmacro define_macro

# Define a group of [target/run/expect]s
# @param name (String) Group name
# @param block (Block) Tests code
def group(name, &block)
  Project.value[:groups] << {name: name, block: block}
end
alias task group

def play(&block)
  # Start test
  CaseManager.new.play(&block)
end
alias start play

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
teuton-2.9.2 lib/teuton/case_manager/dsl.rb
teuton-2.9.1 lib/teuton/case_manager/dsl.rb
teuton-2.9.0 lib/teuton/case_manager/dsl.rb
teuton-2.8.0 lib/teuton/case_manager/dsl.rb
teuton-2.7.3 lib/teuton/case_manager/dsl.rb
teuton-2.7.2 lib/teuton/case_manager/dsl.rb
teuton-2.7.1 lib/teuton/case_manager/dsl.rb
teuton-2.7.0 lib/teuton/case_manager/dsl.rb