module Nasl::Test
Public Class Methods
initialize!(args)
click to toggle source
# File lib/nasl/test.rb, line 32 def self.initialize!(args) # Run all tests by default. args = ['unit/*', 'unit/*/*'] if args.empty? # Run each test or category of tests specified on the command line. args.each do |test| Dir.glob(Nasl.test + (test + '.rb')).each { |f| load(f) } end end
Public Instance Methods
context(code)
click to toggle source
# File lib/nasl/test.rb, line 54 def context(code) Nasl::Context.new(code, "(test)") end
diff(code, kg_tree)
click to toggle source
# File lib/nasl/test.rb, line 78 def diff(code, kg_tree) tree = parse(code) assert_not_nil(tree) assert_not_equal(flatten(kg_tree), flatten(tree.to_s)) if !tree.nil? end
fail(code)
click to toggle source
# File lib/nasl/test.rb, line 58 def fail(code) tree = parse(code) assert_nil(tree) end
fail_parse(code)
click to toggle source
# File lib/nasl/test.rb, line 64 def fail_parse(code) assert_raise(ParseException) { Nasl::Parser.new.parse(code) } end
fail_token(code)
click to toggle source
# File lib/nasl/test.rb, line 68 def fail_token(code) assert_raise(TokenException) { Nasl::Parser.new.parse(code) } end
flatten(tree)
click to toggle source
# File lib/nasl/test.rb, line 42 def flatten(tree) tree.chomp.split(/\n/).map(&:strip).join end
parse(code)
click to toggle source
# File lib/nasl/test.rb, line 46 def parse(code) Nasl::Parser.new.parse(code, "(test)") end
pass(code)
click to toggle source
# File lib/nasl/test.rb, line 72 def pass(code) tree = parse(code) assert_not_nil(tree) end
same(code, kg_tree)
click to toggle source
# File lib/nasl/test.rb, line 84 def same(code, kg_tree) tree = parse(code) assert_not_nil(tree) assert_equal(flatten(kg_tree), flatten(tree.to_s)) if !tree.nil? end
tokenize(code)
click to toggle source
# File lib/nasl/test.rb, line 50 def tokenize(code) Nasl::Tokenizer.new(code, "(test)") end