Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | 20x 20x 20x 20x 20x 34x 33x 2x 31x 5x 26x 6x 20x 34x 5x 29x 6x 23x 34x 5x 29x 6x 23x 5x | <template> <!-- WikiLambda Vue component for displaying and triggering the result of a tester against a given implementation. @copyright 2020– Abstract Wikipedia team; see AUTHORS.txt @license MIT --> <div class="ext-wikilambda-tester-result"> <cdx-icon :icon="statusIcon" :class="statusIconClass" ></cdx-icon> {{ status }} <cdx-icon v-if="testerStatus !== undefined" :icon="messageIcon" class="ext-wikilambda-tester-result-message-icon" @click.stop="emitTesterKeys" ></cdx-icon> </div> </template> <script> var mapGetters = require( 'vuex' ).mapGetters, typeUtils = require( '../../mixins/typeUtils.js' ), CdxIcon = require( '@wikimedia/codex' ).CdxIcon, icons = require( '../../../../lib/icons.json' ); // @vue/component module.exports = exports = { components: { 'cdx-icon': CdxIcon }, mixins: [ typeUtils ], props: { zFunctionId: { type: String, required: true }, zImplementationId: { type: String, required: true }, zTesterId: { type: String, required: true } }, computed: $.extend( mapGetters( [ 'getZTesterResults' ] ), { testerStatus: function () { return this.getZTesterResults( this.zFunctionId, this.zTesterId, this.zImplementationId ); }, status: function () { if ( !( this.zImplementationId ) || !( this.zTesterId ) ) { return this.$i18n( 'wikilambda-tester-status-pending' ).text(); } if ( this.testerStatus === true ) { return this.$i18n( 'wikilambda-tester-status-passed' ).text(); } if ( this.testerStatus === false ) { return this.$i18n( 'wikilambda-tester-status-failed' ).text(); } return this.$i18n( 'wikilambda-tester-status-running' ).text(); }, statusIcon: function () { if ( this.testerStatus === true ) { return icons.cdxIconCheck; } if ( this.testerStatus === false ) { return icons.cdxIconClose; } // This will be used both for pending and running statuses return icons.cdxIconAlert; }, statusIconClass: function () { if ( this.testerStatus === true ) { return 'ext-wikilambda-tester-result-status--PASS'; } if ( this.testerStatus === false ) { return 'ext-wikilambda-tester-result-status--FAIL'; } return 'ext-wikilambda-tester-result-status--RUNNING'; }, messageIcon: function () { return icons.cdxIconInfo; } } ), methods: { emitTesterKeys: function () { this.$emit( 'set-keys', { zImplementationId: this.zImplementationId, zTesterId: this.zTesterId } ); } } }; </script> <style lang="less"> @import '../../ext.wikilambda.edit.less'; .ext-wikilambda-tester-result { &-message-icon { cursor: pointer; } &-status { &--PASS { color: @color-success; } &--FAIL { color: @color-error; } &--RUNNING { color: @color-warning; } } } </style> |