X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F747mssql_ado.t;h=fd847bd7c8a24f99cddf2d5abb551c4de3910996;hb=64ae166780d0cb2b9577e506da9b9b240c146d20;hp=bcd218e89e4414157adcb7156a550bbfddc742f3;hpb=4ffa57005fd6e9ecadbfc11157686e8d770e0df6;p=dbsrgits%2FDBIx-Class.git diff --git a/t/747mssql_ado.t b/t/747mssql_ado.t index bcd218e..fd847bd 100644 --- a/t/747mssql_ado.t +++ b/t/747mssql_ado.t @@ -11,8 +11,6 @@ my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_MSSQL_ADO_${_}" } qw/DSN USER PAS plan skip_all => 'Set $ENV{DBICTEST_MSSQL_ADO_DSN}, _USER and _PASS to run this test' unless ($dsn && $user); -plan tests => 10; - my $schema = DBICTest::Schema->connect($dsn, $user, $pass); $schema->storage->ensure_connected; @@ -39,19 +37,38 @@ ok($new->artistid > 0, 'Auto-PK worked'); my $found = $schema->resultset('Artist')->search({ name => 'foo' })->first; is $found->artistid, $new->artistid, 'search works'; +# test large column list in select +$found = $schema->resultset('Artist')->search({ name => 'foo' }, { + select => ['artistid', 'name', map "'foo' foo_$_", 0..50], + as => ['artistid', 'name', map "foo_$_", 0..50], +})->first; +is $found->artistid, $new->artistid, 'select with big column list'; +is $found->get_column('foo_50'), 'foo', 'last item in big column list'; + # create a few more rows -for (1..6) { +for (1..12) { $schema->resultset('Artist')->create({ name => 'Artist ' . $_ }); } # test multiple active cursors -my $rs1 = $schema->resultset('Artist'); -my $rs2 = $schema->resultset('Artist'); +my $rs1 = $schema->resultset('Artist')->search({}, { order_by => 'artistid' }); +my $rs2 = $schema->resultset('Artist')->search({}, { order_by => 'name' }); while ($rs1->next) { ok eval { $rs2->next }, 'multiple active cursors'; } +# test bug where ADO blows up if the first bindparam is shorter than the second +is $schema->resultset('Artist')->search({ artistid => 2 })->first->name, + 'Artist 1', + 'short bindparam'; + +is $schema->resultset('Artist')->search({ artistid => 13 })->first->name, + 'Artist 12', + 'longer bindparam'; + +done_testing; + # clean up our mess END { if (my $dbh = eval { $schema->storage->_dbh }) {