Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Игра в оффтоп: 2 часть

Автор arseniiv, июля 26, 2010, 23:13

0 Пользователи и 1 гость просматривают эту тему.

Nevik Xukxo

Забыл чей ахворизм, ну и похвиг.

ЦитироватьСын твой, когда ему пять лет, - твой повелитель; когда ему десять, - твой раб; когда ему пятнадцать, - твой двойник; но потом уже одно из двух: либо друг, либо враг, в зависимости от воспитания.

Nevik Xukxo


Nevik Xukxo

Не получается преднамеренно сойти с ума. Что делать-то? :wall:

Вадимий

Цитата: Nevik Xukxo от октября 15, 2011, 15:03
Не получается преднамеренно сойти с ума. Что делать-то? :wall:
//schiza.org

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Bhudh

require 'action_controller/session/active_record_store'

module CommonActiveRecordStoreTests
  def test_basics
    s = session_class.new(:session_id => '1234', :data => { 'foo' => 'bar' })
    assert_equal 'bar', s.data['foo']
    assert s.save
    assert_equal 'bar', s.data['foo']

    assert_not_nil t = session_class.find_by_session_id('1234')
    assert_not_nil t.data
    assert_equal 'bar', t.data['foo']
  end

  def test_reload_same_session
    @new_session.update
    reloaded = CGI::Session.new(CGI.new, 'session_id' => @new_session.session_id, 'database_manager' => CGI::Session::ActiveRecordStore)
    assert_equal 'bar', reloaded['foo']
  end

  def test_tolerates_close_close
    assert_nothing_raised do
      @new_session.close
      @new_session.close
    end
  end
end

class ActiveRecordStoreTest < ActiveRecordTestCase
  include CommonActiveRecordStoreTests

  def session_class
    CGI::Session::ActiveRecordStore::Session
  end

  def session_id_column
    "session_id"
  end

  def setup
    session_class.create_table!

    ENV['REQUEST_METHOD'] = 'GET'
    ENV['REQUEST_URI'] = '/'
    CGI::Session::ActiveRecordStore.session_class = session_class

    @cgi = CGI.new
    @new_session = CGI::Session.new(@cgi, 'database_manager' => CGI::Session::ActiveRecordStore, 'new_session' => true)
    @new_session['foo'] = 'bar'
  end

# this test only applies for eager session saving
#  def test_another_instance
#    @another = CGI::Session.new(@cgi, 'session_id' => @new_session.session_id, 'database_manager' => CGI::Session::ActiveRecordStore)
#    assert_equal @new_session.session_id, @another.session_id
#  end

  def test_model_attribute
    assert_kind_of CGI::Session::ActiveRecordStore::Session, @new_session.model
    assert_equal({ 'foo' => 'bar' }, @new_session.model.data)
  end

  def test_save_unloaded_session
    c = session_class.connection
    bogus_class = c.quote(ActiveSupport::Base64.encode64("\004\010o:\vBlammo\000"))
    c.insert("INSERT INTO #{session_class.table_name} ('#{session_id_column}', 'data') VALUES ('abcdefghijklmnop', #{bogus_class})")

    sess = session_class.find_by_session_id('abcdefghijklmnop')
    assert_not_nil sess
    assert !sess.loaded?

    # because the session is not loaded, the save should be a no-op. If it
    # isn't, this'll try and unmarshall the bogus class, and should get an error.
    assert_nothing_raised { sess.save }
  end

  def teardown
    session_class.drop_table!
  end
end

class ColumnLimitTest < ActiveRecordTestCase
  def setup
    @session_class = CGI::Session::ActiveRecordStore::Session
    @session_class.create_table!
  end

  def teardown
    @session_class.drop_table!
  end

  def test_protection_from_data_larger_than_column
    # Can't test this unless there is a limit
    return unless limit = @session_class.data_column_size_limit
    too_big = ':(' * limit
    s = @session_class.new(:session_id => '666', :data => {'foo' => too_big})
    s.data
    assert_raise(ActionController::SessionOverflowError) { s.save }
  end
end

class DeprecatedActiveRecordStoreTest < ActiveRecordStoreTest
  def session_id_column
    "sessid"
  end

  def setup
    session_class.connection.execute 'create table old_sessions (id integer primary key, sessid text unique, data text)'
    session_class.table_name = 'old_sessions'
    session_class.send :setup_sessid_compatibility!

    ENV['REQUEST_METHOD'] = 'GET'
    CGI::Session::ActiveRecordStore.session_class = session_class

    @new_session = CGI::Session.new(CGI.new, 'database_manager' => CGI::Session::ActiveRecordStore, 'new_session' => true)
    @new_session['foo'] = 'bar'
  end

  def teardown
    session_class.connection.execute 'drop table old_sessions'
    session_class.table_name = 'sessions'
  end
end

class SqlBypassActiveRecordStoreTest < ActiveRecordStoreTest
  def session_class
    unless defined? @session_class
      @session_class = CGI::Session::ActiveRecordStore::SqlBypass
      @session_class.connection = CGI::Session::ActiveRecordStore::Session.connection
    end
    @session_class
  end

  def test_model_attribute
    assert_kind_of CGI::Session::ActiveRecordStore::SqlBypass, @new_session.model
    assert_equal({ 'foo' => 'bar' }, @new_session.model.data)
  end
end
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Nevik Xukxo

Миста Бу хэз гон ту би э мэдман. :tss:

I. G.

И я даже знаю, кто на него так негативно повлиял.
...И мимимишечных круглышек,
Что безусловно хороши,
Но очень вредны для души.

Nevik Xukxo

Если около одного человека будет размножаться со скоростью около 0.7% в год, то он будет около удваиваться за около 100 лет, а спустя около 2000 лет его будет около миллиона. :o

Nevik Xukxo

Цитата: I. G. от октября 15, 2011, 16:56
И я даже знаю, кто на него так негативно повлиял.

Неужели не только я излучаю поля негативного влияния? :uzhos:

Вадимий


arseniiv

Там ЭЭ. От слова банда.

Валентин Н

Велко-Поповицкий ко́зел!
ЗАБАНИЛ ВИКИПЕДИЮ
Нижниь ıндэкс в ҷıсʌах — степень тıсяҷı
Препинания авторские!

snn

Цитата: Nevik Xukxo от октября 15, 2011, 15:03
Не получается преднамеренно сойти с ума. Что делать-то? :wall:
Обратитесь к женщине. Она вам поможет.

Чугуний

Цитата: snn от октября 15, 2011, 19:34
Цитата: Nevik Xukxo от октября 15, 2011, 15:03
Не получается преднамеренно сойти с ума. Что делать-то? :wall:
Обратитесь к женщине. Она вам поможет.
Трэси ему точно поможет  ;D
Все будут наказаны.

Чугуний

Все будут наказаны.

Валентин Н

Чой-то вы как-то посиневши-то?
ЗАБАНИЛ ВИКИПЕДИЮ
Нижниь ıндэкс в ҷıсʌах — степень тıсяҷı
Препинания авторские!

Чугуний

Цитата: Валентин Н от октября 15, 2011, 19:42
Чой-то вы как-то посиневши-то?
есть мальца. сплю мало нынче.
Все будут наказаны.

Bhudh

Цитата: Oleg Grom от октября 15, 2011, 20:42А□ша̀ шѝ нѣ́муль ачѣ́ста, де ка́реле скрі́емь, а□ль цъ́рѫлѡрь ачѣ́стора, ну́меле ве́кю□ шѝ ма́й дире́пть ꙗ҆́сте румѫ́нь, а□де́къ рѫмлѣ́нь.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Nevik Xukxo

При каких условиях A=B, но B<A, а A<B? :???

Nevik Xukxo

Блин, спать надо, а я тут на хворуме торчу. Шозадела? :wall:

snn

Цитата: Nevik Xukxo от октября 15, 2011, 23:20
При каких условиях A=B, но B<A, а A<B? :???
Аннечка и Варечка одинакового веса - по 100 кг обе.
Но у Варечки глазки меньше чем у Аннечки.
А у Аннечки сиськи меньше чем у Варечки.  :smoke:

Nevik Xukxo

Эсэнэн, эсэнэн, что ж вы бросили коня, пристрелить не поднялась нога? :???

Vaelg

И.В. Сталин говорит, что грамматика "... дает правила для составления предложений, имея в виду не какие-либо конкретные предложения, скажем, конкретное подлежащее, конкретное сказуемое и т.п., а вообще всякие предложения безотносительно к конкретной форме того или иного предложения".
Meileann muilte Dé go mall, ach meilid siad go mín.

Toivo

Что-то у меня сегодня подозрительно хороший почерк.