DEFINE FOO abcd
 
 
 
  IFDEF BAR : ASSERT 0 : ENDIF
 
 
 
  LUA ALLPASS
 
    assert("abcd" == sj.get_define("FOO"))
 
 
 
    assert(nil == sj.get_define("BAR"))
 
    assert(true == sj.insert_define("BAR","hello"))
 
    assert("hello" == sj.get_define("BAR"))
 
    assert(false == sj.insert_define("BAR","world"))
 
    assert("world" == sj.get_define("BAR"))
 
 
 
    assert(true == sj.insert_define("ZAR"))
 
    assert("" == sj.get_define("ZAR"))
 
 
 
    -- invalid args tests (avoiding hard crash)
 
    assert(false == sj.insert_define(nil))
 
    assert(nil == sj.get_define(nil))
 
 
 
    assert(false == sj.insert_define(""))
 
    assert(nil == sj.get_define(""))
 
 
 
    assert(false == sj.insert_define("@"))
 
    assert(nil == sj.get_define("@"))
 
 
 
    -- check "id" validation (only enough to avoid invalid state in insert, not validating get_define)
 
    assert(false == sj.insert_define(" "))
 
    assert(nil == sj.get_define(" "))
 
 
 
    assert(true == sj.insert_define(" FAR ", " ! "))
 
    assert(" ! " == sj.get_define("FAR"))
 
    assert(nil == sj.get_define(" FAR "))
 
  ENDLUA
 
 
 
  IFNDEF BAR : ASSERT 0 : ENDIF