diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2010-08-19 10:38:07 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2010-08-19 10:38:07 -0700 |
commit | 3283adc6d0edcc873256c78842f8ddd233577d08 (patch) | |
tree | a92d64c67ea987f65a465dbac97195cde4fbc820 /spec/arel/nodes/insert_statement_spec.rb | |
parent | 6451188abf647d6aa855d22db8d2d62a2b2c4542 (diff) | |
parent | 06c92a8557f5171704a121d0f4412e4c1e9a9c2b (diff) | |
download | rails-3283adc6d0edcc873256c78842f8ddd233577d08.tar.gz rails-3283adc6d0edcc873256c78842f8ddd233577d08.tar.bz2 rails-3283adc6d0edcc873256c78842f8ddd233577d08.zip |
Merge branch 'v1' of github.com:flavorjones/arel into v1
* 'v1' of github.com:flavorjones/arel:
DeleteStatement deep copy
cleaning up describe/it block names
SelectCore deep copies attributes
Statement nodes deep-copy AST nodes
TreeManager classes deep-copy their statements.
Diffstat (limited to 'spec/arel/nodes/insert_statement_spec.rb')
-rw-r--r-- | spec/arel/nodes/insert_statement_spec.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/arel/nodes/insert_statement_spec.rb b/spec/arel/nodes/insert_statement_spec.rb new file mode 100644 index 0000000000..644e3fb192 --- /dev/null +++ b/spec/arel/nodes/insert_statement_spec.rb @@ -0,0 +1,22 @@ +require 'spec_helper' + +describe Arel::Nodes::InsertStatement do + describe "#clone" do + it "clones columns and values" do + statement = Arel::Nodes::InsertStatement.new + statement.columns = %w[a b c] + statement.values = %w[x y z] + + statement.columns.each_with_index do |o, j| + o.should_receive(:clone).and_return("#{o}#{j}") + end + statement.values.each_with_index do |o, j| + o.should_receive(:clone).and_return("#{o}#{j}") + end + + dolly = statement.clone + dolly.columns.should == %w[a0 b1 c2] + dolly.values.should == %w[x0 y1 z2] + end + end +end |