From 22ac9ce9334a6d274cc250c29cca4523cd692b68 Mon Sep 17 00:00:00 2001 From: Jakob Warkotsch Date: Tue, 22 Oct 2019 11:19:46 +0200 Subject: [PATCH 01/16] Update datamodel to the version used in wikibase --- karma.conf.js | 7 ------- package.json | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index a7c304f..a94e372 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -13,13 +13,6 @@ module.exports = function ( config ) { 'node_modules/wikibase-data-values/src/DataValue.js', 'node_modules/wikibase-data-values/src/values/StringValue.js', 'node_modules/wikibase-data-values/src/values/UnDeserializableValue.js', - 'node_modules/wikibase-data-model/src/__namespace.js', - 'node_modules/wikibase-data-model/src/GroupableCollection.js', - 'node_modules/wikibase-data-model/src/Group.js', - 'node_modules/wikibase-data-model/src/Snak.js', - 'node_modules/wikibase-data-model/src/Set.js', - 'node_modules/wikibase-data-model/src/List.js', - 'node_modules/wikibase-data-model/src/*.js', 'tests/**/*.tests.js' ], diff --git a/package.json b/package.json index 40c8326..f9cb0be 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "jquery": "^3.2.1", - "wikibase-data-model": "^5.1.0", + "wikibase-data-model": "^6.0.0", "wikibase-data-values": "^0.10.0" }, "devDependencies": { From 717f18bf03c0d43e33a3accb063cadd9a0087acc Mon Sep 17 00:00:00 2001 From: Jakob Warkotsch Date: Wed, 23 Oct 2019 16:28:50 +0200 Subject: [PATCH 02/16] Upgrade eslint --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f9cb0be..c17f47e 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "wikibase-data-values": "^0.10.0" }, "devDependencies": { - "eslint": "^3.19.0", + "eslint": "^6.5.1", "eslint-config-wikimedia": "0.4.0", "karma": "^1.7.1", "karma-cli": "^1.0.1", From 46b4242ce952dffb89b4138743eed8ed13c56edf Mon Sep 17 00:00:00 2001 From: Jakob Warkotsch Date: Wed, 23 Oct 2019 16:18:40 +0200 Subject: [PATCH 03/16] Prevent passing invalid package file paths to `require` --- .eslintrc.json | 4 ++++ package.json | 1 + 2 files changed, 5 insertions(+) diff --git a/.eslintrc.json b/.eslintrc.json index 671885c..bf8421a 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,5 +1,8 @@ { "extends": "wikimedia", + "plugins": [ + "resource-loader" + ], "env": { "browser": true, "jquery": true, @@ -10,6 +13,7 @@ "util": false }, "rules": { + "resource-loader/valid-package-file-require": "error", "computed-property-spacing": "off", "indent": "off", "keyword-spacing": "off", diff --git a/package.json b/package.json index c17f47e..d46175b 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "devDependencies": { "eslint": "^6.5.1", "eslint-config-wikimedia": "0.4.0", + "eslint-plugin-resource-loader": "wmde/eslint-plugin-resource-loader#b84d53f22794bb15b98f611b541fe4d32e153720", "karma": "^1.7.1", "karma-cli": "^1.0.1", "karma-phantomjs-launcher": "^1.0.4", From 7977376ac240d95246eee6ca0651fa7955db1f9a Mon Sep 17 00:00:00 2001 From: Jakob Warkotsch Date: Wed, 23 Oct 2019 16:31:39 +0200 Subject: [PATCH 04/16] Fix import path in test --- tests/Serializers/TermSerializer.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Serializers/TermSerializer.tests.js b/tests/Serializers/TermSerializer.tests.js index f7bc0b9..17c0eb5 100644 --- a/tests/Serializers/TermSerializer.tests.js +++ b/tests/Serializers/TermSerializer.tests.js @@ -5,7 +5,7 @@ ( function( QUnit ) { 'use strict'; -var TermSerializer = require( './../../src/Serializers/TermSerializer.js' ), +var TermSerializer = require( '../../src/Serializers/TermSerializer.js' ), datamodel = require( 'wikibase.datamodel' ); QUnit.module( 'TermSerializer' ); From ad539725b3c5459bfdd1b7b6c028866f34287adb Mon Sep 17 00:00:00 2001 From: Jakob Warkotsch Date: Fri, 25 Oct 2019 17:14:02 +0200 Subject: [PATCH 05/16] Use eslint-plugin-mediawiki The `valid-package-file-require` rule got upstreamed to eslint-plugin-mediawiki. --- .eslintrc.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index bf8421a..7d95176 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,7 +1,7 @@ { "extends": "wikimedia", "plugins": [ - "resource-loader" + "mediawiki" ], "env": { "browser": true, @@ -13,7 +13,7 @@ "util": false }, "rules": { - "resource-loader/valid-package-file-require": "error", + "mediawiki/valid-package-file-require": "error", "computed-property-spacing": "off", "indent": "off", "keyword-spacing": "off", diff --git a/package.json b/package.json index d46175b..485d09b 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "devDependencies": { "eslint": "^6.5.1", "eslint-config-wikimedia": "0.4.0", - "eslint-plugin-resource-loader": "wmde/eslint-plugin-resource-loader#b84d53f22794bb15b98f611b541fe4d32e153720", + "eslint-plugin-mediawiki": "^0.2.1", "karma": "^1.7.1", "karma-cli": "^1.0.1", "karma-phantomjs-launcher": "^1.0.4", From 7061024153d8fadc7147ffd4fdf07f4c76c1d24a Mon Sep 17 00:00:00 2001 From: Ed Sanders Date: Thu, 12 Dec 2019 20:57:33 +0000 Subject: [PATCH 06/16] Remove obsolete closures Bug: T50886 --- src/Deserializers/ClaimDeserializer.js | 4 ++-- src/Deserializers/Deserializer.js | 4 ++-- src/Deserializers/EntityDeserializer.js | 4 ++-- src/Deserializers/FingerprintDeserializer.js | 4 ++-- src/Deserializers/ItemDeserializer.js | 4 ++-- src/Deserializers/MultiTermDeserializer.js | 4 ++-- src/Deserializers/MultiTermMapDeserializer.js | 4 ++-- src/Deserializers/PropertyDeserializer.js | 4 ++-- src/Deserializers/ReferenceDeserializer.js | 4 ++-- src/Deserializers/ReferenceListDeserializer.js | 4 ++-- src/Deserializers/SiteLinkDeserializer.js | 4 ++-- src/Deserializers/SiteLinkSetDeserializer.js | 4 ++-- src/Deserializers/SnakDeserializer.js | 4 ++-- src/Deserializers/SnakListDeserializer.js | 4 ++-- src/Deserializers/StatementDeserializer.js | 4 ++-- src/Deserializers/StatementGroupDeserializer.js | 4 ++-- src/Deserializers/StatementGroupSetDeserializer.js | 4 ++-- src/Deserializers/StatementListDeserializer.js | 4 ++-- src/Deserializers/TermDeserializer.js | 4 ++-- src/Deserializers/TermMapDeserializer.js | 4 ++-- src/Serializers/ClaimSerializer.js | 4 ++-- src/Serializers/ReferenceListSerializer.js | 4 ++-- src/Serializers/ReferenceSerializer.js | 4 ++-- src/Serializers/Serializer.js | 4 ++-- src/Serializers/SnakListSerializer.js | 4 ++-- src/Serializers/SnakSerializer.js | 4 ++-- src/Serializers/StatementListSerializer.js | 4 ++-- src/Serializers/StatementSerializer.js | 4 ++-- src/Serializers/TermMapSerializer.js | 4 ++-- src/Serializers/TermSerializer.js | 4 ++-- src/StrategyProvider.js | 4 ++-- tests/Deserializers/ClaimDeserializer.tests.js | 4 ++-- tests/Deserializers/Deserializer.tests.js | 4 ++-- tests/Deserializers/EntityDeserializer.tests.js | 4 ++-- tests/Deserializers/FingerprintDeserializer.tests.js | 4 ++-- tests/Deserializers/ItemDeserializer.tests.js | 4 ++-- tests/Deserializers/MultiTermDeserializer.tests.js | 4 ++-- tests/Deserializers/MultiTermMapDeserializer.tests.js | 4 ++-- tests/Deserializers/PropertyDeserializer.tests.js | 4 ++-- tests/Deserializers/ReferenceDeserializer.tests.js | 4 ++-- tests/Deserializers/ReferenceListDeserializer.tests.js | 4 ++-- tests/Deserializers/SiteLinkDeserializer.tests.js | 4 ++-- tests/Deserializers/SiteLinkSetDeserializer.tests.js | 4 ++-- tests/Deserializers/SnakDeserializer.tests.js | 4 ++-- tests/Deserializers/SnakListDeserializer.tests.js | 4 ++-- tests/Deserializers/StatementDeserializer.tests.js | 4 ++-- tests/Deserializers/StatementGroupDeserializer.tests.js | 4 ++-- tests/Deserializers/StatementGroupSetDeserializer.tests.js | 4 ++-- tests/Deserializers/StatementListDeserializer.tests.js | 4 ++-- tests/Deserializers/TermDeserializer.tests.js | 4 ++-- tests/Deserializers/TermMapDeserializer.tests.js | 4 ++-- tests/MockEntity.js | 4 ++-- tests/MockEntity.tests.js | 4 ++-- tests/Serializers/ClaimSerializer.tests.js | 4 ++-- tests/Serializers/ReferenceListSerializer.tests.js | 4 ++-- tests/Serializers/ReferenceSerializer.tests.js | 4 ++-- tests/Serializers/Serializer.tests.js | 4 ++-- tests/Serializers/SnakListSerializer.tests.js | 4 ++-- tests/Serializers/SnakSerializer.tests.js | 4 ++-- tests/Serializers/StatementListSerializer.tests.js | 4 ++-- tests/Serializers/StatementSerializer.tests.js | 4 ++-- tests/Serializers/TermMapSerializer.tests.js | 4 ++-- tests/Serializers/TermSerializer.tests.js | 4 ++-- tests/StrategyProvider.tests.js | 4 ++-- 64 files changed, 128 insertions(+), 128 deletions(-) diff --git a/src/Deserializers/ClaimDeserializer.js b/src/Deserializers/ClaimDeserializer.js index 6717dfb..20d8983 100644 --- a/src/Deserializers/ClaimDeserializer.js +++ b/src/Deserializers/ClaimDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -38,4 +38,4 @@ module.exports = util.inherit( 'WbClaimDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/Deserializer.js b/src/Deserializers/Deserializer.js index c3ffa27..b1e664a 100644 --- a/src/Deserializers/Deserializer.js +++ b/src/Deserializers/Deserializer.js @@ -1,4 +1,4 @@ -( function( util, $ ) { +( function() { 'use strict'; /** @@ -24,4 +24,4 @@ } ); module.exports = SELF; -}( util, jQuery ) ); +}() ); diff --git a/src/Deserializers/EntityDeserializer.js b/src/Deserializers/EntityDeserializer.js index ed6861d..a037912 100644 --- a/src/Deserializers/EntityDeserializer.js +++ b/src/Deserializers/EntityDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -57,4 +57,4 @@ module.exports = util.inherit( 'WbEntityDeserializer', PARENT, function() { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/FingerprintDeserializer.js b/src/Deserializers/FingerprintDeserializer.js index 598d305..b9384de 100644 --- a/src/Deserializers/FingerprintDeserializer.js +++ b/src/Deserializers/FingerprintDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -33,4 +33,4 @@ module.exports = util.inherit( 'WbFingerprintDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/ItemDeserializer.js b/src/Deserializers/ItemDeserializer.js index 93daf6f..c4f36b0 100644 --- a/src/Deserializers/ItemDeserializer.js +++ b/src/Deserializers/ItemDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -42,4 +42,4 @@ module.exports = util.inherit( 'WbItemDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/MultiTermDeserializer.js b/src/Deserializers/MultiTermDeserializer.js index 562efe6..71f79b0 100644 --- a/src/Deserializers/MultiTermDeserializer.js +++ b/src/Deserializers/MultiTermDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -37,4 +37,4 @@ module.exports = util.inherit( 'WbMultiTermDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/MultiTermMapDeserializer.js b/src/Deserializers/MultiTermMapDeserializer.js index 1376c6e..8506e6c 100644 --- a/src/Deserializers/MultiTermMapDeserializer.js +++ b/src/Deserializers/MultiTermMapDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -33,4 +33,4 @@ module.exports = util.inherit( 'WbMultiTermMapDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/PropertyDeserializer.js b/src/Deserializers/PropertyDeserializer.js index 0d1c860..fa2a3cf 100644 --- a/src/Deserializers/PropertyDeserializer.js +++ b/src/Deserializers/PropertyDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -40,4 +40,4 @@ module.exports = util.inherit( 'WbPropertyDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/ReferenceDeserializer.js b/src/Deserializers/ReferenceDeserializer.js index b28d7bd..89fc188 100644 --- a/src/Deserializers/ReferenceDeserializer.js +++ b/src/Deserializers/ReferenceDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -31,4 +31,4 @@ module.exports = util.inherit( 'WbReferenceDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/ReferenceListDeserializer.js b/src/Deserializers/ReferenceListDeserializer.js index 594fe11..afac35b 100644 --- a/src/Deserializers/ReferenceListDeserializer.js +++ b/src/Deserializers/ReferenceListDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -32,4 +32,4 @@ module.exports = util.inherit( 'WbReferenceListDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/SiteLinkDeserializer.js b/src/Deserializers/SiteLinkDeserializer.js index b879caa..000cd08 100644 --- a/src/Deserializers/SiteLinkDeserializer.js +++ b/src/Deserializers/SiteLinkDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -29,4 +29,4 @@ module.exports = util.inherit( 'WbSiteLinkDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/SiteLinkSetDeserializer.js b/src/Deserializers/SiteLinkSetDeserializer.js index ae6d1fd..97dc4c9 100644 --- a/src/Deserializers/SiteLinkSetDeserializer.js +++ b/src/Deserializers/SiteLinkSetDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -32,4 +32,4 @@ module.exports = util.inherit( 'WbSiteLinkSetDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/SnakDeserializer.js b/src/Deserializers/SnakDeserializer.js index 45c21d7..b91432b 100644 --- a/src/Deserializers/SnakDeserializer.js +++ b/src/Deserializers/SnakDeserializer.js @@ -1,4 +1,4 @@ -( function( util, dv ) { +( function( dv ) { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -45,4 +45,4 @@ module.exports = util.inherit( 'WbSnakDeserializer', PARENT, { } } ); -}( util, dataValues ) ); +}( dataValues ) ); diff --git a/src/Deserializers/SnakListDeserializer.js b/src/Deserializers/SnakListDeserializer.js index 6346a14..5d3ad98 100644 --- a/src/Deserializers/SnakListDeserializer.js +++ b/src/Deserializers/SnakListDeserializer.js @@ -1,4 +1,4 @@ -( function( util, $ ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -79,4 +79,4 @@ module.exports = util.inherit( 'WbSnakListDeserializer', PARENT, { } } ); -}( util, jQuery ) ); +}() ); diff --git a/src/Deserializers/StatementDeserializer.js b/src/Deserializers/StatementDeserializer.js index e554d19..ecd2ab3 100644 --- a/src/Deserializers/StatementDeserializer.js +++ b/src/Deserializers/StatementDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -35,4 +35,4 @@ module.exports = util.inherit( 'WbStatementDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/StatementGroupDeserializer.js b/src/Deserializers/StatementGroupDeserializer.js index 57b32f7..5461a6e 100644 --- a/src/Deserializers/StatementGroupDeserializer.js +++ b/src/Deserializers/StatementGroupDeserializer.js @@ -1,4 +1,4 @@ -( function( util, $ ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -34,4 +34,4 @@ module.exports = util.inherit( 'WbStatementGroupDeserializer', PARENT, { } } ); -}( util, jQuery ) ); +}() ); diff --git a/src/Deserializers/StatementGroupSetDeserializer.js b/src/Deserializers/StatementGroupSetDeserializer.js index 8ffcdea..273fe0d 100644 --- a/src/Deserializers/StatementGroupSetDeserializer.js +++ b/src/Deserializers/StatementGroupSetDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -34,4 +34,4 @@ module.exports = util.inherit( 'WbStatementGroupSetDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/StatementListDeserializer.js b/src/Deserializers/StatementListDeserializer.js index b1fa29e..2cb705a 100644 --- a/src/Deserializers/StatementListDeserializer.js +++ b/src/Deserializers/StatementListDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -32,4 +32,4 @@ module.exports = util.inherit( 'WbStatementListDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/TermDeserializer.js b/src/Deserializers/TermDeserializer.js index 9167104..7d6f26b 100644 --- a/src/Deserializers/TermDeserializer.js +++ b/src/Deserializers/TermDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -24,4 +24,4 @@ module.exports = util.inherit( 'WbTermDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Deserializers/TermMapDeserializer.js b/src/Deserializers/TermMapDeserializer.js index 9940884..2ad1793 100644 --- a/src/Deserializers/TermMapDeserializer.js +++ b/src/Deserializers/TermMapDeserializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Deserializer.js' ), @@ -32,4 +32,4 @@ module.exports = util.inherit( 'WbTermMapDeserializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Serializers/ClaimSerializer.js b/src/Serializers/ClaimSerializer.js index f3f99b9..7947d5c 100644 --- a/src/Serializers/ClaimSerializer.js +++ b/src/Serializers/ClaimSerializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Serializer.js' ), @@ -52,4 +52,4 @@ module.exports = util.inherit( 'WbClaimSerializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Serializers/ReferenceListSerializer.js b/src/Serializers/ReferenceListSerializer.js index e7f5352..92a4c34 100644 --- a/src/Serializers/ReferenceListSerializer.js +++ b/src/Serializers/ReferenceListSerializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Serializer.js' ), @@ -40,4 +40,4 @@ module.exports = util.inherit( 'WbReferenceLisSerializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Serializers/ReferenceSerializer.js b/src/Serializers/ReferenceSerializer.js index e861fca..05833be 100644 --- a/src/Serializers/ReferenceSerializer.js +++ b/src/Serializers/ReferenceSerializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Serializer.js' ), @@ -45,4 +45,4 @@ module.exports = util.inherit( 'WbReferenceSerializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Serializers/Serializer.js b/src/Serializers/Serializer.js index f901504..efd59d0 100644 --- a/src/Serializers/Serializer.js +++ b/src/Serializers/Serializer.js @@ -1,4 +1,4 @@ -( function( util, $ ) { +( function() { 'use strict'; /** @@ -24,4 +24,4 @@ } ); module.exports = SELF; -}( util, jQuery ) ); +}() ); diff --git a/src/Serializers/SnakListSerializer.js b/src/Serializers/SnakListSerializer.js index 43bc91c..ee256d9 100644 --- a/src/Serializers/SnakListSerializer.js +++ b/src/Serializers/SnakListSerializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Serializer.js' ), @@ -45,4 +45,4 @@ module.exports = util.inherit( 'WbSnakListSerializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Serializers/SnakSerializer.js b/src/Serializers/SnakSerializer.js index d1770dd..12028ac 100644 --- a/src/Serializers/SnakSerializer.js +++ b/src/Serializers/SnakSerializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Serializer.js' ), @@ -49,4 +49,4 @@ module.exports = util.inherit( 'WbSnakSerializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Serializers/StatementListSerializer.js b/src/Serializers/StatementListSerializer.js index 7287596..579f9de 100644 --- a/src/Serializers/StatementListSerializer.js +++ b/src/Serializers/StatementListSerializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Serializer.js' ), @@ -40,4 +40,4 @@ module.exports = util.inherit( 'WbStatementListSerializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Serializers/StatementSerializer.js b/src/Serializers/StatementSerializer.js index e76a26b..6f4b9d5 100644 --- a/src/Serializers/StatementSerializer.js +++ b/src/Serializers/StatementSerializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Serializer.js' ), @@ -54,4 +54,4 @@ module.exports = util.inherit( 'WbStatementSerializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Serializers/TermMapSerializer.js b/src/Serializers/TermMapSerializer.js index 6cfd62a..5d192b4 100644 --- a/src/Serializers/TermMapSerializer.js +++ b/src/Serializers/TermMapSerializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var TermSerializer = require( './TermSerializer.js' ), PARENT = require( './Serializer.js' ), @@ -41,4 +41,4 @@ module.exports = util.inherit( 'WbTermMapSerializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/Serializers/TermSerializer.js b/src/Serializers/TermSerializer.js index 7582600..edf3b11 100644 --- a/src/Serializers/TermSerializer.js +++ b/src/Serializers/TermSerializer.js @@ -1,4 +1,4 @@ -( function( util ) { +( function() { 'use strict'; var PARENT = require( './Serializer.js' ), @@ -34,4 +34,4 @@ module.exports = util.inherit( 'WbTermSerializer', PARENT, { } } ); -}( util ) ); +}() ); diff --git a/src/StrategyProvider.js b/src/StrategyProvider.js index fe448df..f965be2 100644 --- a/src/StrategyProvider.js +++ b/src/StrategyProvider.js @@ -1,4 +1,4 @@ -( function( $ ) { +( function() { 'use strict'; /** @@ -71,4 +71,4 @@ $.extend( SELF.prototype, { module.exports = SELF; -}( jQuery ) ); +}() ); diff --git a/tests/Deserializers/ClaimDeserializer.tests.js b/tests/Deserializers/ClaimDeserializer.tests.js index 9f77365..3ec9675 100644 --- a/tests/Deserializers/ClaimDeserializer.tests.js +++ b/tests/Deserializers/ClaimDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; var ClaimDeserializer = require( '../../src/Deserializers/ClaimDeserializer.js' ), @@ -57,4 +57,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/Deserializer.tests.js b/tests/Deserializers/Deserializer.tests.js index 5faee13..88507a9 100644 --- a/tests/Deserializers/Deserializer.tests.js +++ b/tests/Deserializers/Deserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( util, QUnit ) { +( function() { 'use strict'; QUnit.module( 'Deserializer' ); @@ -22,4 +22,4 @@ QUnit.test( 'deserialize()', function( assert ) { ); } ); -}( util, QUnit ) ); +}() ); diff --git a/tests/Deserializers/EntityDeserializer.tests.js b/tests/Deserializers/EntityDeserializer.tests.js index 322e1a2..ba8fe2c 100644 --- a/tests/Deserializers/EntityDeserializer.tests.js +++ b/tests/Deserializers/EntityDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( $, QUnit ) { +( function() { 'use strict'; QUnit.module( 'EntityDeserializer' ); @@ -153,4 +153,4 @@ QUnit.test( 'registerStrategy()', function( assert ) { ); } ); -}( jQuery, QUnit ) ); +}() ); diff --git a/tests/Deserializers/FingerprintDeserializer.tests.js b/tests/Deserializers/FingerprintDeserializer.tests.js index 0c9b65c..6f96372 100644 --- a/tests/Deserializers/FingerprintDeserializer.tests.js +++ b/tests/Deserializers/FingerprintDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'FingerprintDeserializer' ); @@ -43,4 +43,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/ItemDeserializer.tests.js b/tests/Deserializers/ItemDeserializer.tests.js index e0f6a80..02ac809 100644 --- a/tests/Deserializers/ItemDeserializer.tests.js +++ b/tests/Deserializers/ItemDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( $, QUnit ) { +( function() { 'use strict'; QUnit.module( 'EntityDeserializer' ); @@ -81,4 +81,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( jQuery, QUnit ) ); +}() ); diff --git a/tests/Deserializers/MultiTermDeserializer.tests.js b/tests/Deserializers/MultiTermDeserializer.tests.js index e398e60..3309998 100644 --- a/tests/Deserializers/MultiTermDeserializer.tests.js +++ b/tests/Deserializers/MultiTermDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'MultiTermDeserializer' ); @@ -29,4 +29,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/MultiTermMapDeserializer.tests.js b/tests/Deserializers/MultiTermMapDeserializer.tests.js index 7a26c0b..016f0da 100644 --- a/tests/Deserializers/MultiTermMapDeserializer.tests.js +++ b/tests/Deserializers/MultiTermMapDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'MultiTermMapDeserializer' ); @@ -47,4 +47,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/PropertyDeserializer.tests.js b/tests/Deserializers/PropertyDeserializer.tests.js index 3f99456..09bae88 100644 --- a/tests/Deserializers/PropertyDeserializer.tests.js +++ b/tests/Deserializers/PropertyDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( $, QUnit ) { +( function() { 'use strict'; QUnit.module( 'EntityDeserializer' ); @@ -75,4 +75,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( jQuery, QUnit ) ); +}() ); diff --git a/tests/Deserializers/ReferenceDeserializer.tests.js b/tests/Deserializers/ReferenceDeserializer.tests.js index b9171d4..aaef16e 100644 --- a/tests/Deserializers/ReferenceDeserializer.tests.js +++ b/tests/Deserializers/ReferenceDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; var ReferenceDeserializer = require( '../../src/Deserializers/ReferenceDeserializer.js' ), @@ -67,4 +67,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/ReferenceListDeserializer.tests.js b/tests/Deserializers/ReferenceListDeserializer.tests.js index ca3a242..f66c825 100644 --- a/tests/Deserializers/ReferenceListDeserializer.tests.js +++ b/tests/Deserializers/ReferenceListDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; var ReferenceListDeserializer = require( '../../src/Deserializers/ReferenceListDeserializer.js' ), @@ -53,4 +53,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/SiteLinkDeserializer.tests.js b/tests/Deserializers/SiteLinkDeserializer.tests.js index db6c2ee..31f9bd9 100644 --- a/tests/Deserializers/SiteLinkDeserializer.tests.js +++ b/tests/Deserializers/SiteLinkDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'SiteLinkDeserializer' ); @@ -32,4 +32,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/SiteLinkSetDeserializer.tests.js b/tests/Deserializers/SiteLinkSetDeserializer.tests.js index d3b37d8..3fe9843 100644 --- a/tests/Deserializers/SiteLinkSetDeserializer.tests.js +++ b/tests/Deserializers/SiteLinkSetDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'SiteLinkSetDeserializer' ); @@ -37,4 +37,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/SnakDeserializer.tests.js b/tests/Deserializers/SnakDeserializer.tests.js index 4daa9d5..204c50c 100644 --- a/tests/Deserializers/SnakDeserializer.tests.js +++ b/tests/Deserializers/SnakDeserializer.tests.js @@ -3,7 +3,7 @@ * @author H. Snater < mediawiki@snater.com > */ -( function( dv, QUnit ) { +( function( dv ) { 'use strict'; QUnit.module( 'SnakDeserializer' ); @@ -68,4 +68,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( dataValues, QUnit ) ); +}( dataValues ) ); diff --git a/tests/Deserializers/SnakListDeserializer.tests.js b/tests/Deserializers/SnakListDeserializer.tests.js index f3ceaf6..f7ffac3 100644 --- a/tests/Deserializers/SnakListDeserializer.tests.js +++ b/tests/Deserializers/SnakListDeserializer.tests.js @@ -3,7 +3,7 @@ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; var SnakListDeserializer = require( '../../src/Deserializers/SnakListDeserializer.js' ), @@ -67,4 +67,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/StatementDeserializer.tests.js b/tests/Deserializers/StatementDeserializer.tests.js index 7ce1b4e..e7f0bba 100644 --- a/tests/Deserializers/StatementDeserializer.tests.js +++ b/tests/Deserializers/StatementDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'StatementDeserializer' ); @@ -58,4 +58,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/StatementGroupDeserializer.tests.js b/tests/Deserializers/StatementGroupDeserializer.tests.js index be79c38..5e884c9 100644 --- a/tests/Deserializers/StatementGroupDeserializer.tests.js +++ b/tests/Deserializers/StatementGroupDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; var StatementGroupDeserializer = require( '../../src/Deserializers/StatementGroupDeserializer.js' ), @@ -50,4 +50,4 @@ QUnit.test( 'deserialize()', function( assert ) { ); } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/StatementGroupSetDeserializer.tests.js b/tests/Deserializers/StatementGroupSetDeserializer.tests.js index f5dd187..7b5d5a7 100644 --- a/tests/Deserializers/StatementGroupSetDeserializer.tests.js +++ b/tests/Deserializers/StatementGroupSetDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'StatementGroupSetDeserializer' ); @@ -64,4 +64,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/StatementListDeserializer.tests.js b/tests/Deserializers/StatementListDeserializer.tests.js index 4c26953..37d891b 100644 --- a/tests/Deserializers/StatementListDeserializer.tests.js +++ b/tests/Deserializers/StatementListDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'StatementListDeserializer' ); @@ -43,4 +43,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/TermDeserializer.tests.js b/tests/Deserializers/TermDeserializer.tests.js index d856ec4..64e022e 100644 --- a/tests/Deserializers/TermDeserializer.tests.js +++ b/tests/Deserializers/TermDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'TermDeserializer' ); @@ -30,4 +30,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Deserializers/TermMapDeserializer.tests.js b/tests/Deserializers/TermMapDeserializer.tests.js index 315c537..280ef49 100644 --- a/tests/Deserializers/TermMapDeserializer.tests.js +++ b/tests/Deserializers/TermMapDeserializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'TermMapDeserializer' ); @@ -48,4 +48,4 @@ QUnit.test( 'deserialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/MockEntity.js b/tests/MockEntity.js index d371fc7..5d6b263 100644 --- a/tests/MockEntity.js +++ b/tests/MockEntity.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( util ) { +( function() { 'use strict'; var datamodel = require( 'wikibase.datamodel' ); @@ -41,4 +41,4 @@ var SELF = util.inherit( SELF.TYPE = 'mock'; module.exports = SELF; -}( util ) ); +}() ); diff --git a/tests/MockEntity.tests.js b/tests/MockEntity.tests.js index 3e68544..73447d9 100644 --- a/tests/MockEntity.tests.js +++ b/tests/MockEntity.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'MockEntity' ); @@ -92,4 +92,4 @@ QUnit.test( 'equals()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Serializers/ClaimSerializer.tests.js b/tests/Serializers/ClaimSerializer.tests.js index 6fde6f3..b7578e0 100644 --- a/tests/Serializers/ClaimSerializer.tests.js +++ b/tests/Serializers/ClaimSerializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'ClaimSerializer' ); @@ -58,4 +58,4 @@ QUnit.test( 'serialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Serializers/ReferenceListSerializer.tests.js b/tests/Serializers/ReferenceListSerializer.tests.js index 0bdc964..3834839 100644 --- a/tests/Serializers/ReferenceListSerializer.tests.js +++ b/tests/Serializers/ReferenceListSerializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'ReferenceListSerializer' ); @@ -54,4 +54,4 @@ QUnit.test( 'serialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Serializers/ReferenceSerializer.tests.js b/tests/Serializers/ReferenceSerializer.tests.js index 48340e6..032dc49 100644 --- a/tests/Serializers/ReferenceSerializer.tests.js +++ b/tests/Serializers/ReferenceSerializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'ReferenceSerializer' ); @@ -68,4 +68,4 @@ QUnit.test( 'serialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Serializers/Serializer.tests.js b/tests/Serializers/Serializer.tests.js index cbd2a94..2e527b0 100644 --- a/tests/Serializers/Serializer.tests.js +++ b/tests/Serializers/Serializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( util, QUnit ) { +( function() { 'use strict'; QUnit.module( 'Serializer' ); @@ -22,4 +22,4 @@ QUnit.test( 'serialize()', function( assert ) { ); } ); -}( util, QUnit ) ); +}() ); diff --git a/tests/Serializers/SnakListSerializer.tests.js b/tests/Serializers/SnakListSerializer.tests.js index 95bd568..4f54646 100644 --- a/tests/Serializers/SnakListSerializer.tests.js +++ b/tests/Serializers/SnakListSerializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'SnakListSerializer' ); @@ -57,4 +57,4 @@ QUnit.test( 'serialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Serializers/SnakSerializer.tests.js b/tests/Serializers/SnakSerializer.tests.js index de1fa5a..d53abc8 100644 --- a/tests/Serializers/SnakSerializer.tests.js +++ b/tests/Serializers/SnakSerializer.tests.js @@ -3,7 +3,7 @@ * @author H. Snater < mediawiki@snater.com > */ -( function( dv, QUnit ) { +( function( dv ) { 'use strict'; QUnit.module( 'SnakSerializer' ); @@ -50,4 +50,4 @@ QUnit.test( 'serialize()', function( assert ) { } } ); -}( dataValues, QUnit ) ); +}( dataValues ) ); diff --git a/tests/Serializers/StatementListSerializer.tests.js b/tests/Serializers/StatementListSerializer.tests.js index 4f58403..7d4094a 100644 --- a/tests/Serializers/StatementListSerializer.tests.js +++ b/tests/Serializers/StatementListSerializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'StatementListSerializer' ); @@ -44,4 +44,4 @@ QUnit.test( 'serialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Serializers/StatementSerializer.tests.js b/tests/Serializers/StatementSerializer.tests.js index 5a03b52..7ba2a29 100644 --- a/tests/Serializers/StatementSerializer.tests.js +++ b/tests/Serializers/StatementSerializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'StatementSerializer' ); @@ -59,4 +59,4 @@ QUnit.test( 'serialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Serializers/TermMapSerializer.tests.js b/tests/Serializers/TermMapSerializer.tests.js index f4bd24d..3e4e1e9 100644 --- a/tests/Serializers/TermMapSerializer.tests.js +++ b/tests/Serializers/TermMapSerializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'TermMapSerializer' ); @@ -48,4 +48,4 @@ QUnit.test( 'serialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/Serializers/TermSerializer.tests.js b/tests/Serializers/TermSerializer.tests.js index 17c0eb5..eaedf8e 100644 --- a/tests/Serializers/TermSerializer.tests.js +++ b/tests/Serializers/TermSerializer.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; var TermSerializer = require( '../../src/Serializers/TermSerializer.js' ), @@ -30,4 +30,4 @@ QUnit.test( 'serialize()', function( assert ) { } } ); -}( QUnit ) ); +}() ); diff --git a/tests/StrategyProvider.tests.js b/tests/StrategyProvider.tests.js index 89cfe37..4741eff 100644 --- a/tests/StrategyProvider.tests.js +++ b/tests/StrategyProvider.tests.js @@ -2,7 +2,7 @@ * @license GPL-2.0+ * @author H. Snater < mediawiki@snater.com > */ -( function( QUnit ) { +( function() { 'use strict'; QUnit.module( 'StrategyProvider' ); @@ -43,4 +43,4 @@ QUnit.test( 'registerStrategy() & getStrategyFor()', function( assert ) { } } ); -}( QUnit ) ); +}() ); From 1eadf184d28d13c939f43eb896349d4714db79b3 Mon Sep 17 00:00:00 2001 From: Ed Sanders Date: Thu, 12 Dec 2019 21:04:45 +0000 Subject: [PATCH 07/16] build: Update eslint-config-wikimedia --- .eslintrc.json | 17 ++++++++--------- package.json | 4 ++-- src/Deserializers/SnakListDeserializer.js | 4 +++- tests/.eslintrc.json | 10 +++++----- tests/MockEntity.tests.js | 16 ++++++++++------ 5 files changed, 28 insertions(+), 23 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 7d95176..2bf3e88 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,19 +1,18 @@ { - "extends": "wikimedia", - "plugins": [ - "mediawiki" - ], - "env": { - "browser": true, - "jquery": true, - "commonjs": true + "root": true, + "extends": [ + "wikimedia/client", + "wikimedia/jquery", + "wikimedia/mediawiki" + ], + "env": { + "commonjs": true }, "globals": { "dataValues": false, "util": false }, "rules": { - "mediawiki/valid-package-file-require": "error", "computed-property-spacing": "off", "indent": "off", "keyword-spacing": "off", diff --git a/package.json b/package.json index 485d09b..315ef3e 100644 --- a/package.json +++ b/package.json @@ -33,8 +33,8 @@ "wikibase-data-values": "^0.10.0" }, "devDependencies": { - "eslint": "^6.5.1", - "eslint-config-wikimedia": "0.4.0", + "eslint": "^6.7.2", + "eslint-config-wikimedia": "0.15.0", "eslint-plugin-mediawiki": "^0.2.1", "karma": "^1.7.1", "karma-cli": "^1.0.1", diff --git a/src/Deserializers/SnakListDeserializer.js b/src/Deserializers/SnakListDeserializer.js index 5d3ad98..a602037 100644 --- a/src/Deserializers/SnakListDeserializer.js +++ b/src/Deserializers/SnakListDeserializer.js @@ -47,6 +47,7 @@ module.exports = util.inherit( 'WbSnakListDeserializer', PARENT, { if( !order ) { // No order specified: Just loop through the json object: + // eslint-disable-next-line no-jquery/no-each-util $.each( serialization, function( propertyId, snaksPerProperty ) { addSerializedSnaksToSnakList( snaksPerProperty, snaks ); } ); @@ -54,8 +55,9 @@ module.exports = util.inherit( 'WbSnakListDeserializer', PARENT, { } else { // Check whether all property ids that are featured by snaks are specified in the order // list: + // eslint-disable-next-line no-jquery/no-each-util $.each( serialization, function( propertyId ) { - if( $.inArray( propertyId, order ) === -1 ) { + if( order.indexOf( propertyId ) === -1 ) { throw new Error( 'Snak featuring the property id ' + propertyId + ' is not ' + 'present within list of property ids defined for ordering' ); } diff --git a/tests/.eslintrc.json b/tests/.eslintrc.json index 7f5cf82..cf611d3 100644 --- a/tests/.eslintrc.json +++ b/tests/.eslintrc.json @@ -1,9 +1,9 @@ { - "extends": "../.eslintrc.json", - "env": { - "qunit": true - }, + "extends": [ + "wikimedia/qunit", + "../.eslintrc.json" + ], "rules": { - "dot-notation": "off" + "qunit/require-expect": "off" } } diff --git a/tests/MockEntity.tests.js b/tests/MockEntity.tests.js index 73447d9..d92c0e9 100644 --- a/tests/MockEntity.tests.js +++ b/tests/MockEntity.tests.js @@ -43,7 +43,7 @@ QUnit.test( 'Constructor', function( assert ) { QUnit.test( 'isEmpty()', function( assert ) { assert.expect( 2 ); - assert.ok( + assert.strictEqual( ( new MockEntity( 'i am an id', new datamodel.Fingerprint( @@ -52,11 +52,12 @@ QUnit.test( 'isEmpty()', function( assert ) { new datamodel.MultiTermMap() ) ) ).isEmpty(), + true, 'Verified isEmpty() returning TRUE.' ); - assert.ok( - !( new MockEntity( + assert.strictEqual( + ( new MockEntity( 'i am an id', new datamodel.Fingerprint( new datamodel.TermMap( { de: new datamodel.Term( 'de', 'de-term' ) } ), @@ -64,6 +65,7 @@ QUnit.test( 'isEmpty()', function( assert ) { new datamodel.MultiTermMap() ) ) ).isEmpty(), + false, 'Returning FALSE when Fingerprint is not empty.' ); } ); @@ -77,15 +79,17 @@ QUnit.test( 'equals()', function( assert ) { var property2 = new MockEntity( testSets[j][0], testSets[j][1] ); if( i === j ) { - assert.ok( + assert.strictEqual( property1.equals( property2 ), + true, 'Test set #' + i + ' equals test set #' + j + '.' ); continue; } - assert.ok( - !property1.equals( property2 ), + assert.strictEqual( + property1.equals( property2 ), + false, 'Test set #' + i + ' does not equal test set #' + j + '.' ); } From 89a396daf9de4818efb8d6171ad117f0c2f1912e Mon Sep 17 00:00:00 2001 From: Ed Sanders Date: Thu, 12 Dec 2019 21:18:42 +0000 Subject: [PATCH 08/16] eslint: Enforce indent rule --- .eslintrc.json | 1 - src/Deserializers/ClaimDeserializer.js | 60 ++-- src/Deserializers/EntityDeserializer.js | 98 +++---- src/Deserializers/FingerprintDeserializer.js | 52 ++-- src/Deserializers/ItemDeserializer.js | 68 ++--- src/Deserializers/MultiTermDeserializer.js | 56 ++-- src/Deserializers/MultiTermMapDeserializer.js | 49 ++-- src/Deserializers/PropertyDeserializer.js | 64 ++--- src/Deserializers/ReferenceDeserializer.js | 50 ++-- .../ReferenceListDeserializer.js | 48 ++-- src/Deserializers/SiteLinkDeserializer.js | 46 ++-- src/Deserializers/SiteLinkSetDeserializer.js | 48 ++-- src/Deserializers/SnakDeserializer.js | 70 ++--- src/Deserializers/SnakListDeserializer.js | 120 ++++---- src/Deserializers/StatementDeserializer.js | 54 ++-- .../StatementGroupDeserializer.js | 52 ++-- .../StatementGroupSetDeserializer.js | 52 ++-- .../StatementListDeserializer.js | 48 ++-- src/Deserializers/TermDeserializer.js | 36 +-- src/Deserializers/TermMapDeserializer.js | 48 ++-- src/Serializers/ClaimSerializer.js | 92 +++---- src/Serializers/ReferenceListSerializer.js | 62 ++--- src/Serializers/ReferenceSerializer.js | 70 ++--- src/Serializers/SnakListSerializer.js | 70 ++--- src/Serializers/SnakSerializer.js | 78 +++--- src/Serializers/StatementListSerializer.js | 62 ++--- src/Serializers/StatementSerializer.js | 84 +++--- src/Serializers/TermMapSerializer.js | 60 ++-- src/Serializers/TermSerializer.js | 54 ++-- src/StrategyProvider.js | 118 ++++---- .../Deserializers/ClaimDeserializer.tests.js | 88 +++--- tests/Deserializers/Deserializer.tests.js | 28 +- .../Deserializers/EntityDeserializer.tests.js | 258 +++++++++--------- .../FingerprintDeserializer.tests.js | 70 ++--- tests/Deserializers/ItemDeserializer.tests.js | 138 +++++----- .../MultiTermDeserializer.tests.js | 42 +-- .../MultiTermMapDeserializer.tests.js | 78 +++--- .../PropertyDeserializer.tests.js | 128 ++++----- .../ReferenceDeserializer.tests.js | 112 ++++---- .../ReferenceListDeserializer.tests.js | 86 +++--- .../SiteLinkDeserializer.tests.js | 48 ++-- .../SiteLinkSetDeserializer.tests.js | 58 ++-- tests/Deserializers/SnakDeserializer.tests.js | 105 ++++--- .../SnakListDeserializer.tests.js | 112 ++++---- .../StatementDeserializer.tests.js | 94 +++---- .../StatementGroupDeserializer.tests.js | 78 +++--- .../StatementGroupSetDeserializer.tests.js | 110 ++++---- .../StatementListDeserializer.tests.js | 66 ++--- tests/Deserializers/TermDeserializer.tests.js | 42 +-- .../TermMapDeserializer.tests.js | 78 +++--- tests/MockEntity.js | 52 ++-- tests/MockEntity.tests.js | 142 +++++----- tests/Serializers/ClaimSerializer.tests.js | 94 +++---- .../ReferenceListSerializer.tests.js | 86 +++--- .../Serializers/ReferenceSerializer.tests.js | 118 ++++---- tests/Serializers/Serializer.tests.js | 28 +- tests/Serializers/SnakListSerializer.tests.js | 96 +++---- tests/Serializers/SnakSerializer.tests.js | 78 +++--- .../StatementListSerializer.tests.js | 66 ++--- .../Serializers/StatementSerializer.tests.js | 100 +++---- tests/Serializers/TermMapSerializer.tests.js | 78 +++--- tests/Serializers/TermSerializer.tests.js | 42 +-- tests/StrategyProvider.tests.js | 62 ++--- 63 files changed, 2364 insertions(+), 2367 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 2bf3e88..6007f48 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -14,7 +14,6 @@ }, "rules": { "computed-property-spacing": "off", - "indent": "off", "keyword-spacing": "off", "new-parens": "off", "no-underscore-dangle": "off", diff --git a/src/Deserializers/ClaimDeserializer.js b/src/Deserializers/ClaimDeserializer.js index 20d8983..ecc55fa 100644 --- a/src/Deserializers/ClaimDeserializer.js +++ b/src/Deserializers/ClaimDeserializer.js @@ -1,41 +1,41 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - SnakDeserializer = require( './SnakDeserializer.js' ), - SnakListDeserializer = require( './SnakListDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + SnakDeserializer = require( './SnakDeserializer.js' ), + SnakListDeserializer = require( './SnakListDeserializer.js' ); -/** - * @class ClaimDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * @author Daniel Werner < daniel.a.r.werner@gmail.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbClaimDeserializer', PARENT, { /** - * @inheritdoc + * @class ClaimDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > + * @author Daniel Werner < daniel.a.r.werner@gmail.com > * - * @return {datamodel.Claim} + * @constructor */ - deserialize: function( serialization ) { - var mainSnak = ( new SnakDeserializer ).deserialize( serialization.mainsnak ), - qualifiers = null, - guid = serialization.id || null; + module.exports = util.inherit( 'WbClaimDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.Claim} + */ + deserialize: function( serialization ) { + var mainSnak = ( new SnakDeserializer ).deserialize( serialization.mainsnak ), + qualifiers = null, + guid = serialization.id || null; - if( serialization.qualifiers !== undefined ) { - qualifiers = ( new SnakListDeserializer() ).deserialize( - serialization.qualifiers, - serialization['qualifiers-order'] - ); - } + if( serialization.qualifiers !== undefined ) { + qualifiers = ( new SnakListDeserializer() ).deserialize( + serialization.qualifiers, + serialization['qualifiers-order'] + ); + } - return new datamodel.Claim( mainSnak, qualifiers, guid ); - } -} ); + return new datamodel.Claim( mainSnak, qualifiers, guid ); + } + } ); }() ); diff --git a/src/Deserializers/EntityDeserializer.js b/src/Deserializers/EntityDeserializer.js index a037912..6de32e4 100644 --- a/src/Deserializers/EntityDeserializer.js +++ b/src/Deserializers/EntityDeserializer.js @@ -1,60 +1,60 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - ItemDeserializer = require( './ItemDeserializer.js' ), - PropertyDeserializer = require( './PropertyDeserializer.js' ), - StrategyProvider = require( '../StrategyProvider.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + ItemDeserializer = require( './ItemDeserializer.js' ), + PropertyDeserializer = require( './PropertyDeserializer.js' ), + StrategyProvider = require( '../StrategyProvider.js' ); -/** - * @class EntityDeserializer - * @extends Deserializer - * @since 1.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbEntityDeserializer', PARENT, function() { - this._strategyProvider = new StrategyProvider(); - this._strategyProvider.registerStrategy( - new ItemDeserializer(), datamodel.Item.TYPE - ); - this._strategyProvider.registerStrategy( - new PropertyDeserializer(), datamodel.Property.TYPE - ); -}, { /** - * @property {StrategyProvider} - * @private + * @class EntityDeserializer + * @extends Deserializer + * @since 1.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > + * + * @constructor */ - _strategyProvider: null, + module.exports = util.inherit( 'WbEntityDeserializer', PARENT, function() { + this._strategyProvider = new StrategyProvider(); + this._strategyProvider.registerStrategy( + new ItemDeserializer(), datamodel.Item.TYPE + ); + this._strategyProvider.registerStrategy( + new PropertyDeserializer(), datamodel.Property.TYPE + ); + }, { + /** + * @property {StrategyProvider} + * @private + */ + _strategyProvider: null, - /** - * @param {Deserializer} deserializer - * @param {string} entityType - */ - registerStrategy: function( deserializer, entityType ) { - this._strategyProvider.registerStrategy( deserializer, entityType ); - }, + /** + * @param {Deserializer} deserializer + * @param {string} entityType + */ + registerStrategy: function( deserializer, entityType ) { + this._strategyProvider.registerStrategy( deserializer, entityType ); + }, - /** - * @inheritdoc - * - * @return {datamodel.Entity} - * - * @throws {Error} if unable to detect the entity type from the serialization. - */ - deserialize: function( serialization ) { - if( !serialization.type || typeof serialization.type !== 'string' ) { - throw new Error( 'Can not determine type of Entity from serialized object' ); - } + /** + * @inheritdoc + * + * @return {datamodel.Entity} + * + * @throws {Error} if unable to detect the entity type from the serialization. + */ + deserialize: function( serialization ) { + if( !serialization.type || typeof serialization.type !== 'string' ) { + throw new Error( 'Can not determine type of Entity from serialized object' ); + } - return this._strategyProvider - .getStrategyFor( serialization.type ) - .deserialize( serialization ); - } -} ); + return this._strategyProvider + .getStrategyFor( serialization.type ) + .deserialize( serialization ); + } + } ); }() ); diff --git a/src/Deserializers/FingerprintDeserializer.js b/src/Deserializers/FingerprintDeserializer.js index b9384de..5ef9ca7 100644 --- a/src/Deserializers/FingerprintDeserializer.js +++ b/src/Deserializers/FingerprintDeserializer.js @@ -1,36 +1,36 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - TermMapDeserializer = require( './TermMapDeserializer.js' ), - MultiTermMapDeserializer = require( './MultiTermMapDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + TermMapDeserializer = require( './TermMapDeserializer.js' ), + MultiTermMapDeserializer = require( './MultiTermMapDeserializer.js' ); -/** - * @class FingerprintDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbFingerprintDeserializer', PARENT, { /** - * @inheritdoc + * @class FingerprintDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.Fingerprint} + * @constructor */ - deserialize: function( serialization ) { - var termMapDeserializer = new TermMapDeserializer(), - multiTermMapDeserializer = new MultiTermMapDeserializer(); + module.exports = util.inherit( 'WbFingerprintDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.Fingerprint} + */ + deserialize: function( serialization ) { + var termMapDeserializer = new TermMapDeserializer(), + multiTermMapDeserializer = new MultiTermMapDeserializer(); - return new datamodel.Fingerprint( - termMapDeserializer.deserialize( serialization.labels ), - termMapDeserializer.deserialize( serialization.descriptions ), - multiTermMapDeserializer.deserialize( serialization.aliases ) - ); - } -} ); + return new datamodel.Fingerprint( + termMapDeserializer.deserialize( serialization.labels ), + termMapDeserializer.deserialize( serialization.descriptions ), + multiTermMapDeserializer.deserialize( serialization.aliases ) + ); + } + } ); }() ); diff --git a/src/Deserializers/ItemDeserializer.js b/src/Deserializers/ItemDeserializer.js index c4f36b0..12661ab 100644 --- a/src/Deserializers/ItemDeserializer.js +++ b/src/Deserializers/ItemDeserializer.js @@ -1,45 +1,45 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - Item = require( 'wikibase.datamodel' ).Item, - StatementGroupSetDeserializer = require( './StatementGroupSetDeserializer.js' ), - FingerprintDeserializer = require( './FingerprintDeserializer.js' ), - SiteLinkSetDeserializer = require( './SiteLinkSetDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + Item = require( 'wikibase.datamodel' ).Item, + StatementGroupSetDeserializer = require( './StatementGroupSetDeserializer.js' ), + FingerprintDeserializer = require( './FingerprintDeserializer.js' ), + SiteLinkSetDeserializer = require( './SiteLinkSetDeserializer.js' ); -/** - * @class ItemDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbItemDeserializer', PARENT, { /** - * @inheritdoc + * @class ItemDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {Item} - * - * @throws {Error} if serialization does not resolve to a serialized Item. + * @constructor */ - deserialize: function( serialization ) { - if( serialization.type !== Item.TYPE ) { - throw new Error( 'Serialization does not resolve to an Item' ); - } + module.exports = util.inherit( 'WbItemDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {Item} + * + * @throws {Error} if serialization does not resolve to a serialized Item. + */ + deserialize: function( serialization ) { + if( serialization.type !== Item.TYPE ) { + throw new Error( 'Serialization does not resolve to an Item' ); + } - var fingerprintDeserializer = new FingerprintDeserializer(), - statementGroupSetDeserializer = new StatementGroupSetDeserializer(), - siteLinkSetDeserializer = new SiteLinkSetDeserializer(); + var fingerprintDeserializer = new FingerprintDeserializer(), + statementGroupSetDeserializer = new StatementGroupSetDeserializer(), + siteLinkSetDeserializer = new SiteLinkSetDeserializer(); - return new Item( - serialization.id, - fingerprintDeserializer.deserialize( serialization ), - statementGroupSetDeserializer.deserialize( serialization.claims ), - siteLinkSetDeserializer.deserialize( serialization.sitelinks ) - ); - } -} ); + return new Item( + serialization.id, + fingerprintDeserializer.deserialize( serialization ), + statementGroupSetDeserializer.deserialize( serialization.claims ), + siteLinkSetDeserializer.deserialize( serialization.sitelinks ) + ); + } + } ); }() ); diff --git a/src/Deserializers/MultiTermDeserializer.js b/src/Deserializers/MultiTermDeserializer.js index 71f79b0..70f0c43 100644 --- a/src/Deserializers/MultiTermDeserializer.js +++ b/src/Deserializers/MultiTermDeserializer.js @@ -1,40 +1,40 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class MultiTermDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbMultiTermDeserializer', PARENT, { /** - * @inheritdoc + * @class MultiTermDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.MultiTerm} - * - * @throws {Error} if serialization is empty. + * @constructor */ - deserialize: function( serialization ) { - if( !serialization.length ) { - throw new Error( 'Unable to deserialize empty serialization to MultiTerm' ); - } + module.exports = util.inherit( 'WbMultiTermDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.MultiTerm} + * + * @throws {Error} if serialization is empty. + */ + deserialize: function( serialization ) { + if( !serialization.length ) { + throw new Error( 'Unable to deserialize empty serialization to MultiTerm' ); + } - var languageCode = serialization[0].language, - terms = []; + var languageCode = serialization[0].language, + terms = []; - for( var i = 0; i < serialization.length; i++ ) { - terms.push( serialization[i].value ); - } + for( var i = 0; i < serialization.length; i++ ) { + terms.push( serialization[i].value ); + } - return new datamodel.MultiTerm( languageCode, terms ); - } -} ); + return new datamodel.MultiTerm( languageCode, terms ); + } + } ); }() ); diff --git a/src/Deserializers/MultiTermMapDeserializer.js b/src/Deserializers/MultiTermMapDeserializer.js index 8506e6c..8243a31 100644 --- a/src/Deserializers/MultiTermMapDeserializer.js +++ b/src/Deserializers/MultiTermMapDeserializer.js @@ -1,36 +1,35 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - MultiTermDeserializer = require( './MultiTermDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + MultiTermDeserializer = require( './MultiTermDeserializer.js' ); -/** - * @class MultiTermMapDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbMultiTermMapDeserializer', PARENT, { /** - * @inheritdoc + * @class MultiTermMapDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.MultiTermMap} + * @constructor */ - deserialize: function( serialization ) { - var multiTerms = {}, - multiTermDeserializer = new MultiTermDeserializer(); + module.exports = util.inherit( 'WbMultiTermMapDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.MultiTermMap} + */ + deserialize: function( serialization ) { + var multiTerms = {}, + multiTermDeserializer = new MultiTermDeserializer(); - for( var languageCode in serialization ) { - multiTerms[languageCode] - = multiTermDeserializer.deserialize( serialization[languageCode] ); - } + for( var languageCode in serialization ) { + multiTerms[languageCode] = multiTermDeserializer.deserialize( serialization[languageCode] ); + } - return new datamodel.MultiTermMap( multiTerms ); - } -} ); + return new datamodel.MultiTermMap( multiTerms ); + } + } ); }() ); diff --git a/src/Deserializers/PropertyDeserializer.js b/src/Deserializers/PropertyDeserializer.js index fa2a3cf..e4d7df3 100644 --- a/src/Deserializers/PropertyDeserializer.js +++ b/src/Deserializers/PropertyDeserializer.js @@ -1,43 +1,43 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - StatementGroupSetDeserializer = require( './StatementGroupSetDeserializer.js' ), - FingerprintDeserializer = require( './FingerprintDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + StatementGroupSetDeserializer = require( './StatementGroupSetDeserializer.js' ), + FingerprintDeserializer = require( './FingerprintDeserializer.js' ); -/** - * @class PropertyDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbPropertyDeserializer', PARENT, { /** - * @inheritdoc + * @class PropertyDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.Property} - * - * @throws {Error} if serialization does not resolve to a serialized Property. + * @constructor */ - deserialize: function( serialization ) { - if( serialization.type !== datamodel.Property.TYPE ) { - throw new Error( 'Serialization does not resolve to a Property' ); - } + module.exports = util.inherit( 'WbPropertyDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.Property} + * + * @throws {Error} if serialization does not resolve to a serialized Property. + */ + deserialize: function( serialization ) { + if( serialization.type !== datamodel.Property.TYPE ) { + throw new Error( 'Serialization does not resolve to a Property' ); + } - var fingerprintDeserializer = new FingerprintDeserializer(), - statementGroupSetDeserializer = new StatementGroupSetDeserializer(); + var fingerprintDeserializer = new FingerprintDeserializer(), + statementGroupSetDeserializer = new StatementGroupSetDeserializer(); - return new datamodel.Property( - serialization.id, - serialization.datatype, - fingerprintDeserializer.deserialize( serialization ), - statementGroupSetDeserializer.deserialize( serialization.claims ) - ); - } -} ); + return new datamodel.Property( + serialization.id, + serialization.datatype, + fingerprintDeserializer.deserialize( serialization ), + statementGroupSetDeserializer.deserialize( serialization.claims ) + ); + } + } ); }() ); diff --git a/src/Deserializers/ReferenceDeserializer.js b/src/Deserializers/ReferenceDeserializer.js index 89fc188..cfcab54 100644 --- a/src/Deserializers/ReferenceDeserializer.js +++ b/src/Deserializers/ReferenceDeserializer.js @@ -1,34 +1,34 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - SnakListDeserializer = require( './SnakListDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + SnakListDeserializer = require( './SnakListDeserializer.js' ); -/** - * @class ReferenceDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbReferenceDeserializer', PARENT, { /** - * @inheritdoc + * @class ReferenceDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.Reference} + * @constructor */ - deserialize: function( serialization ) { - return new datamodel.Reference( - ( new SnakListDeserializer() ).deserialize( - serialization.snaks, - serialization['snaks-order'] - ), - serialization.hash - ); - } -} ); + module.exports = util.inherit( 'WbReferenceDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.Reference} + */ + deserialize: function( serialization ) { + return new datamodel.Reference( + ( new SnakListDeserializer() ).deserialize( + serialization.snaks, + serialization['snaks-order'] + ), + serialization.hash + ); + } + } ); }() ); diff --git a/src/Deserializers/ReferenceListDeserializer.js b/src/Deserializers/ReferenceListDeserializer.js index afac35b..25993cb 100644 --- a/src/Deserializers/ReferenceListDeserializer.js +++ b/src/Deserializers/ReferenceListDeserializer.js @@ -1,35 +1,35 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - ReferenceDeserializer = require( './ReferenceDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + ReferenceDeserializer = require( './ReferenceDeserializer.js' ); -/** - * @class ReferenceListDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbReferenceListDeserializer', PARENT, { /** - * @inheritdoc + * @class ReferenceListDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.ReferenceList} + * @constructor */ - deserialize: function( serialization ) { - var references = [], - referenceDeserializer = new ReferenceDeserializer(); + module.exports = util.inherit( 'WbReferenceListDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.ReferenceList} + */ + deserialize: function( serialization ) { + var references = [], + referenceDeserializer = new ReferenceDeserializer(); - for( var i = 0; i < serialization.length; i++ ) { - references.push( referenceDeserializer.deserialize( serialization[i] ) ); - } + for( var i = 0; i < serialization.length; i++ ) { + references.push( referenceDeserializer.deserialize( serialization[i] ) ); + } - return new datamodel.ReferenceList( references ); - } -} ); + return new datamodel.ReferenceList( references ); + } + } ); }() ); diff --git a/src/Deserializers/SiteLinkDeserializer.js b/src/Deserializers/SiteLinkDeserializer.js index 000cd08..546f5d5 100644 --- a/src/Deserializers/SiteLinkDeserializer.js +++ b/src/Deserializers/SiteLinkDeserializer.js @@ -1,32 +1,32 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class SiteLinkDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbSiteLinkDeserializer', PARENT, { /** - * @inheritdoc + * @class SiteLinkDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @param {Object} serialization - * @return {datamodel.SiteLink} + * @constructor */ - deserialize: function( serialization ) { - return new datamodel.SiteLink( - serialization.site, - serialization.title, - serialization.badges - ); - } -} ); + module.exports = util.inherit( 'WbSiteLinkDeserializer', PARENT, { + /** + * @inheritdoc + * + * @param {Object} serialization + * @return {datamodel.SiteLink} + */ + deserialize: function( serialization ) { + return new datamodel.SiteLink( + serialization.site, + serialization.title, + serialization.badges + ); + } + } ); }() ); diff --git a/src/Deserializers/SiteLinkSetDeserializer.js b/src/Deserializers/SiteLinkSetDeserializer.js index 97dc4c9..3517c08 100644 --- a/src/Deserializers/SiteLinkSetDeserializer.js +++ b/src/Deserializers/SiteLinkSetDeserializer.js @@ -1,35 +1,35 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - SiteLinkDeserializer = require( './SiteLinkDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + SiteLinkDeserializer = require( './SiteLinkDeserializer.js' ); -/** - * @class SiteLinkSetDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbSiteLinkSetDeserializer', PARENT, { /** - * @inheritdoc + * @class SiteLinkSetDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.SiteLinkSet} + * @constructor */ - deserialize: function( serialization ) { - var siteLinks = [], - siteLinkDeserializer = new SiteLinkDeserializer(); + module.exports = util.inherit( 'WbSiteLinkSetDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.SiteLinkSet} + */ + deserialize: function( serialization ) { + var siteLinks = [], + siteLinkDeserializer = new SiteLinkDeserializer(); - for( var siteId in serialization ) { - siteLinks.push( siteLinkDeserializer.deserialize( serialization[siteId] ) ); - } + for( var siteId in serialization ) { + siteLinks.push( siteLinkDeserializer.deserialize( serialization[siteId] ) ); + } - return new datamodel.SiteLinkSet( siteLinks ); - } -} ); + return new datamodel.SiteLinkSet( siteLinks ); + } + } ); }() ); diff --git a/src/Deserializers/SnakDeserializer.js b/src/Deserializers/SnakDeserializer.js index b91432b..672d205 100644 --- a/src/Deserializers/SnakDeserializer.js +++ b/src/Deserializers/SnakDeserializer.js @@ -1,48 +1,48 @@ ( function( dv ) { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class SnakDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * @author Daniel Werner < daniel.a.r.werner@gmail.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbSnakDeserializer', PARENT, { /** - * @inheritdoc + * @class SnakDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > + * @author Daniel Werner < daniel.a.r.werner@gmail.com > * - * @return {datamodel.Snak} - * - * @throws {Error} if no constructor for the snak type detected exists. + * @constructor */ - deserialize: function( serialization ) { - if( serialization.snaktype === 'novalue' ) { - return new datamodel.PropertyNoValueSnak( serialization.property, serialization.hash ); - } else if( serialization.snaktype === 'somevalue' ) { - return new datamodel.PropertySomeValueSnak( serialization.property, serialization.hash ); - } else if( serialization.snaktype === 'value' ) { - var dataValue = null, - type = serialization.datavalue.type, - value = serialization.datavalue.value; + module.exports = util.inherit( 'WbSnakDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.Snak} + * + * @throws {Error} if no constructor for the snak type detected exists. + */ + deserialize: function( serialization ) { + if( serialization.snaktype === 'novalue' ) { + return new datamodel.PropertyNoValueSnak( serialization.property, serialization.hash ); + } else if( serialization.snaktype === 'somevalue' ) { + return new datamodel.PropertySomeValueSnak( serialization.property, serialization.hash ); + } else if( serialization.snaktype === 'value' ) { + var dataValue = null, + type = serialization.datavalue.type, + value = serialization.datavalue.value; + + try { + dataValue = dv.newDataValue( type, value ); + } catch( error ) { + dataValue = new dv.UnDeserializableValue( value, type, error.message ); + } - try { - dataValue = dv.newDataValue( type, value ); - } catch( error ) { - dataValue = new dv.UnDeserializableValue( value, type, error.message ); + return new datamodel.PropertyValueSnak( serialization.property, dataValue, serialization.hash ); } - return new datamodel.PropertyValueSnak( serialization.property, dataValue, serialization.hash ); + throw new Error( 'Incompatible snak type' ); } - - throw new Error( 'Incompatible snak type' ); - } -} ); + } ); }( dataValues ) ); diff --git a/src/Deserializers/SnakListDeserializer.js b/src/Deserializers/SnakListDeserializer.js index a602037..f87b01d 100644 --- a/src/Deserializers/SnakListDeserializer.js +++ b/src/Deserializers/SnakListDeserializer.js @@ -1,84 +1,84 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - SnakDeserializer = require( './SnakDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Deserializer.js' ), + SnakDeserializer = require( './SnakDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @param {Object[]} serializedSnaks - * @param {datamodel.Snak[]} snaks - * @return {datamodel.SnakList} - */ -function addSerializedSnaksToSnakList( serializedSnaks, snaks ) { - var snakDeserializer = new SnakDeserializer(); + /** + * @param {Object[]} serializedSnaks + * @param {datamodel.Snak[]} snaks + * @return {datamodel.SnakList} + */ + function addSerializedSnaksToSnakList( serializedSnaks, snaks ) { + var snakDeserializer = new SnakDeserializer(); - for( var i = 0; i < serializedSnaks.length; i++ ) { - snaks.push( snakDeserializer.deserialize( serializedSnaks[i] ) ); - } + for( var i = 0; i < serializedSnaks.length; i++ ) { + snaks.push( snakDeserializer.deserialize( serializedSnaks[i] ) ); + } - return snaks; -} + return snaks; + } -/** - * @class SnakListDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbSnakListDeserializer', PARENT, { /** - * @inheritdoc - * - * @param {Object} serialization - * @param {string[]} [order] - * @return {datamodel.SnakList} + * @class SnakListDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @throws {Error} if the order parameter is provided but the property id of a snak - * serialization is no represented in the order. - * @throws {Error} if the order parameter is provided but no snak exists for a property - * represented in the order. + * @constructor */ - deserialize: function( serialization, order ) { - var snaks = []; + module.exports = util.inherit( 'WbSnakListDeserializer', PARENT, { + /** + * @inheritdoc + * + * @param {Object} serialization + * @param {string[]} [order] + * @return {datamodel.SnakList} + * + * @throws {Error} if the order parameter is provided but the property id of a snak + * serialization is no represented in the order. + * @throws {Error} if the order parameter is provided but no snak exists for a property + * represented in the order. + */ + deserialize: function( serialization, order ) { + var snaks = []; - if( !order ) { + if( !order ) { // No order specified: Just loop through the json object: // eslint-disable-next-line no-jquery/no-each-util - $.each( serialization, function( propertyId, snaksPerProperty ) { - addSerializedSnaksToSnakList( snaksPerProperty, snaks ); - } ); + $.each( serialization, function( propertyId, snaksPerProperty ) { + addSerializedSnaksToSnakList( snaksPerProperty, snaks ); + } ); - } else { + } else { // Check whether all property ids that are featured by snaks are specified in the order // list: // eslint-disable-next-line no-jquery/no-each-util - $.each( serialization, function( propertyId ) { - if( order.indexOf( propertyId ) === -1 ) { - throw new Error( 'Snak featuring the property id ' + propertyId + ' is not ' - + 'present within list of property ids defined for ordering' ); - } - } ); + $.each( serialization, function( propertyId ) { + if( order.indexOf( propertyId ) === -1 ) { + throw new Error( 'Snak featuring the property id ' + propertyId + ' is not ' + + 'present within list of property ids defined for ordering' ); + } + } ); - // Add all snaks grouped by property according to the order specified via the "order" - // parameter: - for( var i = 0; i < order.length; i++ ) { - var propertyId = order[i]; + // Add all snaks grouped by property according to the order specified via the "order" + // parameter: + for( var i = 0; i < order.length; i++ ) { + var propertyId = order[i]; - if( !serialization[propertyId] ) { - throw new Error( 'Trying to oder by property ' + propertyId + ' without any ' - + 'snak featuring this property being present' ); - } + if( !serialization[propertyId] ) { + throw new Error( 'Trying to oder by property ' + propertyId + ' without any ' + + 'snak featuring this property being present' ); + } - addSerializedSnaksToSnakList( serialization[propertyId], snaks ); + addSerializedSnaksToSnakList( serialization[propertyId], snaks ); + } } - } - return new datamodel.SnakList( snaks ); - } -} ); + return new datamodel.SnakList( snaks ); + } + } ); }() ); diff --git a/src/Deserializers/StatementDeserializer.js b/src/Deserializers/StatementDeserializer.js index ecd2ab3..5f30033 100644 --- a/src/Deserializers/StatementDeserializer.js +++ b/src/Deserializers/StatementDeserializer.js @@ -1,38 +1,38 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - ReferenceListDeserializer = require( './ReferenceListDeserializer.js' ), - ClaimDeserializer = require( './ClaimDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + ReferenceListDeserializer = require( './ReferenceListDeserializer.js' ), + ClaimDeserializer = require( './ClaimDeserializer.js' ); -/** - * @class StatementDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbStatementDeserializer', PARENT, { /** - * @inheritdoc + * @class StatementDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.Statement} + * @constructor */ - deserialize: function( serialization ) { - var claim = ( new ClaimDeserializer() ).deserialize( serialization ), - references = null, - rank = datamodel.Statement.RANK[serialization.rank.toUpperCase()]; + module.exports = util.inherit( 'WbStatementDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.Statement} + */ + deserialize: function( serialization ) { + var claim = ( new ClaimDeserializer() ).deserialize( serialization ), + references = null, + rank = datamodel.Statement.RANK[serialization.rank.toUpperCase()]; - if( serialization.references !== undefined ) { - var referenceDeserializer = new ReferenceListDeserializer(); - references = referenceDeserializer.deserialize( serialization.references ); - } + if( serialization.references !== undefined ) { + var referenceDeserializer = new ReferenceListDeserializer(); + references = referenceDeserializer.deserialize( serialization.references ); + } - return new datamodel.Statement( claim, references, rank ); - } -} ); + return new datamodel.Statement( claim, references, rank ); + } + } ); }() ); diff --git a/src/Deserializers/StatementGroupDeserializer.js b/src/Deserializers/StatementGroupDeserializer.js index 5461a6e..6e6b159 100644 --- a/src/Deserializers/StatementGroupDeserializer.js +++ b/src/Deserializers/StatementGroupDeserializer.js @@ -1,37 +1,37 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - StatementListDeserializer = require( './StatementListDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Deserializer.js' ), + StatementListDeserializer = require( './StatementListDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class StatementGroupDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbStatementGroupDeserializer', PARENT, { /** - * @inheritdoc + * @class StatementGroupDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.StatementGroup} - * - * @throws {Error} if serialization is an empty object. + * @constructor */ - deserialize: function( serialization ) { - if( $.isEmptyObject( serialization ) ) { - throw new Error( 'Cannot deserialize empty serialization' ); - } + module.exports = util.inherit( 'WbStatementGroupDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.StatementGroup} + * + * @throws {Error} if serialization is an empty object. + */ + deserialize: function( serialization ) { + if( $.isEmptyObject( serialization ) ) { + throw new Error( 'Cannot deserialize empty serialization' ); + } - var statementListDeserializer = new StatementListDeserializer(), - statementList = statementListDeserializer.deserialize( serialization ); + var statementListDeserializer = new StatementListDeserializer(), + statementList = statementListDeserializer.deserialize( serialization ); - return new datamodel.StatementGroup( statementList.getPropertyIds()[0], statementList ); - } -} ); + return new datamodel.StatementGroup( statementList.getPropertyIds()[0], statementList ); + } + } ); }() ); diff --git a/src/Deserializers/StatementGroupSetDeserializer.js b/src/Deserializers/StatementGroupSetDeserializer.js index 273fe0d..9ea14cb 100644 --- a/src/Deserializers/StatementGroupSetDeserializer.js +++ b/src/Deserializers/StatementGroupSetDeserializer.js @@ -1,37 +1,37 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - StatementGroupDeserializer = require( './StatementGroupDeserializer.js' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + StatementGroupDeserializer = require( './StatementGroupDeserializer.js' ); -/** - * @class StatementGroupSetDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbStatementGroupSetDeserializer', PARENT, { /** - * @inheritdoc + * @class StatementGroupSetDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.StatementGroupSet} + * @constructor */ - deserialize: function( serialization ) { - var statemenGroupDeserializer = new StatementGroupDeserializer(), - statementGroups = []; + module.exports = util.inherit( 'WbStatementGroupSetDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.StatementGroupSet} + */ + deserialize: function( serialization ) { + var statemenGroupDeserializer = new StatementGroupDeserializer(), + statementGroups = []; - for( var propertyId in serialization ) { - statementGroups.push( - statemenGroupDeserializer.deserialize( serialization[propertyId] ) - ); - } + for( var propertyId in serialization ) { + statementGroups.push( + statemenGroupDeserializer.deserialize( serialization[propertyId] ) + ); + } - return new datamodel.StatementGroupSet( statementGroups ); - } -} ); + return new datamodel.StatementGroupSet( statementGroups ); + } + } ); }() ); diff --git a/src/Deserializers/StatementListDeserializer.js b/src/Deserializers/StatementListDeserializer.js index 2cb705a..ce217c3 100644 --- a/src/Deserializers/StatementListDeserializer.js +++ b/src/Deserializers/StatementListDeserializer.js @@ -1,35 +1,35 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - StatementDeserializer = require( './StatementDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Deserializer.js' ), + StatementDeserializer = require( './StatementDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class StatementListDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbStatementListDeserializer', PARENT, { /** - * @inheritdoc + * @class StatementListDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.StatementList} + * @constructor */ - deserialize: function( serialization ) { - var statements = [], - statementDeserializer = new StatementDeserializer(); + module.exports = util.inherit( 'WbStatementListDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.StatementList} + */ + deserialize: function( serialization ) { + var statements = [], + statementDeserializer = new StatementDeserializer(); - for( var i = 0; i < serialization.length; i++ ) { - statements.push( statementDeserializer.deserialize( serialization[i] ) ); - } + for( var i = 0; i < serialization.length; i++ ) { + statements.push( statementDeserializer.deserialize( serialization[i] ) ); + } - return new datamodel.StatementList( statements ); - } -} ); + return new datamodel.StatementList( statements ); + } + } ); }() ); diff --git a/src/Deserializers/TermDeserializer.js b/src/Deserializers/TermDeserializer.js index 7d6f26b..965e171 100644 --- a/src/Deserializers/TermDeserializer.js +++ b/src/Deserializers/TermDeserializer.js @@ -1,27 +1,27 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Deserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class TermDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbTermDeserializer', PARENT, { /** - * @inheritdoc + * @class TermDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.Term} + * @constructor */ - deserialize: function( serialization ) { - return new datamodel.Term( serialization.language, serialization.value ); - } -} ); + module.exports = util.inherit( 'WbTermDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.Term} + */ + deserialize: function( serialization ) { + return new datamodel.Term( serialization.language, serialization.value ); + } + } ); }() ); diff --git a/src/Deserializers/TermMapDeserializer.js b/src/Deserializers/TermMapDeserializer.js index 2ad1793..13fc8a6 100644 --- a/src/Deserializers/TermMapDeserializer.js +++ b/src/Deserializers/TermMapDeserializer.js @@ -1,35 +1,35 @@ ( function() { 'use strict'; -var PARENT = require( './Deserializer.js' ), - TermDeserializer = require( './TermDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Deserializer.js' ), + TermDeserializer = require( './TermDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class TermMapDeserializer - * @extends Deserializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbTermMapDeserializer', PARENT, { /** - * @inheritdoc + * @class TermMapDeserializer + * @extends Deserializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @return {datamodel.TermMap} + * @constructor */ - deserialize: function( serialization ) { - var terms = {}, - termDeserializer = new TermDeserializer(); + module.exports = util.inherit( 'WbTermMapDeserializer', PARENT, { + /** + * @inheritdoc + * + * @return {datamodel.TermMap} + */ + deserialize: function( serialization ) { + var terms = {}, + termDeserializer = new TermDeserializer(); - for( var languageCode in serialization ) { - terms[languageCode] = termDeserializer.deserialize( serialization[languageCode] ); - } + for( var languageCode in serialization ) { + terms[languageCode] = termDeserializer.deserialize( serialization[languageCode] ); + } - return new datamodel.TermMap( terms ); - } -} ); + return new datamodel.TermMap( terms ); + } + } ); }() ); diff --git a/src/Serializers/ClaimSerializer.js b/src/Serializers/ClaimSerializer.js index 7947d5c..877a6ed 100644 --- a/src/Serializers/ClaimSerializer.js +++ b/src/Serializers/ClaimSerializer.js @@ -1,55 +1,55 @@ ( function() { 'use strict'; -var PARENT = require( './Serializer.js' ), - SnakSerializer = require( './SnakSerializer.js' ), - SnakListSerializer = require( './SnakListSerializer.js' ), - datamodel = require( 'wikibase.datamodel' ); - -/** - * @class ClaimSerializer - * @extends Serializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbClaimSerializer', PARENT, { + var PARENT = require( './Serializer.js' ), + SnakSerializer = require( './SnakSerializer.js' ), + SnakListSerializer = require( './SnakListSerializer.js' ), + datamodel = require( 'wikibase.datamodel' ); + /** - * @inheritdoc - * - * @param {datamodel.Claim} claim - * @return {Object} + * @class ClaimSerializer + * @extends Serializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @throws {Error} if claim is not a Claim instance. + * @constructor */ - serialize: function( claim ) { - if( !( claim instanceof datamodel.Claim ) ) { - throw new Error( 'Not an instance of datamodel.Claim' ); + module.exports = util.inherit( 'WbClaimSerializer', PARENT, { + /** + * @inheritdoc + * + * @param {datamodel.Claim} claim + * @return {Object} + * + * @throws {Error} if claim is not a Claim instance. + */ + serialize: function( claim ) { + if( !( claim instanceof datamodel.Claim ) ) { + throw new Error( 'Not an instance of datamodel.Claim' ); + } + + var snakSerializer = new SnakSerializer(), + snakListSerializer = new SnakListSerializer(), + guid = claim.getGuid(), + qualifiers = claim.getQualifiers(); + + var serialization = { + type: 'claim', + mainsnak: snakSerializer.serialize( claim.getMainSnak() ) + }; + + if( guid ) { + serialization.id = guid; + } + + if( qualifiers.length ) { + serialization.qualifiers = snakListSerializer.serialize( qualifiers ); + serialization['qualifiers-order'] = qualifiers.getPropertyOrder(); + } + + return serialization; } - - var snakSerializer = new SnakSerializer(), - snakListSerializer = new SnakListSerializer(), - guid = claim.getGuid(), - qualifiers = claim.getQualifiers(); - - var serialization = { - type: 'claim', - mainsnak: snakSerializer.serialize( claim.getMainSnak() ) - }; - - if( guid ) { - serialization.id = guid; - } - - if( qualifiers.length ) { - serialization.qualifiers = snakListSerializer.serialize( qualifiers ); - serialization['qualifiers-order'] = qualifiers.getPropertyOrder(); - } - - return serialization; - } -} ); + } ); }() ); diff --git a/src/Serializers/ReferenceListSerializer.js b/src/Serializers/ReferenceListSerializer.js index 92a4c34..3646c54 100644 --- a/src/Serializers/ReferenceListSerializer.js +++ b/src/Serializers/ReferenceListSerializer.js @@ -1,43 +1,43 @@ ( function() { 'use strict'; -var PARENT = require( './Serializer.js' ), - ReferenceSerializer = require( './ReferenceSerializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Serializer.js' ), + ReferenceSerializer = require( './ReferenceSerializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class ReferenceListSerializer - * @extends Serializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbReferenceLisSerializer', PARENT, { /** - * @inheritdoc + * @class ReferenceListSerializer + * @extends Serializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @param {datamodel.ReferenceList} referenceList - * @return {Object[]} - * - * @throws {Error} if referenceList is not a ReferenceList instance. + * @constructor */ - serialize: function( referenceList ) { - if( !( referenceList instanceof datamodel.ReferenceList ) ) { - throw new Error( 'Not an instance of datamodel.ReferenceList' ); - } + module.exports = util.inherit( 'WbReferenceLisSerializer', PARENT, { + /** + * @inheritdoc + * + * @param {datamodel.ReferenceList} referenceList + * @return {Object[]} + * + * @throws {Error} if referenceList is not a ReferenceList instance. + */ + serialize: function( referenceList ) { + if( !( referenceList instanceof datamodel.ReferenceList ) ) { + throw new Error( 'Not an instance of datamodel.ReferenceList' ); + } - var serialization = [], - referenceSerializer = new ReferenceSerializer(), - references = referenceList.toArray(); + var serialization = [], + referenceSerializer = new ReferenceSerializer(), + references = referenceList.toArray(); - for( var i = 0; i < references.length; i++ ) { - serialization.push( referenceSerializer.serialize( references[i] ) ); - } + for( var i = 0; i < references.length; i++ ) { + serialization.push( referenceSerializer.serialize( references[i] ) ); + } - return serialization; - } -} ); + return serialization; + } + } ); }() ); diff --git a/src/Serializers/ReferenceSerializer.js b/src/Serializers/ReferenceSerializer.js index 05833be..87d4044 100644 --- a/src/Serializers/ReferenceSerializer.js +++ b/src/Serializers/ReferenceSerializer.js @@ -1,48 +1,48 @@ ( function() { 'use strict'; -var PARENT = require( './Serializer.js' ), - SnakListSerializer = require( './SnakListSerializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Serializer.js' ), + SnakListSerializer = require( './SnakListSerializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class ReferenceSerializer - * @extends Serializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbReferenceSerializer', PARENT, { /** - * @inheritdoc + * @class ReferenceSerializer + * @extends Serializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @param {datamodel.Reference} reference - * @return {Object} - * - * @throws {Error} if reference is not a Reference instance. + * @constructor */ - serialize: function( reference ) { - if( !( reference instanceof datamodel.Reference ) ) { - throw new Error( 'Not an instance of datamodel.Reference' ); - } + module.exports = util.inherit( 'WbReferenceSerializer', PARENT, { + /** + * @inheritdoc + * + * @param {datamodel.Reference} reference + * @return {Object} + * + * @throws {Error} if reference is not a Reference instance. + */ + serialize: function( reference ) { + if( !( reference instanceof datamodel.Reference ) ) { + throw new Error( 'Not an instance of datamodel.Reference' ); + } - var snakListSerializer = new SnakListSerializer(), - snakList = reference.getSnaks(), - hash = reference.getHash(); + var snakListSerializer = new SnakListSerializer(), + snakList = reference.getSnaks(), + hash = reference.getHash(); - var serialization = { - snaks: snakListSerializer.serialize( snakList ), - 'snaks-order': snakList.getPropertyOrder() - }; + var serialization = { + snaks: snakListSerializer.serialize( snakList ), + 'snaks-order': snakList.getPropertyOrder() + }; - if( hash ) { - serialization.hash = hash; - } + if( hash ) { + serialization.hash = hash; + } - return serialization; - } -} ); + return serialization; + } + } ); }() ); diff --git a/src/Serializers/SnakListSerializer.js b/src/Serializers/SnakListSerializer.js index ee256d9..2ddf1fe 100644 --- a/src/Serializers/SnakListSerializer.js +++ b/src/Serializers/SnakListSerializer.js @@ -1,48 +1,48 @@ ( function() { 'use strict'; -var PARENT = require( './Serializer.js' ), - SnakSerializer = require( './SnakSerializer.js' ), - datamodel = require( 'wikibase.datamodel' ); - -/** - * @class SnakListSerializer - * @extends Serializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbSnakListSerializer', PARENT, { + var PARENT = require( './Serializer.js' ), + SnakSerializer = require( './SnakSerializer.js' ), + datamodel = require( 'wikibase.datamodel' ); + /** - * @inheritdoc - * - * @param {datamodel.SnakList} snakList - * @return {Object} + * @class SnakListSerializer + * @extends Serializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @throws {Error} if snakList is not a SnakList instance. + * @constructor */ - serialize: function( snakList ) { - if( !( snakList instanceof datamodel.SnakList ) ) { - throw new Error( 'Not an instance of datamodel.SnakList' ); - } + module.exports = util.inherit( 'WbSnakListSerializer', PARENT, { + /** + * @inheritdoc + * + * @param {datamodel.SnakList} snakList + * @return {Object} + * + * @throws {Error} if snakList is not a SnakList instance. + */ + serialize: function( snakList ) { + if( !( snakList instanceof datamodel.SnakList ) ) { + throw new Error( 'Not an instance of datamodel.SnakList' ); + } - var serialization = {}, - snakSerializer = new SnakSerializer(); + var serialization = {}, + snakSerializer = new SnakSerializer(); - snakList.each( function( i, snak ) { - var propertyId = snak.getPropertyId(); + snakList.each( function( i, snak ) { + var propertyId = snak.getPropertyId(); - if( !serialization[propertyId] ) { - serialization[propertyId] = []; - } + if( !serialization[propertyId] ) { + serialization[propertyId] = []; + } - serialization[propertyId].push( snakSerializer.serialize( snak ) ); - } ); + serialization[propertyId].push( snakSerializer.serialize( snak ) ); + } ); - return serialization; - } -} ); + return serialization; + } + } ); }() ); diff --git a/src/Serializers/SnakSerializer.js b/src/Serializers/SnakSerializer.js index 12028ac..45b4672 100644 --- a/src/Serializers/SnakSerializer.js +++ b/src/Serializers/SnakSerializer.js @@ -1,52 +1,52 @@ ( function() { 'use strict'; -var PARENT = require( './Serializer.js' ), - datamodel = require( 'wikibase.datamodel' ); - -/** - * @class SnakSerializer - * @extends Serializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbSnakSerializer', PARENT, { + var PARENT = require( './Serializer.js' ), + datamodel = require( 'wikibase.datamodel' ); + /** - * @inheritdoc - * - * @param {datamodel.Snak} snak - * @return {Object} + * @class SnakSerializer + * @extends Serializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @throws {Error} if snak is not a Snak instance. + * @constructor */ - serialize: function( snak ) { - if( !( snak instanceof datamodel.Snak ) ) { - throw new Error( 'Not an instance of datamodel.Snak' ); - } + module.exports = util.inherit( 'WbSnakSerializer', PARENT, { + /** + * @inheritdoc + * + * @param {datamodel.Snak} snak + * @return {Object} + * + * @throws {Error} if snak is not a Snak instance. + */ + serialize: function( snak ) { + if( !( snak instanceof datamodel.Snak ) ) { + throw new Error( 'Not an instance of datamodel.Snak' ); + } + + var serialization = { + snaktype: snak.getType(), + property: snak.getPropertyId() + }; - var serialization = { - snaktype: snak.getType(), - property: snak.getPropertyId() - }; + if( snak.getHash() !== null ) { + serialization.hash = snak.getHash(); + } - if( snak.getHash() !== null ) { - serialization.hash = snak.getHash(); - } + if( snak instanceof datamodel.PropertyValueSnak ) { + var dataValue = snak.getValue(); - if( snak instanceof datamodel.PropertyValueSnak ) { - var dataValue = snak.getValue(); + serialization.datavalue = { + type: dataValue.getType(), + value: dataValue.toJSON() + }; + } - serialization.datavalue = { - type: dataValue.getType(), - value: dataValue.toJSON() - }; + return serialization; } - - return serialization; - } -} ); + } ); }() ); diff --git a/src/Serializers/StatementListSerializer.js b/src/Serializers/StatementListSerializer.js index 579f9de..31a5d65 100644 --- a/src/Serializers/StatementListSerializer.js +++ b/src/Serializers/StatementListSerializer.js @@ -1,43 +1,43 @@ ( function() { 'use strict'; -var PARENT = require( './Serializer.js' ), - StatementSerializer = require( './StatementSerializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Serializer.js' ), + StatementSerializer = require( './StatementSerializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class StatementListSerializer - * @extends Serializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbStatementListSerializer', PARENT, { /** - * @inheritdoc + * @class StatementListSerializer + * @extends Serializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @param {datamodel.StatementList} statementList - * @return {Object[]} - * - * @throws {Error} if statementList is not a StatementList instance. + * @constructor */ - serialize: function( statementList ) { - if( !( statementList instanceof datamodel.StatementList ) ) { - throw new Error( 'Not an instance of datamodel.StatementList' ); - } + module.exports = util.inherit( 'WbStatementListSerializer', PARENT, { + /** + * @inheritdoc + * + * @param {datamodel.StatementList} statementList + * @return {Object[]} + * + * @throws {Error} if statementList is not a StatementList instance. + */ + serialize: function( statementList ) { + if( !( statementList instanceof datamodel.StatementList ) ) { + throw new Error( 'Not an instance of datamodel.StatementList' ); + } - var serialization = [], - statementSerializer = new StatementSerializer(), - statements = statementList.toArray(); + var serialization = [], + statementSerializer = new StatementSerializer(), + statements = statementList.toArray(); - for( var i = 0; i < statements.length; i++ ) { - serialization.push( statementSerializer.serialize( statements[i] ) ); - } + for( var i = 0; i < statements.length; i++ ) { + serialization.push( statementSerializer.serialize( statements[i] ) ); + } - return serialization; - } -} ); + return serialization; + } + } ); }() ); diff --git a/src/Serializers/StatementSerializer.js b/src/Serializers/StatementSerializer.js index 6f4b9d5..2ec34f2 100644 --- a/src/Serializers/StatementSerializer.js +++ b/src/Serializers/StatementSerializer.js @@ -1,57 +1,57 @@ ( function() { 'use strict'; -var PARENT = require( './Serializer.js' ), - ClaimSerializer = require( './ClaimSerializer.js' ), - ReferenceListSerializer = require( './ReferenceListSerializer.js' ), - datamodel = require( 'wikibase.datamodel' ); - -/** - * @class StatementSerializer - * @extends Serializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbStatementSerializer', PARENT, { + var PARENT = require( './Serializer.js' ), + ClaimSerializer = require( './ClaimSerializer.js' ), + ReferenceListSerializer = require( './ReferenceListSerializer.js' ), + datamodel = require( 'wikibase.datamodel' ); + /** - * @inheritdoc - * - * @param {datamodel.Statement} statement - * @return {Object} + * @class StatementSerializer + * @extends Serializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @throws {Error} if statement is not a Statement instance. + * @constructor */ - serialize: function( statement ) { - if( !( statement instanceof datamodel.Statement ) ) { - throw new Error( 'Not an instance of datamodel.Statement' ); - } + module.exports = util.inherit( 'WbStatementSerializer', PARENT, { + /** + * @inheritdoc + * + * @param {datamodel.Statement} statement + * @return {Object} + * + * @throws {Error} if statement is not a Statement instance. + */ + serialize: function( statement ) { + if( !( statement instanceof datamodel.Statement ) ) { + throw new Error( 'Not an instance of datamodel.Statement' ); + } - var claimSerializer = new ClaimSerializer(), - referenceListSerializer = new ReferenceListSerializer(), - references = statement.getReferences(), - rank = statement.getRank(); + var claimSerializer = new ClaimSerializer(), + referenceListSerializer = new ReferenceListSerializer(), + references = statement.getReferences(), + rank = statement.getRank(); - var serialization = claimSerializer.serialize( statement.getClaim() ); - serialization.type = 'statement'; + var serialization = claimSerializer.serialize( statement.getClaim() ); + serialization.type = 'statement'; - if( references.length ) { - serialization.references = referenceListSerializer.serialize( references ); - } + if( references.length ) { + serialization.references = referenceListSerializer.serialize( references ); + } - if( rank !== undefined ) { - for( var rankName in datamodel.Statement.RANK ) { - if( rank === datamodel.Statement.RANK[rankName] ) { - serialization.rank = rankName.toLowerCase(); - break; + if( rank !== undefined ) { + for( var rankName in datamodel.Statement.RANK ) { + if( rank === datamodel.Statement.RANK[rankName] ) { + serialization.rank = rankName.toLowerCase(); + break; + } } } - } - return serialization; - } -} ); + return serialization; + } + } ); }() ); diff --git a/src/Serializers/TermMapSerializer.js b/src/Serializers/TermMapSerializer.js index 5d192b4..4b55ca8 100644 --- a/src/Serializers/TermMapSerializer.js +++ b/src/Serializers/TermMapSerializer.js @@ -4,41 +4,41 @@ PARENT = require( './Serializer.js' ), datamodel = require( 'wikibase.datamodel' ); -/** - * @class TermMapSerializer - * @extends Serializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbTermMapSerializer', PARENT, { /** - * @inheritdoc + * @class TermMapSerializer + * @extends Serializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @param {datamodel.TermMap} termMap - * @return {Object} - * - * @throws {Error} if termMap is not a TermMap instance. + * @constructor */ - serialize: function( termMap ) { - if( !( termMap instanceof datamodel.TermMap ) ) { - throw new Error( 'Not an instance of datamodel.TermMap' ); - } + module.exports = util.inherit( 'WbTermMapSerializer', PARENT, { + /** + * @inheritdoc + * + * @param {datamodel.TermMap} termMap + * @return {Object} + * + * @throws {Error} if termMap is not a TermMap instance. + */ + serialize: function( termMap ) { + if( !( termMap instanceof datamodel.TermMap ) ) { + throw new Error( 'Not an instance of datamodel.TermMap' ); + } - var serialization = {}, - termSerializer = new TermSerializer(), - languageCodes = termMap.getKeys(); + var serialization = {}, + termSerializer = new TermSerializer(), + languageCodes = termMap.getKeys(); - for( var i = 0; i < languageCodes.length; i++ ) { - serialization[languageCodes[i]] = termSerializer.serialize( - termMap.getItemByKey( languageCodes[i] ) - ); - } + for( var i = 0; i < languageCodes.length; i++ ) { + serialization[languageCodes[i]] = termSerializer.serialize( + termMap.getItemByKey( languageCodes[i] ) + ); + } - return serialization; - } -} ); + return serialization; + } + } ); }() ); diff --git a/src/Serializers/TermSerializer.js b/src/Serializers/TermSerializer.js index edf3b11..9b48c75 100644 --- a/src/Serializers/TermSerializer.js +++ b/src/Serializers/TermSerializer.js @@ -1,37 +1,37 @@ ( function() { 'use strict'; -var PARENT = require( './Serializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var PARENT = require( './Serializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -/** - * @class TermSerializer - * @extends Serializer - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -module.exports = util.inherit( 'WbTermSerializer', PARENT, { /** - * @inheritdoc + * @class TermSerializer + * @extends Serializer + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @param {datamodel.Term} term - * @return {Object} - * - * @throws {Error} if term is not a Term instance. + * @constructor */ - serialize: function( term ) { - if( !( term instanceof datamodel.Term ) ) { - throw new Error( 'Not an instance of datamodel.Term' ); - } + module.exports = util.inherit( 'WbTermSerializer', PARENT, { + /** + * @inheritdoc + * + * @param {datamodel.Term} term + * @return {Object} + * + * @throws {Error} if term is not a Term instance. + */ + serialize: function( term ) { + if( !( term instanceof datamodel.Term ) ) { + throw new Error( 'Not an instance of datamodel.Term' ); + } - return { - language: term.getLanguageCode(), - value: term.getText() - }; - } -} ); + return { + language: term.getLanguageCode(), + value: term.getText() + }; + } + } ); }() ); diff --git a/src/StrategyProvider.js b/src/StrategyProvider.js index f965be2..21a1aa6 100644 --- a/src/StrategyProvider.js +++ b/src/StrategyProvider.js @@ -1,74 +1,74 @@ ( function() { 'use strict'; -/** - * @class StrategyProvider - * @since 2.0 - * @license GPL-2.0+ - * @author H. Snater < mediawiki@snater.com > - * - * @constructor - */ -var SELF = function WbSerializationStrategyProvider() { - this._strategies = []; -}; - -$.extend( SELF.prototype, { /** - * @property {Object[]} - * @private - */ - _strategies: null, - - /** - * @param {*} strategy - * @param {*} key + * @class StrategyProvider + * @since 2.0 + * @license GPL-2.0+ + * @author H. Snater < mediawiki@snater.com > * - * @throws {Error} if a strategy for the provided key is registered already. + * @constructor */ - registerStrategy: function( strategy, key ) { - if( this._hasStrategyFor( key ) ) { - throw new Error( 'Strategy for "' + key + '" is registered already' ); - } + var SELF = function WbSerializationStrategyProvider() { + this._strategies = []; + }; - this._strategies.push( { - key: key, - strategy: strategy - } ); - }, + $.extend( SELF.prototype, { + /** + * @property {Object[]} + * @private + */ + _strategies: null, - /** - * @private - * - * @param {*} key - * @return {boolean} - */ - _hasStrategyFor: function( key ) { - for( var i = 0; i < this._strategies.length; i++ ) { - if( key === this._strategies[i].key ) { - return true; + /** + * @param {*} strategy + * @param {*} key + * + * @throws {Error} if a strategy for the provided key is registered already. + */ + registerStrategy: function( strategy, key ) { + if( this._hasStrategyFor( key ) ) { + throw new Error( 'Strategy for "' + key + '" is registered already' ); } - } - return false; - }, - /** - * @param {*} key - * @return {*} - * - * @throws {Error} if no strategy is registered for the key. - */ - getStrategyFor: function( key ) { - for( var i = 0; i < this._strategies.length; i++ ) { - if( key === this._strategies[i].key ) { - return this._strategies[i].strategy; + this._strategies.push( { + key: key, + strategy: strategy + } ); + }, + + /** + * @private + * + * @param {*} key + * @return {boolean} + */ + _hasStrategyFor: function( key ) { + for( var i = 0; i < this._strategies.length; i++ ) { + if( key === this._strategies[i].key ) { + return true; + } + } + return false; + }, + + /** + * @param {*} key + * @return {*} + * + * @throws {Error} if no strategy is registered for the key. + */ + getStrategyFor: function( key ) { + for( var i = 0; i < this._strategies.length; i++ ) { + if( key === this._strategies[i].key ) { + return this._strategies[i].strategy; + } } - } - throw new Error( 'No strategy registered for "' + key + '"' ); - } -} ); + throw new Error( 'No strategy registered for "' + key + '"' ); + } + } ); -module.exports = SELF; + module.exports = SELF; }() ); diff --git a/tests/Deserializers/ClaimDeserializer.tests.js b/tests/Deserializers/ClaimDeserializer.tests.js index 3ec9675..22033ed 100644 --- a/tests/Deserializers/ClaimDeserializer.tests.js +++ b/tests/Deserializers/ClaimDeserializer.tests.js @@ -3,58 +3,58 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -var ClaimDeserializer = require( '../../src/Deserializers/ClaimDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var ClaimDeserializer = require( '../../src/Deserializers/ClaimDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -QUnit.module( 'ClaimDeserializer' ); + QUnit.module( 'ClaimDeserializer' ); -var testSets = [ - [ - { - id: 'Q1$1', - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'claim' - }, - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' ) - ], [ - { - id: 'Q1$1', - mainsnak: { - snaktype: 'novalue', - property: 'P1' + var testSets = [ + [ + { + id: 'Q1$1', + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'claim' }, - qualifiers: { - P1: [ { + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' ) + ], [ + { + id: 'Q1$1', + mainsnak: { snaktype: 'novalue', property: 'P1' - } ] + }, + qualifiers: { + P1: [ { + snaktype: 'novalue', + property: 'P1' + } ] + }, + 'qualifiers-order': [ 'P1' ], + type: 'claim' }, - 'qualifiers-order': [ 'P1' ], - type: 'claim' - }, - new datamodel.Claim( - new datamodel.PropertyNoValueSnak( 'P1' ), - new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), - 'Q1$1' - ) - ] -]; + new datamodel.Claim( + new datamodel.PropertyNoValueSnak( 'P1' ), + new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), + 'Q1$1' + ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 2 ); - var claimDeserializer = new ClaimDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 2 ); + var claimDeserializer = new ClaimDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - claimDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + claimDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/Deserializer.tests.js b/tests/Deserializers/Deserializer.tests.js index 88507a9..781eb8e 100644 --- a/tests/Deserializers/Deserializer.tests.js +++ b/tests/Deserializers/Deserializer.tests.js @@ -3,23 +3,23 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'Deserializer' ); + QUnit.module( 'Deserializer' ); -var Deserializer = require( '../../src/Deserializers/Deserializer.js' ); + var Deserializer = require( '../../src/Deserializers/Deserializer.js' ); -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 1 ); - var SomeDeserializer = util.inherit( 'WbTestDeserializer', Deserializer, {} ), - someDeserializer = new SomeDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 1 ); + var SomeDeserializer = util.inherit( 'WbTestDeserializer', Deserializer, {} ), + someDeserializer = new SomeDeserializer(); - assert.throws( - function() { - someDeserializer.deserialize( {} ); - }, - 'Trying to deserialize on a Deserializer not having deserialize() specified fails.' - ); -} ); + assert.throws( + function() { + someDeserializer.deserialize( {} ); + }, + 'Trying to deserialize on a Deserializer not having deserialize() specified fails.' + ); + } ); }() ); diff --git a/tests/Deserializers/EntityDeserializer.tests.js b/tests/Deserializers/EntityDeserializer.tests.js index ba8fe2c..1f4c7f5 100644 --- a/tests/Deserializers/EntityDeserializer.tests.js +++ b/tests/Deserializers/EntityDeserializer.tests.js @@ -3,154 +3,154 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'EntityDeserializer' ); -var FingerprintDeserializer = require( '../../src/Deserializers/FingerprintDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ), - MockEntity = require( '../MockEntity.js' ), - EntityDeserializer = require( '../../src/Deserializers/EntityDeserializer.js' ), - Deserializer = require( '../../src/Deserializers/Deserializer.js' ); + QUnit.module( 'EntityDeserializer' ); + var FingerprintDeserializer = require( '../../src/Deserializers/FingerprintDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ), + MockEntity = require( '../MockEntity.js' ), + EntityDeserializer = require( '../../src/Deserializers/EntityDeserializer.js' ), + Deserializer = require( '../../src/Deserializers/Deserializer.js' ); -/** + /** * @extends Deserializer * * @constructor */ -var MockEntityDeserializer = util.inherit( - 'WbMockEntityDeserializer', - Deserializer, -{ - /** - * @inheritdoc - * - * @return {MockEntity} - */ - deserialize: function( serialization ) { - if( serialization.type !== MockEntity.TYPE ) { - throw new Error( 'Serialization does not resolve to a MockEntity' ); - } + var MockEntityDeserializer = util.inherit( + 'WbMockEntityDeserializer', + Deserializer, + { + /** + * @inheritdoc + * + * @return {MockEntity} + */ + deserialize: function( serialization ) { + if( serialization.type !== MockEntity.TYPE ) { + throw new Error( 'Serialization does not resolve to a MockEntity' ); + } - var fingerprintDeserializer = new FingerprintDeserializer(); + var fingerprintDeserializer = new FingerprintDeserializer(); - return new MockEntity( - serialization.id, - fingerprintDeserializer.deserialize( serialization ) - ); - } -} ); + return new MockEntity( + serialization.id, + fingerprintDeserializer.deserialize( serialization ) + ); + } + } ); -var defaults = [ - { - fingerprint: { - labels: { en: { language: 'en', value: 'label' } }, - descriptions: { en: { language: 'en', value: 'description' } }, - aliases: { en: [ { language: 'en', value: 'alias' } ] } - }, - statementGroupSet: { - P1: [ { - id: 'Q1$1', - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'statement', - rank: 'normal' - } ] - } - }, { - fingerprint: new datamodel.Fingerprint( - new datamodel.TermMap( { en: new datamodel.Term( 'en', 'label' ) } ), - new datamodel.TermMap( { en: new datamodel.Term( 'en', 'description' ) } ), - new datamodel.MultiTermMap( { en: new datamodel.MultiTerm( 'en', [ 'alias' ] ) } ) - ), - statementGroupSet: new datamodel.StatementGroupSet( [ - new datamodel.StatementGroup( 'P1', new datamodel.StatementList( [ - new datamodel.Statement( - new datamodel.Claim( - new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' + var defaults = [ + { + fingerprint: { + labels: { en: { language: 'en', value: 'label' } }, + descriptions: { en: { language: 'en', value: 'description' } }, + aliases: { en: [ { language: 'en', value: 'alias' } ] } + }, + statementGroupSet: { + P1: [ { + id: 'Q1$1', + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'statement', + rank: 'normal' + } ] + } + }, { + fingerprint: new datamodel.Fingerprint( + new datamodel.TermMap( { en: new datamodel.Term( 'en', 'label' ) } ), + new datamodel.TermMap( { en: new datamodel.Term( 'en', 'description' ) } ), + new datamodel.MultiTermMap( { en: new datamodel.MultiTerm( 'en', [ 'alias' ] ) } ) + ), + statementGroupSet: new datamodel.StatementGroupSet( [ + new datamodel.StatementGroup( 'P1', new datamodel.StatementList( [ + new datamodel.Statement( + new datamodel.Claim( + new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' + ) ) - ) - ] ) ) - ] ) - } -]; + ] ) ) + ] ) + } + ]; -var testSets = [ - [ - $.extend( true, {}, defaults[0].fingerprint, { - id: 'P1', - type: 'property', - datatype: 'string', - claims: defaults[0].statementGroupSet - } ), - new datamodel.Property( - 'P1', - 'string', - defaults[1].fingerprint, - defaults[1].statementGroupSet - ) - ], [ - $.extend( true, {}, defaults[0].fingerprint, { - id: 'Q1', - type: 'item', - claims: defaults[0].statementGroupSet, - sitelinks: { - someSite: { - site: 'someSite', - title: 'page', - badges: [] + var testSets = [ + [ + $.extend( true, {}, defaults[0].fingerprint, { + id: 'P1', + type: 'property', + datatype: 'string', + claims: defaults[0].statementGroupSet + } ), + new datamodel.Property( + 'P1', + 'string', + defaults[1].fingerprint, + defaults[1].statementGroupSet + ) + ], [ + $.extend( true, {}, defaults[0].fingerprint, { + id: 'Q1', + type: 'item', + claims: defaults[0].statementGroupSet, + sitelinks: { + someSite: { + site: 'someSite', + title: 'page', + badges: [] + } } - } - } ), - new datamodel.Item( - 'Q1', - defaults[1].fingerprint, - defaults[1].statementGroupSet, - new datamodel.SiteLinkSet( [ new datamodel.SiteLink( 'someSite', 'page' ) ] ) - ) - ] -]; + } ), + new datamodel.Item( + 'Q1', + defaults[1].fingerprint, + defaults[1].statementGroupSet, + new datamodel.SiteLinkSet( [ new datamodel.SiteLink( 'someSite', 'page' ) ] ) + ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 2 ); - var entityDeserializer = new EntityDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 2 ); + var entityDeserializer = new EntityDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - entityDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + entityDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); -QUnit.test( 'registerStrategy()', function( assert ) { - assert.expect( 2 ); - var entityDeserializer = new EntityDeserializer(); + QUnit.test( 'registerStrategy()', function( assert ) { + assert.expect( 2 ); + var entityDeserializer = new EntityDeserializer(); - var mockEntitySerialization = $.extend( true, { - id: 'i am an id', - type: 'mock' - }, defaults[0].fingerprint ); + var mockEntitySerialization = $.extend( true, { + id: 'i am an id', + type: 'mock' + }, defaults[0].fingerprint ); - assert.throws( - function() { - entityDeserializer.deserialize( mockEntitySerialization ); - }, - 'Throwing an error when trying to deserialize an Entity no Deserializer is registered for.' - ); + assert.throws( + function() { + entityDeserializer.deserialize( mockEntitySerialization ); + }, + 'Throwing an error when trying to deserialize an Entity no Deserializer is registered for.' + ); - entityDeserializer.registerStrategy( - new MockEntityDeserializer(), - MockEntity.TYPE - ); + entityDeserializer.registerStrategy( + new MockEntityDeserializer(), + MockEntity.TYPE + ); - var mockEntity = entityDeserializer.deserialize( mockEntitySerialization ); + var mockEntity = entityDeserializer.deserialize( mockEntitySerialization ); - assert.ok( - mockEntity instanceof MockEntity, - 'Deserialized Entity after registering a proper Deserializer.' - ); -} ); + assert.ok( + mockEntity instanceof MockEntity, + 'Deserialized Entity after registering a proper Deserializer.' + ); + } ); }() ); diff --git a/tests/Deserializers/FingerprintDeserializer.tests.js b/tests/Deserializers/FingerprintDeserializer.tests.js index 6f96372..43ca795 100644 --- a/tests/Deserializers/FingerprintDeserializer.tests.js +++ b/tests/Deserializers/FingerprintDeserializer.tests.js @@ -3,44 +3,44 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'FingerprintDeserializer' ); -var FingerprintDeserializer = require( '../../src/Deserializers/FingerprintDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + QUnit.module( 'FingerprintDeserializer' ); + var FingerprintDeserializer = require( '../../src/Deserializers/FingerprintDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -var testSets = [ - [ - { - labels: {}, - descriptions: {}, - aliases: {} - }, - new datamodel.Fingerprint() - ], [ - { - labels: { en: { language: 'en', value: 'label' } }, - descriptions: { en: { language: 'en', value: 'description' } }, - aliases: { en: [ { language: 'en', value: 'alias' } ] } - }, - new datamodel.Fingerprint( - new datamodel.TermMap( { en: new datamodel.Term( 'en', 'label' ) } ), - new datamodel.TermMap( { en: new datamodel.Term( 'en', 'description' ) } ), - new datamodel.MultiTermMap( { en: new datamodel.MultiTerm( 'en', [ 'alias' ] ) } ) - ) - ] -]; + var testSets = [ + [ + { + labels: {}, + descriptions: {}, + aliases: {} + }, + new datamodel.Fingerprint() + ], [ + { + labels: { en: { language: 'en', value: 'label' } }, + descriptions: { en: { language: 'en', value: 'description' } }, + aliases: { en: [ { language: 'en', value: 'alias' } ] } + }, + new datamodel.Fingerprint( + new datamodel.TermMap( { en: new datamodel.Term( 'en', 'label' ) } ), + new datamodel.TermMap( { en: new datamodel.Term( 'en', 'description' ) } ), + new datamodel.MultiTermMap( { en: new datamodel.MultiTerm( 'en', [ 'alias' ] ) } ) + ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 2 ); - var fingerprintDeserializer = new FingerprintDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 2 ); + var fingerprintDeserializer = new FingerprintDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - fingerprintDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + fingerprintDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/ItemDeserializer.tests.js b/tests/Deserializers/ItemDeserializer.tests.js index 02ac809..c78d8a8 100644 --- a/tests/Deserializers/ItemDeserializer.tests.js +++ b/tests/Deserializers/ItemDeserializer.tests.js @@ -3,82 +3,82 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'EntityDeserializer' ); + QUnit.module( 'EntityDeserializer' ); -var datamodel = require( 'wikibase.datamodel' ), - EntityDeserializer = require( '../../src/Deserializers/EntityDeserializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + EntityDeserializer = require( '../../src/Deserializers/EntityDeserializer.js' ); -var defaults = [ - { - fingerprint: { - labels: { en: { language: 'en', value: 'label' } }, - descriptions: { en: { language: 'en', value: 'description' } }, - aliases: { en: [ { language: 'en', value: 'alias' } ] } - }, - statementGroupSet: { - P1: [ { - id: 'Q1$1', - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'statement', - rank: 'normal' - } ] - } - }, { - fingerprint: new datamodel.Fingerprint( - new datamodel.TermMap( { en: new datamodel.Term( 'en', 'label' ) } ), - new datamodel.TermMap( { en: new datamodel.Term( 'en', 'description' ) } ), - new datamodel.MultiTermMap( { en: new datamodel.MultiTerm( 'en', [ 'alias' ] ) } ) - ), - statementGroupSet: new datamodel.StatementGroupSet( [ - new datamodel.StatementGroup( 'P1', new datamodel.StatementList( [ - new datamodel.Statement( - new datamodel.Claim( - new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' + var defaults = [ + { + fingerprint: { + labels: { en: { language: 'en', value: 'label' } }, + descriptions: { en: { language: 'en', value: 'description' } }, + aliases: { en: [ { language: 'en', value: 'alias' } ] } + }, + statementGroupSet: { + P1: [ { + id: 'Q1$1', + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'statement', + rank: 'normal' + } ] + } + }, { + fingerprint: new datamodel.Fingerprint( + new datamodel.TermMap( { en: new datamodel.Term( 'en', 'label' ) } ), + new datamodel.TermMap( { en: new datamodel.Term( 'en', 'description' ) } ), + new datamodel.MultiTermMap( { en: new datamodel.MultiTerm( 'en', [ 'alias' ] ) } ) + ), + statementGroupSet: new datamodel.StatementGroupSet( [ + new datamodel.StatementGroup( 'P1', new datamodel.StatementList( [ + new datamodel.Statement( + new datamodel.Claim( + new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' + ) ) - ) - ] ) ) - ] ) - } -]; + ] ) ) + ] ) + } + ]; -var testSets = [ - [ - $.extend( true, {}, defaults[0].fingerprint, { - id: 'Q1', - type: 'item', - claims: defaults[0].statementGroupSet, - sitelinks: { - someSite: { - site: 'someSite', - title: 'page', - badges: [] + var testSets = [ + [ + $.extend( true, {}, defaults[0].fingerprint, { + id: 'Q1', + type: 'item', + claims: defaults[0].statementGroupSet, + sitelinks: { + someSite: { + site: 'someSite', + title: 'page', + badges: [] + } } - } - } ), - new datamodel.Item( - 'Q1', - defaults[1].fingerprint, - defaults[1].statementGroupSet, - new datamodel.SiteLinkSet( [ new datamodel.SiteLink( 'someSite', 'page' ) ] ) - ) - ] -]; + } ), + new datamodel.Item( + 'Q1', + defaults[1].fingerprint, + defaults[1].statementGroupSet, + new datamodel.SiteLinkSet( [ new datamodel.SiteLink( 'someSite', 'page' ) ] ) + ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 1 ); - var entityDeserializer = new EntityDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 1 ); + var entityDeserializer = new EntityDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - entityDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + entityDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/MultiTermDeserializer.tests.js b/tests/Deserializers/MultiTermDeserializer.tests.js index 3309998..c5b527b 100644 --- a/tests/Deserializers/MultiTermDeserializer.tests.js +++ b/tests/Deserializers/MultiTermDeserializer.tests.js @@ -3,30 +3,30 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'MultiTermDeserializer' ); -var MultiTermDeserializer = require( '../../src/Deserializers/MultiTermDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + QUnit.module( 'MultiTermDeserializer' ); + var MultiTermDeserializer = require( '../../src/Deserializers/MultiTermDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -var testSets = [ - [ - [ { language: 'en', value: 'test1' }, { language: 'en', value: 'test2' } ], - new datamodel.MultiTerm( 'en', [ 'test1', 'test2' ] ) - ] -]; + var testSets = [ + [ + [ { language: 'en', value: 'test1' }, { language: 'en', value: 'test2' } ], + new datamodel.MultiTerm( 'en', [ 'test1', 'test2' ] ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 1 ); - var multiTermDeserializer = new MultiTermDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 1 ); + var multiTermDeserializer = new MultiTermDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - multiTermDeserializer.deserialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + multiTermDeserializer.deserialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/MultiTermMapDeserializer.tests.js b/tests/Deserializers/MultiTermMapDeserializer.tests.js index 016f0da..78781ad 100644 --- a/tests/Deserializers/MultiTermMapDeserializer.tests.js +++ b/tests/Deserializers/MultiTermMapDeserializer.tests.js @@ -3,48 +3,48 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'MultiTermMapDeserializer' ); -var MultiTermMapDeserializer = require( '../../src/Deserializers/MultiTermMapDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + QUnit.module( 'MultiTermMapDeserializer' ); + var MultiTermMapDeserializer = require( '../../src/Deserializers/MultiTermMapDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -var testSets = [ - [ - {}, - new datamodel.MultiTermMap() - ], [ - { - en: [ { language: 'en', value: 'en-test' } ], - de: [ { language: 'de', value: 'de-test' } ] - }, - new datamodel.MultiTermMap( { - en: new datamodel.MultiTerm( 'en', [ 'en-test' ] ), - de: new datamodel.MultiTerm( 'de', [ 'de-test' ] ) - } ) - ], [ - { - en: [ { language: 'en', value: 'en-test' } ], - de: [ { language: 'en', value: 'en-test' } ] - }, - new datamodel.MultiTermMap( { - en: new datamodel.MultiTerm( 'en', [ 'en-test' ] ), - de: new datamodel.MultiTerm( 'en', [ 'en-test' ] ) - } ) - ] -]; + var testSets = [ + [ + {}, + new datamodel.MultiTermMap() + ], [ + { + en: [ { language: 'en', value: 'en-test' } ], + de: [ { language: 'de', value: 'de-test' } ] + }, + new datamodel.MultiTermMap( { + en: new datamodel.MultiTerm( 'en', [ 'en-test' ] ), + de: new datamodel.MultiTerm( 'de', [ 'de-test' ] ) + } ) + ], [ + { + en: [ { language: 'en', value: 'en-test' } ], + de: [ { language: 'en', value: 'en-test' } ] + }, + new datamodel.MultiTermMap( { + en: new datamodel.MultiTerm( 'en', [ 'en-test' ] ), + de: new datamodel.MultiTerm( 'en', [ 'en-test' ] ) + } ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 3 ); - var multiTermMapDeserializer = new MultiTermMapDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 3 ); + var multiTermMapDeserializer = new MultiTermMapDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - multiTermMapDeserializer.deserialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + multiTermMapDeserializer.deserialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/PropertyDeserializer.tests.js b/tests/Deserializers/PropertyDeserializer.tests.js index 09bae88..fc99c41 100644 --- a/tests/Deserializers/PropertyDeserializer.tests.js +++ b/tests/Deserializers/PropertyDeserializer.tests.js @@ -3,76 +3,76 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'EntityDeserializer' ); + QUnit.module( 'EntityDeserializer' ); -var datamodel = require( 'wikibase.datamodel' ), - EntityDeserializer = require( '../../src/Deserializers/EntityDeserializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + EntityDeserializer = require( '../../src/Deserializers/EntityDeserializer.js' ); -var defaults = [ - { - fingerprint: { - labels: { en: { language: 'en', value: 'label' } }, - descriptions: { en: { language: 'en', value: 'description' } }, - aliases: { en: [ { language: 'en', value: 'alias' } ] } - }, - statementGroupSet: { - P1: [ { - id: 'Q1$1', - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'statement', - rank: 'normal' - } ] - } - }, { - fingerprint: new datamodel.Fingerprint( - new datamodel.TermMap( { en: new datamodel.Term( 'en', 'label' ) } ), - new datamodel.TermMap( { en: new datamodel.Term( 'en', 'description' ) } ), - new datamodel.MultiTermMap( { en: new datamodel.MultiTerm( 'en', [ 'alias' ] ) } ) - ), - statementGroupSet: new datamodel.StatementGroupSet( [ - new datamodel.StatementGroup( 'P1', new datamodel.StatementList( [ - new datamodel.Statement( - new datamodel.Claim( - new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' + var defaults = [ + { + fingerprint: { + labels: { en: { language: 'en', value: 'label' } }, + descriptions: { en: { language: 'en', value: 'description' } }, + aliases: { en: [ { language: 'en', value: 'alias' } ] } + }, + statementGroupSet: { + P1: [ { + id: 'Q1$1', + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'statement', + rank: 'normal' + } ] + } + }, { + fingerprint: new datamodel.Fingerprint( + new datamodel.TermMap( { en: new datamodel.Term( 'en', 'label' ) } ), + new datamodel.TermMap( { en: new datamodel.Term( 'en', 'description' ) } ), + new datamodel.MultiTermMap( { en: new datamodel.MultiTerm( 'en', [ 'alias' ] ) } ) + ), + statementGroupSet: new datamodel.StatementGroupSet( [ + new datamodel.StatementGroup( 'P1', new datamodel.StatementList( [ + new datamodel.Statement( + new datamodel.Claim( + new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' + ) ) - ) - ] ) ) - ] ) - } -]; + ] ) ) + ] ) + } + ]; -var testSets = [ - [ - $.extend( true, {}, defaults[0].fingerprint, { - id: 'P1', - type: 'property', - datatype: 'string', - claims: defaults[0].statementGroupSet - } ), - new datamodel.Property( - 'P1', - 'string', - defaults[1].fingerprint, - defaults[1].statementGroupSet - ) - ] -]; + var testSets = [ + [ + $.extend( true, {}, defaults[0].fingerprint, { + id: 'P1', + type: 'property', + datatype: 'string', + claims: defaults[0].statementGroupSet + } ), + new datamodel.Property( + 'P1', + 'string', + defaults[1].fingerprint, + defaults[1].statementGroupSet + ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 1 ); - var entityDeserializer = new EntityDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 1 ); + var entityDeserializer = new EntityDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - entityDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + entityDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/ReferenceDeserializer.tests.js b/tests/Deserializers/ReferenceDeserializer.tests.js index aaef16e..4305a09 100644 --- a/tests/Deserializers/ReferenceDeserializer.tests.js +++ b/tests/Deserializers/ReferenceDeserializer.tests.js @@ -3,68 +3,68 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -var ReferenceDeserializer = require( '../../src/Deserializers/ReferenceDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var ReferenceDeserializer = require( '../../src/Deserializers/ReferenceDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -QUnit.module( 'ReferenceDeserializer' ); + QUnit.module( 'ReferenceDeserializer' ); -var testSets = [ - [ - { - hash: 'i am a hash', - snaks: { - P1: [ { - snaktype: 'novalue', - property: 'P1' - } ] + var testSets = [ + [ + { + hash: 'i am a hash', + snaks: { + P1: [ { + snaktype: 'novalue', + property: 'P1' + } ] + }, + 'snaks-order': [ 'P1' ] }, - 'snaks-order': [ 'P1' ] - }, - new datamodel.Reference( - new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), - 'i am a hash' - ) - ], [ - { - hash: 'i am a hash', - snaks: { - P1: [ { - snaktype: 'novalue', - property: 'P1' - }, { - snaktype: 'somevalue', - property: 'P1' - } ], - P2: [ { - snaktype: 'novalue', - property: 'P2' - } ] + new datamodel.Reference( + new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), + 'i am a hash' + ) + ], [ + { + hash: 'i am a hash', + snaks: { + P1: [ { + snaktype: 'novalue', + property: 'P1' + }, { + snaktype: 'somevalue', + property: 'P1' + } ], + P2: [ { + snaktype: 'novalue', + property: 'P2' + } ] + }, + 'snaks-order': [ 'P2', 'P1' ] }, - 'snaks-order': [ 'P2', 'P1' ] - }, - new datamodel.Reference( - new datamodel.SnakList( [ - new datamodel.PropertyNoValueSnak( 'P2' ), - new datamodel.PropertyNoValueSnak( 'P1' ), - new datamodel.PropertySomeValueSnak( 'P1' ) - ] ), - 'i am a hash' - ) - ] -]; + new datamodel.Reference( + new datamodel.SnakList( [ + new datamodel.PropertyNoValueSnak( 'P2' ), + new datamodel.PropertyNoValueSnak( 'P1' ), + new datamodel.PropertySomeValueSnak( 'P1' ) + ] ), + 'i am a hash' + ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 2 ); - var referenceDeserializer = new ReferenceDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 2 ); + var referenceDeserializer = new ReferenceDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - referenceDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + referenceDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/ReferenceListDeserializer.tests.js b/tests/Deserializers/ReferenceListDeserializer.tests.js index f66c825..cacade7 100644 --- a/tests/Deserializers/ReferenceListDeserializer.tests.js +++ b/tests/Deserializers/ReferenceListDeserializer.tests.js @@ -3,54 +3,54 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -var ReferenceListDeserializer = require( '../../src/Deserializers/ReferenceListDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var ReferenceListDeserializer = require( '../../src/Deserializers/ReferenceListDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -QUnit.module( 'ReferenceListDeserializer' ); + QUnit.module( 'ReferenceListDeserializer' ); -var testSets = [ - [ - [], - new datamodel.ReferenceList() - ], [ + var testSets = [ [ - { - snaks: {}, - 'snaks-order': [] - } - ], - new datamodel.ReferenceList( [ new datamodel.Reference() ] ) - ], [ - [ - { - snaks: {}, - 'snaks-order': [], - hash: 'hash1' - }, { - snaks: {}, - 'snaks-order': [], - hash: 'hash2' - } - ], - new datamodel.ReferenceList( [ - new datamodel.Reference( null, 'hash1' ), - new datamodel.Reference( null, 'hash2' ) - ] ) - ] -]; + [], + new datamodel.ReferenceList() + ], [ + [ + { + snaks: {}, + 'snaks-order': [] + } + ], + new datamodel.ReferenceList( [ new datamodel.Reference() ] ) + ], [ + [ + { + snaks: {}, + 'snaks-order': [], + hash: 'hash1' + }, { + snaks: {}, + 'snaks-order': [], + hash: 'hash2' + } + ], + new datamodel.ReferenceList( [ + new datamodel.Reference( null, 'hash1' ), + new datamodel.Reference( null, 'hash2' ) + ] ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 3 ); - var referenceListDeserializer = new ReferenceListDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 3 ); + var referenceListDeserializer = new ReferenceListDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - referenceListDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + referenceListDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/SiteLinkDeserializer.tests.js b/tests/Deserializers/SiteLinkDeserializer.tests.js index 31f9bd9..33dacd1 100644 --- a/tests/Deserializers/SiteLinkDeserializer.tests.js +++ b/tests/Deserializers/SiteLinkDeserializer.tests.js @@ -3,33 +3,33 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'SiteLinkDeserializer' ); -var SiteLinkDeserializer = require( '../../src/Deserializers/SiteLinkDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + QUnit.module( 'SiteLinkDeserializer' ); + var SiteLinkDeserializer = require( '../../src/Deserializers/SiteLinkDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -var testSets = [ - [ - { - site: 'site-id', - title: 'page-title', - badges: [ 'badge-1', 'badge-2' ] - }, - new datamodel.SiteLink( 'site-id', 'page-title', [ 'badge-1', 'badge-2' ] ) - ] -]; + var testSets = [ + [ + { + site: 'site-id', + title: 'page-title', + badges: [ 'badge-1', 'badge-2' ] + }, + new datamodel.SiteLink( 'site-id', 'page-title', [ 'badge-1', 'badge-2' ] ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 1 ); - var siteLinkDeserializer = new SiteLinkDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 1 ); + var siteLinkDeserializer = new SiteLinkDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - siteLinkDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + siteLinkDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/SiteLinkSetDeserializer.tests.js b/tests/Deserializers/SiteLinkSetDeserializer.tests.js index 3fe9843..3f66104 100644 --- a/tests/Deserializers/SiteLinkSetDeserializer.tests.js +++ b/tests/Deserializers/SiteLinkSetDeserializer.tests.js @@ -3,38 +3,38 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'SiteLinkSetDeserializer' ); -var SiteLinkSetDeserializer = require( '../../src/Deserializers/SiteLinkSetDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + QUnit.module( 'SiteLinkSetDeserializer' ); + var SiteLinkSetDeserializer = require( '../../src/Deserializers/SiteLinkSetDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -var testSets = [ - [ - {}, - new datamodel.SiteLinkSet() - ], [ - { - site: { - site: 'site', - title: 'page', - badges: [] - } - }, - new datamodel.SiteLinkSet( [ new datamodel.SiteLink( 'site', 'page' ) ] ) - ] -]; + var testSets = [ + [ + {}, + new datamodel.SiteLinkSet() + ], [ + { + site: { + site: 'site', + title: 'page', + badges: [] + } + }, + new datamodel.SiteLinkSet( [ new datamodel.SiteLink( 'site', 'page' ) ] ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 2 ); - var siteLinkSetDeserializer = new SiteLinkSetDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 2 ); + var siteLinkSetDeserializer = new SiteLinkSetDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - siteLinkSetDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + siteLinkSetDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/SnakDeserializer.tests.js b/tests/Deserializers/SnakDeserializer.tests.js index 204c50c..6e55db1 100644 --- a/tests/Deserializers/SnakDeserializer.tests.js +++ b/tests/Deserializers/SnakDeserializer.tests.js @@ -4,68 +4,67 @@ */ ( function( dv ) { -'use strict'; + 'use strict'; -QUnit.module( 'SnakDeserializer' ); + QUnit.module( 'SnakDeserializer' ); -var datamodel = require( 'wikibase.datamodel' ), - SnakDeserializer = require( '../../src/Deserializers/SnakDeserializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + SnakDeserializer = require( '../../src/Deserializers/SnakDeserializer.js' ); -var testSets = [ - [ - { - snaktype: 'novalue', - property: 'P1' - }, - new datamodel.PropertyNoValueSnak( 'P1' ) - ], [ - { - snaktype: 'somevalue', - property: 'P1' - }, - new datamodel.PropertySomeValueSnak( 'P1' ) - ], [ - { - snaktype: 'value', - property: 'P1', - datavalue: { - type: 'string', - value: 'some string' - } - }, - new datamodel.PropertyValueSnak( 'P1', new dv.StringValue( 'some string' ) ) - ], [ - { - snaktype: 'value', - property: 'P1', - datavalue: { - type: 'undeserializable', - value: { - value: { foo: 'bar' }, + var testSets = [ + [ + { + snaktype: 'novalue', + property: 'P1' + }, + new datamodel.PropertyNoValueSnak( 'P1' ) + ], [ + { + snaktype: 'somevalue', + property: 'P1' + }, + new datamodel.PropertySomeValueSnak( 'P1' ) + ], [ + { + snaktype: 'value', + property: 'P1', + datavalue: { type: 'string', - error: 'String is invalid.' + value: 'some string' } - } - }, - new datamodel.PropertyValueSnak( 'P1', new dv.UnDeserializableValue( + }, + new datamodel.PropertyValueSnak( 'P1', new dv.StringValue( 'some string' ) ) + ], [ + { + snaktype: 'value', + property: 'P1', + datavalue: { + type: 'undeserializable', + value: { + value: { foo: 'bar' }, + type: 'string', + error: 'String is invalid.' + } + } + }, + new datamodel.PropertyValueSnak( 'P1', new dv.UnDeserializableValue( { foo: 'bar' }, 'string', 'String is invalid.' - ) - ) - ] -]; + ) ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 4 ); - var snakDeserializer = new SnakDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 4 ); + var snakDeserializer = new SnakDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - snakDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + snakDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }( dataValues ) ); diff --git a/tests/Deserializers/SnakListDeserializer.tests.js b/tests/Deserializers/SnakListDeserializer.tests.js index f7ffac3..5bfe38c 100644 --- a/tests/Deserializers/SnakListDeserializer.tests.js +++ b/tests/Deserializers/SnakListDeserializer.tests.js @@ -4,67 +4,67 @@ */ ( function() { -'use strict'; + 'use strict'; -var SnakListDeserializer = require( '../../src/Deserializers/SnakListDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var SnakListDeserializer = require( '../../src/Deserializers/SnakListDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -QUnit.module( 'SnakListDeserializer' ); + QUnit.module( 'SnakListDeserializer' ); -var testSets = [ - [ + var testSets = [ [ - {}, - undefined - ], - new datamodel.SnakList() - ], [ - [ - { - P1: [ { - snaktype: 'novalue', - property: 'P1' - } ] - }, - undefined - ], - new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ) - ], [ - [ - { - P1: [ { - snaktype: 'novalue', - property: 'P1' - }, { - snaktype: 'somevalue', - property: 'P1' - } ], - P2: [ { - snaktype: 'novalue', - property: 'P2' - } ] - }, - [ 'P2', 'P1' ] - ], - new datamodel.SnakList( [ - new datamodel.PropertyNoValueSnak( 'P2' ), - new datamodel.PropertyNoValueSnak( 'P1' ), - new datamodel.PropertySomeValueSnak( 'P1' ) - ] ) - ] -]; + [ + {}, + undefined + ], + new datamodel.SnakList() + ], [ + [ + { + P1: [ { + snaktype: 'novalue', + property: 'P1' + } ] + }, + undefined + ], + new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ) + ], [ + [ + { + P1: [ { + snaktype: 'novalue', + property: 'P1' + }, { + snaktype: 'somevalue', + property: 'P1' + } ], + P2: [ { + snaktype: 'novalue', + property: 'P2' + } ] + }, + [ 'P2', 'P1' ] + ], + new datamodel.SnakList( [ + new datamodel.PropertyNoValueSnak( 'P2' ), + new datamodel.PropertyNoValueSnak( 'P1' ), + new datamodel.PropertySomeValueSnak( 'P1' ) + ] ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 3 ); - var snakListDeserializer = new SnakListDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 3 ); + var snakListDeserializer = new SnakListDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - snakListDeserializer.deserialize( testSets[i][0][0], testSets[i][0][1] ) - .equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + snakListDeserializer.deserialize( testSets[i][0][0], testSets[i][0][1] ) + .equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/StatementDeserializer.tests.js b/tests/Deserializers/StatementDeserializer.tests.js index e7f0bba..69ce5a4 100644 --- a/tests/Deserializers/StatementDeserializer.tests.js +++ b/tests/Deserializers/StatementDeserializer.tests.js @@ -3,59 +3,59 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'StatementDeserializer' ); + QUnit.module( 'StatementDeserializer' ); -var datamodel = require( 'wikibase.datamodel' ), - StatementDeserializer = require( '../../src/Deserializers/StatementDeserializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + StatementDeserializer = require( '../../src/Deserializers/StatementDeserializer.js' ); -var testSets = [ - [ - { - mainsnak: { - snaktype: 'novalue', - property: 'P1' + var testSets = [ + [ + { + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'statement', + rank: 'normal' }, - type: 'statement', - rank: 'normal' - }, - new datamodel.Statement( - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ), - null, - datamodel.Statement.RANK.NORMAL - ) - ], [ - { - mainsnak: { - snaktype: 'novalue', - property: 'P1' + new datamodel.Statement( + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ), + null, + datamodel.Statement.RANK.NORMAL + ) + ], [ + { + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + references: [ { + snaks: {}, + 'snaks-order': [] + } ], + type: 'statement', + rank: 'preferred' }, - references: [ { - snaks: {}, - 'snaks-order': [] - } ], - type: 'statement', - rank: 'preferred' - }, - new datamodel.Statement( - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ), - new datamodel.ReferenceList( [ new datamodel.Reference() ] ), - datamodel.Statement.RANK.PREFERRED - ) - ] -]; + new datamodel.Statement( + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ), + new datamodel.ReferenceList( [ new datamodel.Reference() ] ), + datamodel.Statement.RANK.PREFERRED + ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 2 ); - var statementDeserializer = new StatementDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 2 ); + var statementDeserializer = new StatementDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - statementDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + statementDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/StatementGroupDeserializer.tests.js b/tests/Deserializers/StatementGroupDeserializer.tests.js index 5e884c9..c2aad0a 100644 --- a/tests/Deserializers/StatementGroupDeserializer.tests.js +++ b/tests/Deserializers/StatementGroupDeserializer.tests.js @@ -3,51 +3,51 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -var StatementGroupDeserializer = require( '../../src/Deserializers/StatementGroupDeserializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var StatementGroupDeserializer = require( '../../src/Deserializers/StatementGroupDeserializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -QUnit.module( 'StatementGroupDeserializer' ); + QUnit.module( 'StatementGroupDeserializer' ); -var testSets = [ - [ + var testSets = [ [ - { - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'statement', - rank: 'normal' - } - ], - new datamodel.StatementGroup( 'P1', - new datamodel.StatementList( [ new datamodel.Statement( - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ) - ) ] ) - ) - ] -]; + [ + { + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'statement', + rank: 'normal' + } + ], + new datamodel.StatementGroup( 'P1', + new datamodel.StatementList( [ new datamodel.Statement( + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ) + ) ] ) + ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 2 ); - var statementGroupDeserializer = new StatementGroupDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 2 ); + var statementGroupDeserializer = new StatementGroupDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - statementGroupDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + statementGroupDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } - assert.throws( - function() { - statementGroupDeserializer.deserialize( [] ); - }, - 'Unable to deserialize an empty array since there is no way to determine the property id ' - + 'statements shall be grouped with.' - ); -} ); + assert.throws( + function() { + statementGroupDeserializer.deserialize( [] ); + }, + 'Unable to deserialize an empty array since there is no way to determine the property id ' + + 'statements shall be grouped with.' + ); + } ); }() ); diff --git a/tests/Deserializers/StatementGroupSetDeserializer.tests.js b/tests/Deserializers/StatementGroupSetDeserializer.tests.js index 7b5d5a7..1f8b969 100644 --- a/tests/Deserializers/StatementGroupSetDeserializer.tests.js +++ b/tests/Deserializers/StatementGroupSetDeserializer.tests.js @@ -3,65 +3,65 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'StatementGroupSetDeserializer' ); + QUnit.module( 'StatementGroupSetDeserializer' ); -var datamodel = require( 'wikibase.datamodel' ), - StatementGroupSetDeserializer = require( '../../src/Deserializers/StatementGroupSetDeserializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + StatementGroupSetDeserializer = require( '../../src/Deserializers/StatementGroupSetDeserializer.js' ); -var testSets = [ - [ - {}, - new datamodel.StatementGroupSet() - ], [ - { - P1: [ - { - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'statement', - rank: 'normal' - } - ], - P2: [ - { - mainsnak: { - snaktype: 'novalue', - property: 'P2' - }, - type: 'statement', - rank: 'normal' - } - ] - }, - new datamodel.StatementGroupSet( [ - new datamodel.StatementGroup( 'P1', - new datamodel.StatementList( [ new datamodel.Statement( - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ) - ) ] ) - ), - new datamodel.StatementGroup( 'P2', - new datamodel.StatementList( [ new datamodel.Statement( - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P2' ) ) - ) ] ) - ) - ] ) - ] -]; + var testSets = [ + [ + {}, + new datamodel.StatementGroupSet() + ], [ + { + P1: [ + { + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'statement', + rank: 'normal' + } + ], + P2: [ + { + mainsnak: { + snaktype: 'novalue', + property: 'P2' + }, + type: 'statement', + rank: 'normal' + } + ] + }, + new datamodel.StatementGroupSet( [ + new datamodel.StatementGroup( 'P1', + new datamodel.StatementList( [ new datamodel.Statement( + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ) + ) ] ) + ), + new datamodel.StatementGroup( 'P2', + new datamodel.StatementList( [ new datamodel.Statement( + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P2' ) ) + ) ] ) + ) + ] ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 2 ); - var statementGroupSetDeserializer = new StatementGroupSetDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 2 ); + var statementGroupSetDeserializer = new StatementGroupSetDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - statementGroupSetDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + statementGroupSetDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/StatementListDeserializer.tests.js b/tests/Deserializers/StatementListDeserializer.tests.js index 37d891b..1c597d1 100644 --- a/tests/Deserializers/StatementListDeserializer.tests.js +++ b/tests/Deserializers/StatementListDeserializer.tests.js @@ -3,44 +3,44 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'StatementListDeserializer' ); + QUnit.module( 'StatementListDeserializer' ); -var datamodel = require( 'wikibase.datamodel' ), - StatementListDeserializer = require( '../../src/Deserializers/StatementListDeserializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + StatementListDeserializer = require( '../../src/Deserializers/StatementListDeserializer.js' ); -var testSets = [ - [ - [], - new datamodel.StatementList() - ], [ + var testSets = [ [ - { - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'statement', - rank: 'normal' - } - ], - new datamodel.StatementList( [ new datamodel.Statement( - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ) - ) ] ) - ] -]; + [], + new datamodel.StatementList() + ], [ + [ + { + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'statement', + rank: 'normal' + } + ], + new datamodel.StatementList( [ new datamodel.Statement( + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ) + ) ] ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 2 ); - var statementListDeserializer = new StatementListDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 2 ); + var statementListDeserializer = new StatementListDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.ok( - statementListDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.ok( + statementListDeserializer.deserialize( testSets[i][0] ).equals( testSets[i][1] ), + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/TermDeserializer.tests.js b/tests/Deserializers/TermDeserializer.tests.js index 64e022e..83ee1a9 100644 --- a/tests/Deserializers/TermDeserializer.tests.js +++ b/tests/Deserializers/TermDeserializer.tests.js @@ -3,31 +3,31 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'TermDeserializer' ); + QUnit.module( 'TermDeserializer' ); -var datamodel = require( 'wikibase.datamodel' ), - TermDeserializer = require( '../../src/Deserializers/TermDeserializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + TermDeserializer = require( '../../src/Deserializers/TermDeserializer.js' ); -var testSets = [ - [ - { language: 'en', value: 'test' }, - new datamodel.Term( 'en', 'test' ) - ] -]; + var testSets = [ + [ + { language: 'en', value: 'test' }, + new datamodel.Term( 'en', 'test' ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 1 ); - var termDeserializer = new TermDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 1 ); + var termDeserializer = new TermDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - termDeserializer.deserialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + termDeserializer.deserialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/Deserializers/TermMapDeserializer.tests.js b/tests/Deserializers/TermMapDeserializer.tests.js index 280ef49..caad541 100644 --- a/tests/Deserializers/TermMapDeserializer.tests.js +++ b/tests/Deserializers/TermMapDeserializer.tests.js @@ -3,49 +3,49 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'TermMapDeserializer' ); + QUnit.module( 'TermMapDeserializer' ); -var datamodel = require( 'wikibase.datamodel' ), - TermMapDeserializer = require( '../../src/Deserializers/TermMapDeserializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + TermMapDeserializer = require( '../../src/Deserializers/TermMapDeserializer.js' ); -var testSets = [ - [ - {}, - new datamodel.TermMap() - ], [ - { - en: { language: 'en', value: 'en-test' }, - de: { language: 'de', value: 'de-test' } - }, - new datamodel.TermMap( { - en: new datamodel.Term( 'en', 'en-test' ), - de: new datamodel.Term( 'de', 'de-test' ) - } ) - ], [ - { - en: { language: 'en', value: 'en-test' }, - de: { language: 'en', value: 'en-test' } - }, - new datamodel.TermMap( { - en: new datamodel.Term( 'en', 'en-test' ), - de: new datamodel.Term( 'en', 'en-test' ) - } ) - ] -]; + var testSets = [ + [ + {}, + new datamodel.TermMap() + ], [ + { + en: { language: 'en', value: 'en-test' }, + de: { language: 'de', value: 'de-test' } + }, + new datamodel.TermMap( { + en: new datamodel.Term( 'en', 'en-test' ), + de: new datamodel.Term( 'de', 'de-test' ) + } ) + ], [ + { + en: { language: 'en', value: 'en-test' }, + de: { language: 'en', value: 'en-test' } + }, + new datamodel.TermMap( { + en: new datamodel.Term( 'en', 'en-test' ), + de: new datamodel.Term( 'en', 'en-test' ) + } ) + ] + ]; -QUnit.test( 'deserialize()', function( assert ) { - assert.expect( 3 ); - var termMapDeserializer = new TermMapDeserializer(); + QUnit.test( 'deserialize()', function( assert ) { + assert.expect( 3 ); + var termMapDeserializer = new TermMapDeserializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - termMapDeserializer.deserialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Deserializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + termMapDeserializer.deserialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Deserializing successful.' + ); + } + } ); }() ); diff --git a/tests/MockEntity.js b/tests/MockEntity.js index 5d6b263..735e455 100644 --- a/tests/MockEntity.js +++ b/tests/MockEntity.js @@ -3,11 +3,11 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -var datamodel = require( 'wikibase.datamodel' ); + var datamodel = require( 'wikibase.datamodel' ); -/** + /** * @extends datamodel.Entity * * @constructor @@ -15,30 +15,30 @@ var datamodel = require( 'wikibase.datamodel' ); * @param {string} id * @param {datamodel.Fingerprint} fingerprint */ -var SELF = util.inherit( - 'wbMockEntity', - datamodel.FingerprintableEntity, - function WbMockEntity( id, fingerprint ) { - this._id = id; - this._fingerprint = fingerprint; - }, -{ - /** - * @inheritdoc - */ - isEmpty: function() { - return this._fingerprint.isEmpty(); - }, + var SELF = util.inherit( + 'wbMockEntity', + datamodel.FingerprintableEntity, + function WbMockEntity( id, fingerprint ) { + this._id = id; + this._fingerprint = fingerprint; + }, + { + /** + * @inheritdoc + */ + isEmpty: function() { + return this._fingerprint.isEmpty(); + }, - /** - * @inheritdoc - */ - equals: function( mock ) { - return this._id === mock.getId() && this._fingerprint.equals( mock.getFingerprint() ); - } -} ); + /** + * @inheritdoc + */ + equals: function( mock ) { + return this._id === mock.getId() && this._fingerprint.equals( mock.getFingerprint() ); + } + } ); -SELF.TYPE = 'mock'; + SELF.TYPE = 'mock'; -module.exports = SELF; + module.exports = SELF; }() ); diff --git a/tests/MockEntity.tests.js b/tests/MockEntity.tests.js index d92c0e9..d311826 100644 --- a/tests/MockEntity.tests.js +++ b/tests/MockEntity.tests.js @@ -5,95 +5,95 @@ ( function() { 'use strict'; -QUnit.module( 'MockEntity' ); + QUnit.module( 'MockEntity' ); -var datamodel = require( 'wikibase.datamodel' ), - MockEntity = require( './MockEntity.js' ); + var datamodel = require( 'wikibase.datamodel' ), + MockEntity = require( './MockEntity.js' ); -var testSets = [ - [ - 'i am an id', - new datamodel.Fingerprint( - new datamodel.TermMap(), - new datamodel.TermMap(), - new datamodel.MultiTermMap() - ) - ], [ - 'i am an id', - new datamodel.Fingerprint( - new datamodel.TermMap( { de: new datamodel.Term( 'de', 'de-label' ) } ), - new datamodel.TermMap( { de: new datamodel.Term( 'de', 'de-description' ) } ), - new datamodel.MultiTermMap( { - de: new datamodel.MultiTerm( 'de', [ 'de-alias' ] ) - } ) - ) - ] -]; - -QUnit.test( 'Constructor', function( assert ) { - assert.expect( 2 ); - for( var i = 0; i < testSets.length; i++ ) { - var mockEntity = new MockEntity( testSets[i][0], testSets[i][1] ); - assert.ok( - mockEntity instanceof MockEntity, - 'Test set #' + i + ': Instantiated MockEntity object.' - ); - } -} ); - -QUnit.test( 'isEmpty()', function( assert ) { - assert.expect( 2 ); - assert.strictEqual( - ( new MockEntity( + var testSets = [ + [ 'i am an id', new datamodel.Fingerprint( new datamodel.TermMap(), new datamodel.TermMap(), new datamodel.MultiTermMap() ) - ) ).isEmpty(), - true, - 'Verified isEmpty() returning TRUE.' - ); - - assert.strictEqual( - ( new MockEntity( + ], [ 'i am an id', new datamodel.Fingerprint( - new datamodel.TermMap( { de: new datamodel.Term( 'de', 'de-term' ) } ), - new datamodel.TermMap(), - new datamodel.MultiTermMap() + new datamodel.TermMap( { de: new datamodel.Term( 'de', 'de-label' ) } ), + new datamodel.TermMap( { de: new datamodel.Term( 'de', 'de-description' ) } ), + new datamodel.MultiTermMap( { + de: new datamodel.MultiTerm( 'de', [ 'de-alias' ] ) + } ) ) - ) ).isEmpty(), - false, - 'Returning FALSE when Fingerprint is not empty.' - ); -} ); + ] + ]; + + QUnit.test( 'Constructor', function( assert ) { + assert.expect( 2 ); + for( var i = 0; i < testSets.length; i++ ) { + var mockEntity = new MockEntity( testSets[i][0], testSets[i][1] ); + assert.ok( + mockEntity instanceof MockEntity, + 'Test set #' + i + ': Instantiated MockEntity object.' + ); + } + } ); + + QUnit.test( 'isEmpty()', function( assert ) { + assert.expect( 2 ); + assert.strictEqual( + ( new MockEntity( + 'i am an id', + new datamodel.Fingerprint( + new datamodel.TermMap(), + new datamodel.TermMap(), + new datamodel.MultiTermMap() + ) + ) ).isEmpty(), + true, + 'Verified isEmpty() returning TRUE.' + ); + + assert.strictEqual( + ( new MockEntity( + 'i am an id', + new datamodel.Fingerprint( + new datamodel.TermMap( { de: new datamodel.Term( 'de', 'de-term' ) } ), + new datamodel.TermMap(), + new datamodel.MultiTermMap() + ) + ) ).isEmpty(), + false, + 'Returning FALSE when Fingerprint is not empty.' + ); + } ); + + QUnit.test( 'equals()', function( assert ) { + assert.expect( 4 ); + for( var i = 0; i < testSets.length; i++ ) { + var property1 = new MockEntity( testSets[i][0], testSets[i][1] ); -QUnit.test( 'equals()', function( assert ) { - assert.expect( 4 ); - for( var i = 0; i < testSets.length; i++ ) { - var property1 = new MockEntity( testSets[i][0], testSets[i][1] ); + for( var j = 0; j < testSets.length; j++ ) { + var property2 = new MockEntity( testSets[j][0], testSets[j][1] ); - for( var j = 0; j < testSets.length; j++ ) { - var property2 = new MockEntity( testSets[j][0], testSets[j][1] ); + if( i === j ) { + assert.strictEqual( + property1.equals( property2 ), + true, + 'Test set #' + i + ' equals test set #' + j + '.' + ); + continue; + } - if( i === j ) { assert.strictEqual( property1.equals( property2 ), - true, - 'Test set #' + i + ' equals test set #' + j + '.' + false, + 'Test set #' + i + ' does not equal test set #' + j + '.' ); - continue; } - - assert.strictEqual( - property1.equals( property2 ), - false, - 'Test set #' + i + ' does not equal test set #' + j + '.' - ); } - } -} ); + } ); }() ); diff --git a/tests/Serializers/ClaimSerializer.tests.js b/tests/Serializers/ClaimSerializer.tests.js index b7578e0..8a837e9 100644 --- a/tests/Serializers/ClaimSerializer.tests.js +++ b/tests/Serializers/ClaimSerializer.tests.js @@ -3,59 +3,59 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'ClaimSerializer' ); + QUnit.module( 'ClaimSerializer' ); -var datamodel = require( 'wikibase.datamodel' ), - ClaimSerializer = require( '../../src/Serializers/ClaimSerializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + ClaimSerializer = require( '../../src/Serializers/ClaimSerializer.js' ); -var testSets = [ - [ - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' ), - { - id: 'Q1$1', - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'claim' - } - ], [ - new datamodel.Claim( - new datamodel.PropertyNoValueSnak( 'P1' ), - new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), - 'Q1$1' - ), - { - id: 'Q1$1', - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - qualifiers: { - P1: [ { + var testSets = [ + [ + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ), null, 'Q1$1' ), + { + id: 'Q1$1', + mainsnak: { snaktype: 'novalue', property: 'P1' - } ] - }, - 'qualifiers-order': [ 'P1' ], - type: 'claim' - } - ] -]; + }, + type: 'claim' + } + ], [ + new datamodel.Claim( + new datamodel.PropertyNoValueSnak( 'P1' ), + new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), + 'Q1$1' + ), + { + id: 'Q1$1', + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + qualifiers: { + P1: [ { + snaktype: 'novalue', + property: 'P1' + } ] + }, + 'qualifiers-order': [ 'P1' ], + type: 'claim' + } + ] + ]; -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 2 ); - var claimSerializer = new ClaimSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 2 ); + var claimSerializer = new ClaimSerializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - claimSerializer.serialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Serializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + claimSerializer.serialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Serializing successful.' + ); + } + } ); }() ); diff --git a/tests/Serializers/ReferenceListSerializer.tests.js b/tests/Serializers/ReferenceListSerializer.tests.js index 3834839..9ff31f6 100644 --- a/tests/Serializers/ReferenceListSerializer.tests.js +++ b/tests/Serializers/ReferenceListSerializer.tests.js @@ -3,55 +3,55 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'ReferenceListSerializer' ); + QUnit.module( 'ReferenceListSerializer' ); -var datamodel = require( 'wikibase.datamodel' ), - ReferenceListSerializer = require( '../../src/Serializers/ReferenceListSerializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + ReferenceListSerializer = require( '../../src/Serializers/ReferenceListSerializer.js' ); -var testSets = [ - [ - new datamodel.ReferenceList(), - [] - ], [ - new datamodel.ReferenceList( [ new datamodel.Reference() ] ), + var testSets = [ [ - { - snaks: {}, - 'snaks-order': [] - } + new datamodel.ReferenceList(), + [] + ], [ + new datamodel.ReferenceList( [ new datamodel.Reference() ] ), + [ + { + snaks: {}, + 'snaks-order': [] + } + ] + ], [ + new datamodel.ReferenceList( [ + new datamodel.Reference( null, 'hash1' ), + new datamodel.Reference( null, 'hash2' ) + ] ), + [ + { + snaks: {}, + 'snaks-order': [], + hash: 'hash1' + }, { + snaks: {}, + 'snaks-order': [], + hash: 'hash2' + } + ] ] - ], [ - new datamodel.ReferenceList( [ - new datamodel.Reference( null, 'hash1' ), - new datamodel.Reference( null, 'hash2' ) - ] ), - [ - { - snaks: {}, - 'snaks-order': [], - hash: 'hash1' - }, { - snaks: {}, - 'snaks-order': [], - hash: 'hash2' - } - ] - ] -]; + ]; -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 3 ); - var referenceListSerializer = new ReferenceListSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 3 ); + var referenceListSerializer = new ReferenceListSerializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - referenceListSerializer.serialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Serializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + referenceListSerializer.serialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Serializing successful.' + ); + } + } ); }() ); diff --git a/tests/Serializers/ReferenceSerializer.tests.js b/tests/Serializers/ReferenceSerializer.tests.js index 032dc49..7ed04de 100644 --- a/tests/Serializers/ReferenceSerializer.tests.js +++ b/tests/Serializers/ReferenceSerializer.tests.js @@ -3,69 +3,69 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'ReferenceSerializer' ); + QUnit.module( 'ReferenceSerializer' ); -var datamodel = require( 'wikibase.datamodel' ), - ReferenceSerializer = require( '../../src/Serializers/ReferenceSerializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + ReferenceSerializer = require( '../../src/Serializers/ReferenceSerializer.js' ); -var testSets = [ - [ - new datamodel.Reference( - new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), - 'i am a hash' - ), - { - hash: 'i am a hash', - snaks: { - P1: [ { - snaktype: 'novalue', - property: 'P1' - } ] - }, - 'snaks-order': [ 'P1' ] - } - ], [ - new datamodel.Reference( - new datamodel.SnakList( [ - new datamodel.PropertyNoValueSnak( 'P2' ), - new datamodel.PropertyNoValueSnak( 'P1' ), - new datamodel.PropertySomeValueSnak( 'P1' ) - ] ), - 'i am a hash' - ), - { - hash: 'i am a hash', - snaks: { - P1: [ { - snaktype: 'novalue', - property: 'P1' - }, { - snaktype: 'somevalue', - property: 'P1' - } ], - P2: [ { - snaktype: 'novalue', - property: 'P2' - } ] - }, - 'snaks-order': [ 'P2', 'P1' ] - } - ] -]; + var testSets = [ + [ + new datamodel.Reference( + new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), + 'i am a hash' + ), + { + hash: 'i am a hash', + snaks: { + P1: [ { + snaktype: 'novalue', + property: 'P1' + } ] + }, + 'snaks-order': [ 'P1' ] + } + ], [ + new datamodel.Reference( + new datamodel.SnakList( [ + new datamodel.PropertyNoValueSnak( 'P2' ), + new datamodel.PropertyNoValueSnak( 'P1' ), + new datamodel.PropertySomeValueSnak( 'P1' ) + ] ), + 'i am a hash' + ), + { + hash: 'i am a hash', + snaks: { + P1: [ { + snaktype: 'novalue', + property: 'P1' + }, { + snaktype: 'somevalue', + property: 'P1' + } ], + P2: [ { + snaktype: 'novalue', + property: 'P2' + } ] + }, + 'snaks-order': [ 'P2', 'P1' ] + } + ] + ]; -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 2 ); - var referenceSerializer = new ReferenceSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 2 ); + var referenceSerializer = new ReferenceSerializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - referenceSerializer.serialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Serializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + referenceSerializer.serialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Serializing successful.' + ); + } + } ); }() ); diff --git a/tests/Serializers/Serializer.tests.js b/tests/Serializers/Serializer.tests.js index 2e527b0..e6ddf36 100644 --- a/tests/Serializers/Serializer.tests.js +++ b/tests/Serializers/Serializer.tests.js @@ -3,23 +3,23 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'Serializer' ); + QUnit.module( 'Serializer' ); -var Serializer = require( '../../src/Serializers/Serializer.js' ); + var Serializer = require( '../../src/Serializers/Serializer.js' ); -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 1 ); - var SomeSerializer = util.inherit( 'WbTestSerializer', Serializer, {} ), - someSerializer = new SomeSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 1 ); + var SomeSerializer = util.inherit( 'WbTestSerializer', Serializer, {} ), + someSerializer = new SomeSerializer(); - assert.throws( - function() { - someSerializer.serialize( {} ); - }, - 'Trying to serialize on a Serializer not having serialize() specified fails.' - ); -} ); + assert.throws( + function() { + someSerializer.serialize( {} ); + }, + 'Trying to serialize on a Serializer not having serialize() specified fails.' + ); + } ); }() ); diff --git a/tests/Serializers/SnakListSerializer.tests.js b/tests/Serializers/SnakListSerializer.tests.js index 4f54646..d5a568f 100644 --- a/tests/Serializers/SnakListSerializer.tests.js +++ b/tests/Serializers/SnakListSerializer.tests.js @@ -3,58 +3,58 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'SnakListSerializer' ); + QUnit.module( 'SnakListSerializer' ); -var datamodel = require( 'wikibase.datamodel' ), - SnakListSerializer = require( '../../src/Serializers/SnakListSerializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + SnakListSerializer = require( '../../src/Serializers/SnakListSerializer.js' ); -var testSets = [ - [ - new datamodel.SnakList(), - {} - ], [ - new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), - { - P1: [ { - snaktype: 'novalue', - property: 'P1' - } ] - } - ], [ - new datamodel.SnakList( [ - new datamodel.PropertyNoValueSnak( 'P2' ), - new datamodel.PropertyNoValueSnak( 'P1' ), - new datamodel.PropertySomeValueSnak( 'P1' ) - ] ), - { - P1: [ { - snaktype: 'novalue', - property: 'P1' - }, { - snaktype: 'somevalue', - property: 'P1' - } ], - P2: [ { - snaktype: 'novalue', - property: 'P2' - } ] - } - ] -]; + var testSets = [ + [ + new datamodel.SnakList(), + {} + ], [ + new datamodel.SnakList( [ new datamodel.PropertyNoValueSnak( 'P1' ) ] ), + { + P1: [ { + snaktype: 'novalue', + property: 'P1' + } ] + } + ], [ + new datamodel.SnakList( [ + new datamodel.PropertyNoValueSnak( 'P2' ), + new datamodel.PropertyNoValueSnak( 'P1' ), + new datamodel.PropertySomeValueSnak( 'P1' ) + ] ), + { + P1: [ { + snaktype: 'novalue', + property: 'P1' + }, { + snaktype: 'somevalue', + property: 'P1' + } ], + P2: [ { + snaktype: 'novalue', + property: 'P2' + } ] + } + ] + ]; -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 3 ); - var snakListSerializer = new SnakListSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 3 ); + var snakListSerializer = new SnakListSerializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - snakListSerializer.serialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Serializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + snakListSerializer.serialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Serializing successful.' + ); + } + } ); }() ); diff --git a/tests/Serializers/SnakSerializer.tests.js b/tests/Serializers/SnakSerializer.tests.js index d53abc8..cb30a4e 100644 --- a/tests/Serializers/SnakSerializer.tests.js +++ b/tests/Serializers/SnakSerializer.tests.js @@ -4,50 +4,50 @@ */ ( function( dv ) { -'use strict'; + 'use strict'; -QUnit.module( 'SnakSerializer' ); + QUnit.module( 'SnakSerializer' ); -var datamodel = require( 'wikibase.datamodel' ), - SnakSerializer = require( '../../src/Serializers/SnakSerializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + SnakSerializer = require( '../../src/Serializers/SnakSerializer.js' ); -var testSets = [ - [ - new datamodel.PropertyNoValueSnak( 'P1' ), - { - snaktype: 'novalue', - property: 'P1' - } - ], [ - new datamodel.PropertySomeValueSnak( 'P1' ), - { - snaktype: 'somevalue', - property: 'P1' - } - ], [ - new datamodel.PropertyValueSnak( 'P1', new dv.StringValue( 'some string' ) ), - { - snaktype: 'value', - property: 'P1', - datavalue: { - type: 'string', - value: 'some string' + var testSets = [ + [ + new datamodel.PropertyNoValueSnak( 'P1' ), + { + snaktype: 'novalue', + property: 'P1' } - } - ] -]; + ], [ + new datamodel.PropertySomeValueSnak( 'P1' ), + { + snaktype: 'somevalue', + property: 'P1' + } + ], [ + new datamodel.PropertyValueSnak( 'P1', new dv.StringValue( 'some string' ) ), + { + snaktype: 'value', + property: 'P1', + datavalue: { + type: 'string', + value: 'some string' + } + } + ] + ]; -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 3 ); - var snakSerializer = new SnakSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 3 ); + var snakSerializer = new SnakSerializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - snakSerializer.serialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Serializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + snakSerializer.serialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Serializing successful.' + ); + } + } ); }( dataValues ) ); diff --git a/tests/Serializers/StatementListSerializer.tests.js b/tests/Serializers/StatementListSerializer.tests.js index 7d4094a..7ad0ecd 100644 --- a/tests/Serializers/StatementListSerializer.tests.js +++ b/tests/Serializers/StatementListSerializer.tests.js @@ -3,45 +3,45 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'StatementListSerializer' ); + QUnit.module( 'StatementListSerializer' ); -var datamodel = require( 'wikibase.datamodel' ), - StatementListSerializer = require( '../../src/Serializers/StatementListSerializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + StatementListSerializer = require( '../../src/Serializers/StatementListSerializer.js' ); -var testSets = [ - [ - new datamodel.StatementList(), - [] - ], [ - new datamodel.StatementList( [ new datamodel.Statement( - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ) - ) ] ), + var testSets = [ [ - { - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'statement', - rank: 'normal' - } + new datamodel.StatementList(), + [] + ], [ + new datamodel.StatementList( [ new datamodel.Statement( + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ) + ) ] ), + [ + { + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'statement', + rank: 'normal' + } + ] ] - ] -]; + ]; -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 2 ); - var statementListSerializer = new StatementListSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 2 ); + var statementListSerializer = new StatementListSerializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - statementListSerializer.serialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Serializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + statementListSerializer.serialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Serializing successful.' + ); + } + } ); }() ); diff --git a/tests/Serializers/StatementSerializer.tests.js b/tests/Serializers/StatementSerializer.tests.js index 7ba2a29..bc041ca 100644 --- a/tests/Serializers/StatementSerializer.tests.js +++ b/tests/Serializers/StatementSerializer.tests.js @@ -3,60 +3,60 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'StatementSerializer' ); + QUnit.module( 'StatementSerializer' ); -var datamodel = require( 'wikibase.datamodel' ), - StatementSerializer = require( '../../src/Serializers/StatementSerializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + StatementSerializer = require( '../../src/Serializers/StatementSerializer.js' ); -var testSets = [ - [ - new datamodel.Statement( - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ), - null, - datamodel.Statement.RANK.NORMAL - ), - { - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - type: 'statement', - rank: 'normal' - } - ], [ - new datamodel.Statement( - new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ), - new datamodel.ReferenceList( [ new datamodel.Reference() ] ), - datamodel.Statement.RANK.PREFERRED - ), - { - mainsnak: { - snaktype: 'novalue', - property: 'P1' - }, - references: [ { - snaks: {}, - 'snaks-order': [] - } ], - type: 'statement', - rank: 'preferred' - } - ] -]; + var testSets = [ + [ + new datamodel.Statement( + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ), + null, + datamodel.Statement.RANK.NORMAL + ), + { + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + type: 'statement', + rank: 'normal' + } + ], [ + new datamodel.Statement( + new datamodel.Claim( new datamodel.PropertyNoValueSnak( 'P1' ) ), + new datamodel.ReferenceList( [ new datamodel.Reference() ] ), + datamodel.Statement.RANK.PREFERRED + ), + { + mainsnak: { + snaktype: 'novalue', + property: 'P1' + }, + references: [ { + snaks: {}, + 'snaks-order': [] + } ], + type: 'statement', + rank: 'preferred' + } + ] + ]; -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 2 ); - var statementSerializer = new StatementSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 2 ); + var statementSerializer = new StatementSerializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - statementSerializer.serialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Serializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + statementSerializer.serialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Serializing successful.' + ); + } + } ); }() ); diff --git a/tests/Serializers/TermMapSerializer.tests.js b/tests/Serializers/TermMapSerializer.tests.js index 3e4e1e9..010b584 100644 --- a/tests/Serializers/TermMapSerializer.tests.js +++ b/tests/Serializers/TermMapSerializer.tests.js @@ -3,49 +3,49 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -QUnit.module( 'TermMapSerializer' ); + QUnit.module( 'TermMapSerializer' ); -var datamodel = require( 'wikibase.datamodel' ), - TermMapSerializer = require( '../../src/Serializers/TermMapSerializer.js' ); + var datamodel = require( 'wikibase.datamodel' ), + TermMapSerializer = require( '../../src/Serializers/TermMapSerializer.js' ); -var testSets = [ - [ - new datamodel.TermMap(), - {} - ], [ - new datamodel.TermMap( { - en: new datamodel.Term( 'en', 'en-test' ), - de: new datamodel.Term( 'de', 'de-test' ) - } ), - { - en: { language: 'en', value: 'en-test' }, - de: { language: 'de', value: 'de-test' } - } - ], [ - new datamodel.TermMap( { - en: new datamodel.Term( 'en', 'en-test' ), - de: new datamodel.Term( 'en', 'en-test' ) - } ), - { - en: { language: 'en', value: 'en-test' }, - de: { language: 'en', value: 'en-test' } - } - ] -]; + var testSets = [ + [ + new datamodel.TermMap(), + {} + ], [ + new datamodel.TermMap( { + en: new datamodel.Term( 'en', 'en-test' ), + de: new datamodel.Term( 'de', 'de-test' ) + } ), + { + en: { language: 'en', value: 'en-test' }, + de: { language: 'de', value: 'de-test' } + } + ], [ + new datamodel.TermMap( { + en: new datamodel.Term( 'en', 'en-test' ), + de: new datamodel.Term( 'en', 'en-test' ) + } ), + { + en: { language: 'en', value: 'en-test' }, + de: { language: 'en', value: 'en-test' } + } + ] + ]; -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 3 ); - var termMapSerializer = new TermMapSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 3 ); + var termMapSerializer = new TermMapSerializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - termMapSerializer.serialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Serializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + termMapSerializer.serialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Serializing successful.' + ); + } + } ); }() ); diff --git a/tests/Serializers/TermSerializer.tests.js b/tests/Serializers/TermSerializer.tests.js index eaedf8e..c934ea2 100644 --- a/tests/Serializers/TermSerializer.tests.js +++ b/tests/Serializers/TermSerializer.tests.js @@ -3,31 +3,31 @@ * @author H. Snater < mediawiki@snater.com > */ ( function() { -'use strict'; + 'use strict'; -var TermSerializer = require( '../../src/Serializers/TermSerializer.js' ), - datamodel = require( 'wikibase.datamodel' ); + var TermSerializer = require( '../../src/Serializers/TermSerializer.js' ), + datamodel = require( 'wikibase.datamodel' ); -QUnit.module( 'TermSerializer' ); + QUnit.module( 'TermSerializer' ); -var testSets = [ - [ - new datamodel.Term( 'en', 'test' ), - { language: 'en', value: 'test' } - ] -]; + var testSets = [ + [ + new datamodel.Term( 'en', 'test' ), + { language: 'en', value: 'test' } + ] + ]; -QUnit.test( 'serialize()', function( assert ) { - assert.expect( 1 ); - var termSerializer = new TermSerializer(); + QUnit.test( 'serialize()', function( assert ) { + assert.expect( 1 ); + var termSerializer = new TermSerializer(); - for( var i = 0; i < testSets.length; i++ ) { - assert.deepEqual( - termSerializer.serialize( testSets[i][0] ), - testSets[i][1], - 'Test set #' + i + ': Serializing successful.' - ); - } -} ); + for( var i = 0; i < testSets.length; i++ ) { + assert.deepEqual( + termSerializer.serialize( testSets[i][0] ), + testSets[i][1], + 'Test set #' + i + ': Serializing successful.' + ); + } + } ); }() ); diff --git a/tests/StrategyProvider.tests.js b/tests/StrategyProvider.tests.js index 4741eff..38d8e02 100644 --- a/tests/StrategyProvider.tests.js +++ b/tests/StrategyProvider.tests.js @@ -5,42 +5,42 @@ ( function() { 'use strict'; -QUnit.module( 'StrategyProvider' ); + QUnit.module( 'StrategyProvider' ); -var testSets = [ - { - strategies: [ [ 0, 'key1' ], [ 1, 'key2' ] ] - } -], - StrategyProvider = require( '../src/StrategyProvider.js' ); + var testSets = [ + { + strategies: [ [ 0, 'key1' ], [ 1, 'key2' ] ] + } + ], + StrategyProvider = require( '../src/StrategyProvider.js' ); -QUnit.test( 'Constructor', function( assert ) { - assert.expect( 1 ); - assert.ok( - ( new StrategyProvider() ) instanceof StrategyProvider, - 'Instantiated StrategyProvider.' - ); -} ); + QUnit.test( 'Constructor', function( assert ) { + assert.expect( 1 ); + assert.ok( + ( new StrategyProvider() ) instanceof StrategyProvider, + 'Instantiated StrategyProvider.' + ); + } ); -QUnit.test( 'registerStrategy() & getStrategyFor()', function( assert ) { - assert.expect( 2 ); - for( var i = 0; i < testSets.length; i++ ) { - var strategyProvider = new StrategyProvider(); + QUnit.test( 'registerStrategy() & getStrategyFor()', function( assert ) { + assert.expect( 2 ); + for( var i = 0; i < testSets.length; i++ ) { + var strategyProvider = new StrategyProvider(); - for( var j = 0; j < testSets[i].strategies.length; j++ ) { - strategyProvider.registerStrategy( - testSets[i].strategies[j][0], - testSets[i].strategies[j][1] - ); - } + for( var j = 0; j < testSets[i].strategies.length; j++ ) { + strategyProvider.registerStrategy( + testSets[i].strategies[j][0], + testSets[i].strategies[j][1] + ); + } - for( j = 0; j < testSets[i].strategies.length; j++ ) { - assert.strictEqual( - strategyProvider.getStrategyFor( testSets[i].strategies[j][1] ), - testSets[i].strategies[j][0] - ); + for( j = 0; j < testSets[i].strategies.length; j++ ) { + assert.strictEqual( + strategyProvider.getStrategyFor( testSets[i].strategies[j][1] ), + testSets[i].strategies[j][0] + ); + } } - } -} ); + } ); }() ); From aae04ccc15276c4c1e5e76e4f2e23df8f85a6d40 Mon Sep 17 00:00:00 2001 From: Leszek Manicki Date: Mon, 7 Dec 2020 09:15:13 +0100 Subject: [PATCH 09/16] Remove redundant PHPCS config No PHP in this repository --- phpcs.xml | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 phpcs.xml diff --git a/phpcs.xml b/phpcs.xml deleted file mode 100644 index 65e99dd..0000000 --- a/phpcs.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - . - node_modules - From 25683870496bc7060a7e54040b992f3426886497 Mon Sep 17 00:00:00 2001 From: "Nicolas @belett VIGNERON" Date: Tue, 30 Mar 2021 15:09:24 +0200 Subject: [PATCH 10/16] Update README.md add link (is it the right/best one?) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e84f921..04ac0fe 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Wikibase Serialization JavaScript -JavaScript library containing serializers and deserializers for the Wikibase DataModel. +JavaScript library containing serializers and deserializers for the [Wikibase DataModel](https://github.com/wmde/WikibaseDataModelJavaScript). ## Release notes ### 5.0.0 (2019-10-21) From 08562d0ea39aaa40615c928ad54a9d965fc77b57 Mon Sep 17 00:00:00 2001 From: sihe Date: Tue, 1 Jun 2021 11:13:31 +0200 Subject: [PATCH 11/16] Reflect the IRC migration to libera.chat Bug: T283707 --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index fb8372a..beac745 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,8 +26,8 @@ deploy: notifications: irc: channels: - - "chat.freenode.net#wikidata-feed" - on_success: never + - "irc.libera.chat#wikidata-feed" + on_success: change on_failure: always template: - "%{repository}/%{branch}/%{commit} : %{author} %{message} %{build_url}" From 643e1a27b6774427016712aad8aa7fee4d451e98 Mon Sep 17 00:00:00 2001 From: Leszek Manicki Date: Tue, 14 Sep 2021 18:13:35 +0200 Subject: [PATCH 12/16] Updated npm publishing API key (#78) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index beac745..7cf06d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ deploy: provider: npm email: engineering-managers@wikimedia.de api_key: - secure: UD4T61ZzgshstkdSRlm67mTozh79hOdJla6skyjp/KlijK21NG/1r5jB1DSo9GZNg/5W9vLOtm1GSf7qFJxrdrZSovM2ElG3VM5d3vwa7AfbR9jibjQzdYfAfAgqa5mIgPNFJjsa5utxPpeOQDzsjKwJsBp3LYlQaAArvZquUiA= + secure: hZ/nMTcsDSbW8L6xln8rw1AvFrQM75h+wQ/Z05OhDjOPG5xdFkp+UOSFkkSzs+6bC6R//BnuKT8rRe7zuBhZuwU+lqpnwKgSDcKrdYG4uSM5qAK/T80EA6imue1vgPyh63E3gxcp4HRHBSNCe1IsyoJGBIV/gV+njCItTvi/fdQ= on: tags: true branch: master From 3be32e5f0c2a76dedff1f7da311cb612ef52e9dc Mon Sep 17 00:00:00 2001 From: Muhammad Yasser Jazirahly Date: Thu, 26 Dec 2024 14:46:14 +0400 Subject: [PATCH 13/16] Replace phantomjs with chrome headless --- karma.conf.js | 14 +++++++++++++- package.json | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/karma.conf.js b/karma.conf.js index a94e372..1991816 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -35,6 +35,18 @@ module.exports = function ( config ) { port: 9876, logLevel: config.LOG_INFO, - browsers: [ 'PhantomJS' ] + browsers: [ 'ChromeHeadless' ], + customLaunchers: { + ChromeHeadless: { + base: 'Chrome', + flags: [ + '--no-sandbox', + '--headless', + '--disable-gpu', + '--disable-dev-shm-usage', + '--disable-software-rasterizer' + ] + } + } } ); }; diff --git a/package.json b/package.json index 315ef3e..6a50dd1 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "eslint-plugin-mediawiki": "^0.2.1", "karma": "^1.7.1", "karma-cli": "^1.0.1", - "karma-phantomjs-launcher": "^1.0.4", + "karma-chrome-launcher": "^3.1.0", "karma-qunit": "^1.2.1", "karma-webpack": "^4.0.2", "qunit": "^1.0.0", From 8ec8b271f274e3669932dc39a7df084e36f69f32 Mon Sep 17 00:00:00 2001 From: Muhammad Yasser Jazirahly Date: Thu, 26 Dec 2024 14:46:42 +0400 Subject: [PATCH 14/16] Added Github Actions workflow to run npm test script on push to git --- .github/workflows/ci.yaml | 42 +++++++++++++++++++++++++++++++++++++++ .travis.yml | 33 ------------------------------ 2 files changed, 42 insertions(+), 33 deletions(-) create mode 100644 .github/workflows/ci.yaml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..c350bec --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,42 @@ +name: Lint and Test + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + test: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [14, 16, 18] + + steps: + - uses: actions/checkout@v3 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + + - name: Setup Chrome + uses: browser-actions/setup-chrome@latest + with: + chrome-version: stable + + - name: Configure Chrome Sandbox + run: | + sudo chown root:root /opt/hostedtoolcache/setup-chrome/chromium/stable/x64/chrome-sandbox + sudo chmod 4755 /opt/hostedtoolcache/setup-chrome/chromium/stable/x64/chrome-sandbox + + - name: Install dependencies + run: npm install + + - name: Run ESLint and tests + run: npm test + env: + CHROME_BIN: chrome + CHROME_FLAGS: --no-sandbox --headless --disable-gpu \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7cf06d0..0000000 --- a/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -language: node_js - -node_js: -- 8 -- 12 -- node - -sudo: false - -before_script: - - npm install - -script: - - npm run test - -deploy: - provider: npm - email: engineering-managers@wikimedia.de - api_key: - secure: hZ/nMTcsDSbW8L6xln8rw1AvFrQM75h+wQ/Z05OhDjOPG5xdFkp+UOSFkkSzs+6bC6R//BnuKT8rRe7zuBhZuwU+lqpnwKgSDcKrdYG4uSM5qAK/T80EA6imue1vgPyh63E3gxcp4HRHBSNCe1IsyoJGBIV/gV+njCItTvi/fdQ= - on: - tags: true - branch: master - condition: "$TRAVIS_NODE_VERSION = 12" - -notifications: - irc: - channels: - - "irc.libera.chat#wikidata-feed" - on_success: change - on_failure: always - template: - - "%{repository}/%{branch}/%{commit} : %{author} %{message} %{build_url}" From a48b3f0f253c67a516a30378196d9df7d6d190b9 Mon Sep 17 00:00:00 2001 From: Leszek Manicki Date: Thu, 9 Jan 2025 21:34:37 +0100 Subject: [PATCH 15/16] Run CI workflow on all push and pull request activities --- .github/workflows/ci.yaml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c350bec..fd47c3e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,10 +1,6 @@ name: Lint and Test -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] +on: [push, pull_request] jobs: test: @@ -39,4 +35,4 @@ jobs: run: npm test env: CHROME_BIN: chrome - CHROME_FLAGS: --no-sandbox --headless --disable-gpu \ No newline at end of file + CHROME_FLAGS: --no-sandbox --headless --disable-gpu From f8680ad5b03dfc7d84e30f50c4a9567cd67e2a57 Mon Sep 17 00:00:00 2001 From: Leszek Manicki Date: Thu, 9 Jan 2025 21:36:17 +0100 Subject: [PATCH 16/16] Run tests on modern versions of node js --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fd47c3e..2df8959 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -8,7 +8,7 @@ jobs: strategy: matrix: - node-version: [14, 16, 18] + node-version: ['20.x', '22.x', '23.x'] steps: - uses: actions/checkout@v3