jenkins-bot has submitted this change and it was merged.

Change subject: Add getReferenceView
......................................................................


Add getReferenceView

Change-Id: I4b4f4cca778c58e978f4ef2b7b129be35154cf08
---
M view/resources/wikibase/view/ViewFactory.js
M view/tests/qunit/wikibase/view/ViewFactory.tests.js
2 files changed, 35 insertions(+), 18 deletions(-)

Approvals:
  Jonas Kress (WMDE): Looks good to me, approved
  Thiemo Mättig (WMDE): Looks good to me, approved
  jenkins-bot: Verified



diff --git a/view/resources/wikibase/view/ViewFactory.js 
b/view/resources/wikibase/view/ViewFactory.js
index 30b5e36..4e33749 100644
--- a/view/resources/wikibase/view/ViewFactory.js
+++ b/view/resources/wikibase/view/ViewFactory.js
@@ -448,15 +448,24 @@
        SELF.prototype.getListItemAdapterForReferenceView = function( 
startEditingCallback ) {
                return new $.wikibase.listview.ListItemAdapter( {
                        listItemWidget: $.wikibase.referenceview,
-                       newItemOptionsFn: $.proxy( function( value ) {
-                               return {
-                                       value: value || null,
-                                       listItemAdapter: 
this.getListItemAdapterForSnakListView( startEditingCallback )
-                               };
+                       getNewItem: $.proxy( function( value, dom ) {
+                               return this.getReferenceView( 
startEditingCallback, value, $( dom ) );
                        }, this )
                } );
        };
 
+       SELF.prototype.getReferenceView = function( startEditingCallback, 
value, $dom ) {
+               var view = this._getView(
+                       'referenceview',
+                       $dom,
+                       {
+                               value: value || null,
+                               listItemAdapter: 
this.getListItemAdapterForSnakListView( startEditingCallback )
+                       }
+               );
+               return view;
+       };
+
        /**
         * Construct a `ListItemAdapter` for `snaklistview`s
         *
diff --git a/view/tests/qunit/wikibase/view/ViewFactory.tests.js 
b/view/tests/qunit/wikibase/view/ViewFactory.tests.js
index 8d66dab..6689698 100644
--- a/view/tests/qunit/wikibase/view/ViewFactory.tests.js
+++ b/view/tests/qunit/wikibase/view/ViewFactory.tests.js
@@ -343,9 +343,8 @@
        } );
 
        QUnit.test( 'getListItemAdapterForReferenceView passes correct options 
to ListItemAdapter', function( assert ) {
-               assert.expect( 3 );
-               var value = null,
-                       viewFactory = new ViewFactory(),
+               assert.expect( 1 );
+               var viewFactory = new ViewFactory(),
                        ListItemAdapter = sinon.spy( $.wikibase.listview, 
'ListItemAdapter' );
 
                viewFactory.getListItemAdapterForReferenceView();
@@ -354,23 +353,32 @@
                        ListItemAdapter,
                        sinon.match( {
                                listItemWidget: $.wikibase.referenceview,
-                               newItemOptionsFn: sinon.match.func
+                               getNewItem: sinon.match.func
                        } )
                );
 
-               var result = ListItemAdapter.args[0][0].newItemOptionsFn( value 
);
+               ListItemAdapter.restore();
 
-               assert.deepEqual(
-                       result,
-                       {
+       } );
+
+       QUnit.test( 'getReferenceView passes correct options to view', 
function( assert ) {
+               assert.expect( 1 );
+               var value = null,
+                       viewFactory = new ViewFactory(),
+                       $dom = $( '<div/>' ),
+                       referenceview = sinon.stub( $dom, 'referenceview' );
+
+               viewFactory.getReferenceView( {}, value, $dom );
+
+               sinon.assert.calledWith(
+                       referenceview,
+                       sinon.match( {
                                value: value || null,
-                               listItemAdapter: result.listItemAdapter // Hack
-                       }
+                               listItemAdapter: sinon.match.instanceOf( 
$.wikibase.listview.ListItemAdapter )
+                       } )
                );
 
-               assert.ok( result.listItemAdapter instanceof 
$.wikibase.listview.ListItemAdapter );
-
-               ListItemAdapter.restore();
+               referenceview.restore();
        } );
 
        QUnit.test( 'getListItemAdapterForSnakListView passes correct options 
to ListItemAdapter', function( assert ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/298757
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I4b4f4cca778c58e978f4ef2b7b129be35154cf08
Gerrit-PatchSet: 9
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Heine <[email protected]>
Gerrit-Reviewer: Jonas Kress (WMDE) <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to