2021-10-28 06:27:35 -04:00
|
|
|
/*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
|
|
* or more contributor license agreements. See the NOTICE file
|
|
|
|
* distributed with this work for additional information
|
|
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
|
|
* to you under the Apache License, Version 2.0 (the
|
|
|
|
* "License"); you may not use this file except in compliance
|
|
|
|
* with the License. You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing,
|
|
|
|
* software distributed under the License is distributed on an
|
|
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
|
* KIND, either express or implied. See the License for the
|
|
|
|
* specific language governing permissions and limitations
|
|
|
|
* under the License.
|
|
|
|
*/
|
|
|
|
|
2022-01-07 20:16:24 -05:00
|
|
|
import { computeMaxFontSize } from '@superset-ui/core';
|
2020-01-28 18:15:31 -05:00
|
|
|
import { addDummyFill, removeDummyFill, SAMPLE_TEXT } from './getBBoxDummyFill';
|
2019-02-05 13:51:27 -05:00
|
|
|
|
|
|
|
describe('computeMaxFontSize(input)', () => {
|
|
|
|
describe('returns dimension of the given text', () => {
|
2019-08-06 13:47:32 -04:00
|
|
|
beforeEach(addDummyFill);
|
|
|
|
afterEach(removeDummyFill);
|
2019-02-05 13:51:27 -05:00
|
|
|
|
|
|
|
it('requires either idealFontSize or maxHeight', () => {
|
2020-09-03 15:02:23 -04:00
|
|
|
expect(() => {
|
2019-02-05 13:51:27 -05:00
|
|
|
computeMaxFontSize({
|
2020-01-28 18:15:31 -05:00
|
|
|
text: SAMPLE_TEXT[0],
|
2020-09-03 15:02:23 -04:00
|
|
|
});
|
|
|
|
}).toThrow();
|
2019-02-05 13:51:27 -05:00
|
|
|
});
|
|
|
|
it('computes maximum font size for given maxWidth and maxHeight', () => {
|
|
|
|
expect(
|
|
|
|
computeMaxFontSize({
|
|
|
|
maxWidth: 400,
|
|
|
|
maxHeight: 30,
|
|
|
|
text: 'sample text',
|
|
|
|
}),
|
|
|
|
).toEqual(30);
|
|
|
|
});
|
|
|
|
it('computes maximum font size for given idealFontSize and maxHeight', () => {
|
|
|
|
expect(
|
|
|
|
computeMaxFontSize({
|
|
|
|
maxHeight: 20,
|
|
|
|
idealFontSize: 40,
|
2020-01-28 18:15:31 -05:00
|
|
|
text: SAMPLE_TEXT[0],
|
2019-02-05 13:51:27 -05:00
|
|
|
}),
|
|
|
|
).toEqual(20);
|
|
|
|
});
|
|
|
|
it('computes maximum font size for given maxWidth and idealFontSize', () => {
|
|
|
|
expect(
|
|
|
|
computeMaxFontSize({
|
|
|
|
maxWidth: 250,
|
|
|
|
idealFontSize: 40,
|
2020-01-28 18:15:31 -05:00
|
|
|
text: SAMPLE_TEXT[0],
|
2019-02-05 13:51:27 -05:00
|
|
|
}),
|
|
|
|
).toEqual(25);
|
|
|
|
});
|
2022-05-25 06:04:04 -04:00
|
|
|
it('ensure idealFontSize is used if the maximum font size calculation goes below zero', () => {
|
|
|
|
expect(
|
|
|
|
computeMaxFontSize({
|
|
|
|
maxWidth: 5,
|
|
|
|
idealFontSize: 34,
|
|
|
|
text: SAMPLE_TEXT[0],
|
|
|
|
}),
|
|
|
|
).toEqual(34);
|
|
|
|
});
|
2019-02-05 13:51:27 -05:00
|
|
|
});
|
|
|
|
});
|