class TestGroupConfig

Public Instance Methods

test_all() click to toggle source
# File vendor/qwik/lib/qwik/group-config.rb, line 196
def test_all
  sites_dir = '.test/data/'
  group_name = 'test'
  db = QuickML::GroupDB.new(sites_dir, group_name)
  db.set_site(@site)

  config = Qwik::Config.new
  group_config = QuickML::GroupConfig.new(db)
  default = QuickML::GroupConfig.get_group_config(config)
  group_config.set_default(default)
  group_config.write

  # ==================== GroupConfig
  # test_exist?
  ok_eq(true, group_config.exist?)

  # test_[]
  ok_eq(100, group_config[:max_members])

  # test_forward?
  ok_eq(false, group_config.forward?)

  # test_permanent?
  ok_eq(false, group_config.permanent?)

  # test_unlimited?
  ok_eq(false, group_config.unlimited?)

  # test_write
  group_config.instance_eval {
    @group_config[:max_members] = 10
  }
  ok_eq(10, group_config[:max_members])
  group_config.write

  # test_read
  t_make_public(QuickML::GroupConfig, :read)
  group_config.read
  ok_eq(10, group_config[:max_members])
  
  str = db.get(:Config)
  ok_eq(":auto_unsubscribe_count:5\n:forward:false\n:max_mail_length:102400\n:max_members:10\n:ml_alert_time:2073600\n:ml_life_time:2678400\n:permanent:false\n:unlimited:false\n", str)

  # test_forward?
  ok_eq(false, group_config.forward?)

  page = @site['_GroupConfig']
  page.put_with_time(':forward:true', Time.at(Time.now.to_i+10))
  ok_eq(true, group_config.forward?)
end
test_class_method() click to toggle source
# File vendor/qwik/lib/qwik/group-config.rb, line 179
    def test_class_method
      c = QuickML::GroupConfig

      # test_parse_hash
      ok_eq({}, c.parse_hash(''))
      ok_eq({:max_members=>20}, c.parse_hash('{
  :max_members => 20,
}'))
      m = c.parse_hash(':max_members:20')
      ok_eq({:max_members=>20}, m)
      m = c.parse_hash(':forward:true')
      ok_eq({:forward=>true}, m)

      # test_generate
      ok_eq(":auto_unsubscribe_count:\n:forward:\n:max_mail_length:\n:max_members:\n:ml_alert_time:\n:ml_life_time:\n:permanent:\n:unlimited:\n", c.generate({}))
    end