@@ -3,6 +3,7 @@ var $ = require("jquery");
3
3
var Map = require ( "can-map" ) ;
4
4
var List = require ( "can-list" ) ;
5
5
var Observation = require ( "can-observation" ) ;
6
+ var canSymbol = require ( "can-symbol" ) ;
6
7
var canReflect = require ( "can-reflect" ) ;
7
8
8
9
// load connections
@@ -538,3 +539,31 @@ QUnit.test("should batch model events", function(assert) {
538
539
539
540
assert . equal ( eventOrder . join ( "" ) , "1234" , "events are batched" ) ;
540
541
} ) ;
542
+
543
+ QUnit . test ( "list uses can.new" , function ( assert ) {
544
+ var Todo = function ( props ) { } ;
545
+ var TodoList = function ( ) {
546
+ var array = Array . apply ( this , arguments ) ;
547
+ return array ;
548
+ } ;
549
+ TodoList [ canSymbol . for ( "can.new" ) ] = function ( items ) {
550
+ var list = new TodoList ( ) ;
551
+ return TodoList . apply ( list , items ) ;
552
+ } ;
553
+
554
+ var todoConnection = connect ( [
555
+ constructor ,
556
+ canMap ] ,
557
+ {
558
+ url : "/services/todos" ,
559
+ Map : Todo ,
560
+ List : TodoList
561
+ } ) ;
562
+
563
+ var list = todoConnection . list ( {
564
+ data : [ { id :1 , label : "walk the dog" } ,
565
+ { id :2 , label : "make dinner" } ]
566
+ } ) ;
567
+
568
+ assert . equal ( list . length , 2 , "Has all of the items" ) ;
569
+ } ) ;
0 commit comments