Aleksey Bekh-Ivanov (WMDE) has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/367379 )
Change subject: [WIP] Introduce JS tests running without browser ...................................................................... [WIP] Introduce JS tests running without browser Change-Id: Ibb15850f86545bc1311a0ef4695ac5a0783a124e --- M Gruntfile.js M package.json M resources/widgets/GlossWidget.js A resources/widgets/Localization.js A tests/jasmine/some.spec.js 5 files changed, 55 insertions(+), 4 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseLexeme refs/changes/79/367379/1 diff --git a/Gruntfile.js b/Gruntfile.js index f14dc80..20b6a68 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -4,6 +4,9 @@ grunt.loadNpmTasks( 'grunt-eslint' ); grunt.loadNpmTasks( 'grunt-jsonlint' ); grunt.loadNpmTasks( 'grunt-banana-checker' ); + grunt.loadNpmTasks( 'grunt-jasmine-nodejs' ); + + require( 'module-alias/register' ); grunt.initConfig( { eslint: { @@ -18,6 +21,16 @@ '!node_modules/**', '!vendor/**' ] + }, + jasmine_nodejs: { + all: { + options: { + random: true + }, + specs: [ + 'tests/jasmine/**/*.spec.js' + ] + } } } ); diff --git a/package.json b/package.json index 1fca5de..d4d137d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "private": true, + "name": "Lexeme", "scripts": { "test": "grunt test" }, @@ -7,8 +8,15 @@ "eslint-config-wikimedia": "0.4.0", "grunt": "0.4.5", "grunt-banana-checker": "0.4.0", - "grunt-eslint": "19.0.0", "grunt-cli": "0.1.13", - "grunt-jsonlint": "1.0.7" + "grunt-eslint": "19.0.0", + "grunt-jasmine-nodejs": "^1.6.0", + "grunt-jsonlint": "1.0.7", + "jasmine": "^2.6.0", + "module-alias": "^2.0.0", + "vue": "2.3.3" + }, + "_moduleAliases":{ + "wikibase.lexeme.widgets.GlossWidget": "./resources/widgets/GlossWidget.js" } } diff --git a/resources/widgets/GlossWidget.js b/resources/widgets/GlossWidget.js index a4e68fc..370409d 100644 --- a/resources/widgets/GlossWidget.js +++ b/resources/widgets/GlossWidget.js @@ -1,5 +1,6 @@ -module.exports = ( function ( $, mw, require, Vue, Vuex ) { +module.exports = ( function ( require ) { 'use strict'; + var Vue = require( 'vue' ); function deepClone( object ) { return JSON.parse( JSON.stringify( object ) ); @@ -56,4 +57,4 @@ newGlossWidget: newGlossWidget }; -} )( jQuery, mediaWiki, require, Vue, Vuex ); +} )( require ); diff --git a/resources/widgets/Localization.js b/resources/widgets/Localization.js new file mode 100644 index 0000000..0ef2477 --- /dev/null +++ b/resources/widgets/Localization.js @@ -0,0 +1,21 @@ +module.exports = ( function ( $, mw ) { + 'use strict'; + + //TODO Test + return { + message: function message( key, parameters ) { + parameters = parameters || []; + var messageArguments = []; + messageArguments.push( key ); + parameters.forEach( function ( argument ) { + messageArguments.push( argument ); + } ); + + return mw.message.apply( mw.message, messageArguments ).text(); + }, + directionality: function directionality( languageCode ) { + return $.util.getDirectionality( languageCode ); + } + }; + +} )( jQuery, mw ); diff --git a/tests/jasmine/some.spec.js b/tests/jasmine/some.spec.js new file mode 100644 index 0000000..bffacf6 --- /dev/null +++ b/tests/jasmine/some.spec.js @@ -0,0 +1,8 @@ +describe( 'A suite', function() { + + var GlossWidget = require( 'wikibase.lexeme.widgets.GlossWidget' ); + + it( 'contains spec with an expectation', function() { + expect( true ).toBe( true ); + } ); +} ); -- To view, visit https://gerrit.wikimedia.org/r/367379 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibb15850f86545bc1311a0ef4695ac5a0783a124e Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/WikibaseLexeme Gerrit-Branch: master Gerrit-Owner: Aleksey Bekh-Ivanov (WMDE) <aleksey.bekh-iva...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits