Skip to content

Commit

Permalink
Revert "Consistently format text bubbles"
Browse files Browse the repository at this point in the history
This reverts commit bc61e54.
  • Loading branch information
DD Liu committed Mar 19, 2020
1 parent 7330129 commit 2a42285
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 32 deletions.
31 changes: 8 additions & 23 deletions src/blocks/scratch3_looks.js
Original file line number Diff line number Diff line change
Expand Up @@ -233,26 +233,6 @@ class Scratch3LooksBlocks {
this._positionBubble(target);
}

/**
* Properly format text for a text bubble.
* @param {string} text The text to be formatted
* @return {string} The formatted text
* @private
*/
_formatBubbleText (text) {
if (text === '') return text;

// Limit decimal precision to 2 digits.
if (typeof text === 'number') {
text = parseFloat(text.toFixed(2));
}

// Limit the length of the string.
text = String(text).substr(0, Scratch3LooksBlocks.SAY_BUBBLE_LIMIT);

return text;
}

/**
* The entry point for say/think blocks. Clears existing bubble if the text is empty.
* Set the bubble custom state and then call _renderBubble.
Expand All @@ -264,7 +244,7 @@ class Scratch3LooksBlocks {
_updateBubble (target, type, text) {
const bubbleState = this._getBubbleState(target);
bubbleState.type = type;
bubbleState.text = this._formatBubbleText(text);
bubbleState.text = text;
bubbleState.usageId = uid();
this._renderBubble(target);
}
Expand Down Expand Up @@ -320,7 +300,12 @@ class Scratch3LooksBlocks {

say (args, util) {
// @TODO in 2.0 calling say/think resets the right/left bias of the bubble
this.runtime.emit('SAY', util.target, 'say', args.MESSAGE);
let message = args.MESSAGE;
if (typeof message === 'number') {
message = parseFloat(message.toFixed(2));
}
message = String(message).substr(0, Scratch3LooksBlocks.SAY_BUBBLE_LIMIT);
this.runtime.emit('SAY', util.target, 'say', message);
}

sayforsecs (args, util) {
Expand All @@ -340,7 +325,7 @@ class Scratch3LooksBlocks {
}

think (args, util) {
this.runtime.emit('SAY', util.target, 'think', args.MESSAGE);
this._updateBubble(util.target, 'think', String(args.MESSAGE).substr(0, Scratch3LooksBlocks.SAY_BUBBLE_LIMIT));
}

thinkforsecs (args, util) {
Expand Down
15 changes: 6 additions & 9 deletions test/unit/blocks_looks.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@ const util = {
{name: 'second name'},
{name: 'third name'}
]
},
_customState: {},
getCustomState: () => util.target._customState
}
}
};

Expand Down Expand Up @@ -204,15 +202,14 @@ test('numbers should be rounded to two decimals in say', t => {
const args = {MESSAGE: 3.14159};
const expectedSayString = '3.14';

rt.addListener('SAY', () => {
const bubbleState = util.target.getCustomState(Looks.STATE_KEY);
t.strictEqual(bubbleState.text, expectedSayString);
rt.removeAllListeners('SAY'); // Prevent say blocks from executing

rt.addListener('SAY', (target, type, sayString) => {
t.strictEqual(sayString, expectedSayString);
t.end();
});

looks.say(args, util);
looks.think(args, util);

t.end();
});

test('clamp graphic effects', t => {
Expand Down

0 comments on commit 2a42285

Please sign in to comment.