Skip to content
This repository has been archived by the owner on Aug 13, 2023. It is now read-only.

Commit

Permalink
Merge branch 'latest' into add-mediaicons-stories-to-psammead-assets
Browse files Browse the repository at this point in the history
  • Loading branch information
Ruth Bochere authored Sep 20, 2019
2 parents 52265fb + 237ded5 commit 9682096
Show file tree
Hide file tree
Showing 12 changed files with 252 additions and 70 deletions.
1 change: 1 addition & 0 deletions packages/components/psammead-media-indicator/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<!-- prettier-ignore -->
| Version | Description |
| ------- | ----------- |
| 2.6.0 | [PR#2199](https://github.com/bbc/psammead/pull/2199) Pull in media icons from @bbc/psammead-assets |
| 2.5.9 | [PR#2191](https://github.com/bbc/psammead/pull/2191) Talos - Bump Dependencies - @bbc/gel-foundations |
| 2.5.8 | [PR#2145](https://github.com/bbc/psammead/pull/2145) Talos - Bump Dependencies - @bbc/psammead-styles |
| 2.5.7 | [PR#2081](https://github.com/bbc/psammead/pull/2081) Talos - Bump Dependencies - @bbc/psammead-styles |
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions packages/components/psammead-media-indicator/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bbc/psammead-media-indicator",
"version": "2.5.9",
"version": "2.6.0",
"main": "dist/index.js",
"module": "esm/index.js",
"sideEffects": false,
Expand All @@ -20,7 +20,8 @@
"homepage": "https://github.com/bbc/psammead/blob/latest/packages/components/psammead-media-indicator/README.md",
"dependencies": {
"@bbc/gel-foundations": "^3.4.0",
"@bbc/psammead-styles": "^2.3.0"
"@bbc/psammead-styles": "^2.3.0",
"@bbc/psammead-assets": "^2.3.0"
},
"peerDependencies": {
"react": "^16.9.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/components/psammead-media-indicator/src/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { GEL_SPACING, GEL_SPACING_HLF } from '@bbc/gel-foundations/spacings';
import { GEL_GROUP_1_SCREEN_WIDTH_MAX } from '@bbc/gel-foundations/breakpoints';
import { GEL_MINION } from '@bbc/gel-foundations/typography';
import { getSansRegular } from '@bbc/psammead-styles/font-styles';
import mediaIcons from './mediaIcons';
import { mediaIcons } from '@bbc/psammead-assets/svgs';

const MediaIndicatorWrapper = styled.div`
padding: ${GEL_SPACING} ${GEL_SPACING_HLF};
Expand Down
64 changes: 0 additions & 64 deletions packages/components/psammead-media-indicator/src/mediaIcons.jsx

This file was deleted.

1 change: 1 addition & 0 deletions packages/utilities/psammead-locales/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<!-- prettier-ignore -->
| Version | Description |
| ------- | ----------- |
| 2.15.0 | [PR#2184](https://github.com/bbc/psammead/pull/2184) Add `uz` (Uzbek) locale |
| 2.14.0 | [PR#2178](https://github.com/bbc/psammead/pull/2178) Update `ps` (Pashto) locale to add relative time support |
| 2.13.0 | [PR#2193](https://github.com/bbc/psammead/pull/2193) Create `rw` (Gahuza) and `ti` (Tigrinya) locales |
| 2.12.0 | [PR#2179](https://github.com/bbc/psammead/pull/2179) Create `om` (Afaan Oromoo) and `am` (Amharic) locales |
Expand Down
1 change: 1 addition & 0 deletions packages/utilities/psammead-locales/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ The following locales have overrides to meet BBC World Service requirements wher
- `/moment/sr-cyrl` - locale override for Serbian Cyrillic
- `/moment/ta` - locale override for Tamil
- `/moment/uk` - locale override for Ukrainian
- `/moment/uz` - locale override for Uzbek
- `/moment/yo` - locale override for Yoruba

### Numerals
Expand Down
2 changes: 2 additions & 0 deletions packages/utilities/psammead-locales/moment/index.stories.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import './sr';
import './ta';
import './ti';
import './uk';
import './uz';
import './yo';

const stories = storiesOf('Utilities|Psammead Locales', module);
Expand Down Expand Up @@ -61,6 +62,7 @@ const locales = [
{ name: 'Tamil', locale: 'ta' },
{ name: 'Ukrainian', locale: 'uk' },
{ name: 'Tigrinya', locale: 'ti' },
{ name: 'Uzbek', locale: 'uz' },
{ name: 'Yoruba', locale: 'yo' },
];

Expand Down
15 changes: 15 additions & 0 deletions packages/utilities/psammead-locales/moment/uz.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
var moment = require('moment');
require('moment/locale/uz');

moment.updateLocale('uz', {
relativeTime: {
// these keys have been overridden with our translations
// some other keys have been left as set upstream
// see https://github.com/moment/moment/blob/develop/src/locale/yo.js
past: '%s аввал',
m: '1 дақиқа',
mm: '%d дақиқалар',
h: '1 cоат',
hh: '%d соатлар',
},
});
220 changes: 220 additions & 0 deletions packages/utilities/psammead-locales/moment/uz.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
import moment from 'moment';
import './uz';

moment.locale('uz');

// This asset overrides the gunit assertion done in the moment codebase.
// Format and styling of this file has been keep consistent with the official moment tests.
// An example of these tests can be seen at https://github.com/moment/moment/blob/develop/src/test/locale/en-gb.js
const assert = { equal: (val1, val2) => expect(val1).toEqual(val2) };

// These tests are taken (almost) verbatim from the official moment tests. This has been done in an attempt to ensure
// parity across the two configurations as far as possible.
// See https://github.com/moment/moment/blob/develop/src/test/locale/uz.js

test('parse', function () {
var tests = 'январ янв_феврал фев_март мар_апрел апр_май май_июн июн_июл июл_август авг_сентябр сен_октябр окт_ноябр ноя_декабр дек'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
for (i = 0; i < 12; i++) {
tests[i] = tests[i].split(' ');
equalTest(tests[i][0], 'MMM', i);
equalTest(tests[i][1], 'MMM', i);
equalTest(tests[i][0], 'MMMM', i);
equalTest(tests[i][1], 'MMMM', i);
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
}
});

test('format', function () {
var a = [
['dddd, Do-MMMM YYYY, h:mm:ss', 'Якшанба, 14-феврал 2010, 3:25:50'],
['ddd, h:mm', 'Якш, 3:25'],
['M Mo MM MMMM MMM', '2 2 02 феврал фев'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14 14'],
['d do dddd ddd dd', '0 0 Якшанба Якш Як'],
['DDD DDDo DDDD', '45 45 045'],
['w wo ww', '7 7 07'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
['a A', 'pm PM'],
['[йилнинг] DDDo-[куни]', 'йилнинг 45-куни'],
['LTS', '15:25:50'],
['L', '14/02/2010'],
['LL', '14 феврал 2010'],
['LLL', '14 феврал 2010 15:25'],
['LLLL', '14 феврал 2010, Якшанба 15:25'],
['l', '14/2/2010'],
['ll', '14 фев 2010'],
['lll', '14 фев 2010 15:25'],
['llll', '14 фев 2010, Якш 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
for (i = 0; i < a.length; i++) {
assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
}
});

test('format ordinal', function () {
assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');

assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');

assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');

assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
});

test('format month', function () {
var expected = 'январ янв_феврал фев_март мар_апрел апр_май май_июн июн_июл июл_август авг_сентябр сен_октябр окт_ноябр ноя_декабр дек'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});

test('format week', function () {
var expected = 'Якшанба Якш Як_Душанба Душ Ду_Сешанба Сеш Се_Чоршанба Чор Чо_Пайшанба Пай Па_Жума Жум Жу_Шанба Шан Ша'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
});

test('from', function () {
var start = moment([2007, 1, 28]);
assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'фурсат', '44 секунд = фурсат');
assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), '1 дақиқа', '45 секунд = бир дакика');
assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), '1 дақиқа', '89 секунд = бир дакика');
assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 дақиқалар', '90 секунд = 2 дакика');
assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 дақиқалар', '44 дакика = 44 дакика');
assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), '1 cоат', '45 минут = бир соат');
assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), '1 cоат', '89 minutes = an hour');
assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 соатлар', '90 минут = 2 соат');
assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 соатлар', '5 соат = 5 соат');
assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 соатлар', '21 соат = 21 соат');
assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'бир кун', '22 соат = бир кун');
assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'бир кун', '35 соат = бир кун');
assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 кун', '36 соат = 2 кун');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'бир кун', '1 кун = 1 кун');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 кун', '5 кун = 5 кун');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 кун', '25 кун = 25 кун');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'бир ой', '26 кун = бир ой');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'бир ой', '30 кун = бир ой');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'бир ой', '45 кун = бир ой');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 ой', '46 кун = 2 ой');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 ой', '75 кун = 2 ой');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 ой', '76 кун = 3 ой');
assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'бир ой', 'бир ой = бир ой');
assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 ой', '5 ой = 5 ой');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'бир йил', '345 кун = бир йил');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 йил', '548 кун = 2 йил');
assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'бир йил', '1 йил = бир йил');
assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 йил', '5 йил = 5 йил');
});

test('suffix', function () {
assert.equal(moment(30000).from(0), 'Якин фурсат ичида', 'prefix');
assert.equal(moment(0).from(30000), 'фурсат аввал', 'suffix');
});

test('now from now', function () {
assert.equal(moment().fromNow(), 'фурсат аввал', 'now from now should display as in the past');
});

test('fromNow', function () {
assert.equal(moment().add({s: 30}).fromNow(), 'Якин фурсат ичида', 'in a few seconds');
assert.equal(moment().add({d: 5}).fromNow(), 'Якин 5 кун ичида', 'in 5 days');
});

test('calendar day', function () {
var a = moment().hours(12).minutes(0).seconds(0);

assert.equal(moment(a).calendar(), 'Бугун соат 12:00 да', 'today at the same time');
assert.equal(moment(a).add({m: 25}).calendar(), 'Бугун соат 12:25 да', 'Now plus 25 min');
assert.equal(moment(a).add({h: 1}).calendar(), 'Бугун соат 13:00 да', 'Now plus 1 hour');
assert.equal(moment(a).add({d: 1}).calendar(), 'Эртага 12:00 да', 'tomorrow at the same time');
assert.equal(moment(a).subtract({h: 1}).calendar(), 'Бугун соат 11:00 да', 'Now minus 1 hour');
assert.equal(moment(a).subtract({d: 1}).calendar(), 'Кеча соат 12:00 да', 'yesterday at the same time');
});

test('calendar next week', function () {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
assert.equal(m.calendar(), m.format('dddd [куни соат] LT [да]'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
assert.equal(m.calendar(), m.format('dddd [куни соат] LT [да]'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
assert.equal(m.calendar(), m.format('dddd [куни соат] LT [да]'), 'Today + ' + i + ' days end of day');
}
});

test('calendar last week', function () {
var i, m;

for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
assert.equal(m.calendar(), m.format('[Утган] dddd [куни соат] LT [да]'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
assert.equal(m.calendar(), m.format('[Утган] dddd [куни соат] LT [да]'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
assert.equal(m.calendar(), m.format('[Утган] dddd [куни соат] LT [да]'), 'Today - ' + i + ' days end of day');
}
});

test('calendar all else', function () {
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});

assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');

weeksAgo = moment().subtract({w: 2});
weeksFromNow = moment().add({w: 2});

assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});

test('weeks year starting sunday formatted', function () {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', 'Jan 9 2012 should be week 2');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 2');
});

2 changes: 1 addition & 1 deletion packages/utilities/psammead-locales/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 9682096

Please sign in to comment.