Comments (1)
Background & Summary
The root README visible from the project homepage explains the various stages of work involved in order to run these tests. We convert existing sources of test data into a JSON format when we're creating test cases. We also write the result of executing each test cases in a JSON format. We create schema files using JSON Schema to define what structure of JSON and/or what values in that structure are valid.
For every "component" of functionality in our internationalization (i18n) library that we test, we have a separate structure for input and output data, since the corresponding APIs for each functionality component are different from each other. Examples of functionality components are number formatting, likely subtags (locale identifier maximization / minimization), and language display names. These functionality components will be represented in our test result dashboard as separate rows.
Code and test data have been added (or are in the process of being added) to the repository for the components like datetime formatting, list formatting, and relative datetime formatting.
This task represents configuring the schema validator to validate the JSON schema files for one of these new components, and to validate test input data and output test data using those schema files at runtime. These components code and test data are being added in #183 . Existing components should already have their input and output test data validated using the schema validator.
Requirements
- a Debian/Ubuntu Linux system
- python3 installed
- the
jq
command line tool installed
Details
- schema files exist in the
schema
directory, which is further subdivided into folders based on the identifier for the component - the full end-to-end script is at
generateDataAndRun.sh
. The schema additions must work and be executed by the end-to-end script, such that the script successfully runs without errors up through to and including the point where it runscheck_schemas.py
andcheck_generated_data.py
from conformance.
Related Issues (20)
- Should we add Duration Format for NodeJS and ICU4J? HOT 2
- Relative Date Time Formatter: unit "quarter" not supported in ICU4C
- Generate Relative DateTime data with both numeric form 'always' and 'auto' forms
- Add message format 2 to ICU4C, version >= 75 HOT 1
- Add information to summary and detail pages on APIs for each platform, component, and ICU version HOT 1
- ICU4X relativetime - add Numeric options for Auto and Always HOT 1
- Refactor JS test data generating fns to use `.filter()` when sampling
- ICU4X RelativeDateTimeFormatter: mark numeringSystem as unsupported
- Update language name data generator to use new CLDR-sourced info
- Move "lang names" to "locale display names"
- Resolve issues with Locale Display Names (langnames) among different platforms HOT 1
- Filter out test data with locale "und" or "root" HOT 1
- Rename locale display name schema fields HOT 1
- ICU75 plural rules is missing ordinal test data
- Remove locales "und" and "root" from test data, e.g., relative date time format
- Add ICU4X version 1.5 to testing
- Add tests for ICU version 76 when available
- Plural Rules test: Node doesn't support legacy locales, e.g., "mo", "tl", "iw", "sh", etc.
- ICU4X and plural_rules: locale "root" gives an error. HOT 1
- Update README for this project
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from conformance.