From 525010b8ba4b6b73bdc0288e47b409cd6c4a2122 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Wed, 26 Sep 2018 12:05:14 +0200 Subject: [PATCH 1/2] Export FluentResource from fluent --- fluent/src/context.js | 8 ++++---- fluent/src/index.js | 3 ++- fluent/test/arguments_test.js | 2 +- fluent/test/attributes_test.js | 2 +- fluent/test/bomb_test.js | 2 +- fluent/test/constructor_test.js | 2 +- fluent/test/context_test.js | 21 ++++++++++++++++++++- fluent/test/functions_builtin_test.js | 2 +- fluent/test/functions_runtime_test.js | 2 +- fluent/test/functions_test.js | 2 +- fluent/test/isolating_test.js | 2 +- fluent/test/patterns_test.js | 2 +- fluent/test/primitives_test.js | 2 +- fluent/test/select_expressions_test.js | 2 +- fluent/test/transform_test.js | 2 +- fluent/test/values_format_test.js | 2 +- fluent/test/values_ref_test.js | 2 +- 17 files changed, 40 insertions(+), 20 deletions(-) diff --git a/fluent/src/context.js b/fluent/src/context.js index ffcc100cf..fdca46e54 100644 --- a/fluent/src/context.js +++ b/fluent/src/context.js @@ -14,7 +14,7 @@ import FluentResource from "./resource"; * context's language. See the documentation of the Fluent syntax for more * information. */ -export class FluentBundle { +export default class FluentBundle { /** * Create an instance of `FluentBundle`. @@ -122,10 +122,10 @@ export class FluentBundle { /** * Add a translation resource to the context. * - * The translation resource must be a proper FluentResource - * parsed by `FluentBundle.parseResource`. + * The translation resource must be an instance of FluentResource, + * e.g. parsed by `FluentResource.fromString`. * - * let res = FluentBundle.parseResource("foo = Foo"); + * let res = FluentResource.fromString("foo = Foo"); * bundle.addResource(res); * bundle.getMessage('foo'); * diff --git a/fluent/src/index.js b/fluent/src/index.js index 911ed60e7..ad41f3c5e 100644 --- a/fluent/src/index.js +++ b/fluent/src/index.js @@ -9,7 +9,8 @@ export { default as _parse } from "./parser"; -export { FluentBundle } from "./context"; +export { default as FluentBundle } from "./context"; +export { default as FluentResource } from "./resource"; export { FluentType, FluentNumber, FluentDateTime } from "./types"; export { ftl } from "./util"; diff --git a/fluent/test/arguments_test.js b/fluent/test/arguments_test.js index 222c12b25..52dd7e6ff 100644 --- a/fluent/test/arguments_test.js +++ b/fluent/test/arguments_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { FluentType } from '../src/types'; import { ftl } from '../src/util'; diff --git a/fluent/test/attributes_test.js b/fluent/test/attributes_test.js index 5ac5c84b6..061ffdcf5 100644 --- a/fluent/test/attributes_test.js +++ b/fluent/test/attributes_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Attributes', function() { diff --git a/fluent/test/bomb_test.js b/fluent/test/bomb_test.js index 0ddacbad2..f58ef50dd 100644 --- a/fluent/test/bomb_test.js +++ b/fluent/test/bomb_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Reference bombs', function() { diff --git a/fluent/test/constructor_test.js b/fluent/test/constructor_test.js index 33f439fad..85de520d1 100644 --- a/fluent/test/constructor_test.js +++ b/fluent/test/constructor_test.js @@ -3,7 +3,7 @@ import assert from 'assert'; import sinon from 'sinon'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('FluentBundle constructor', function() { diff --git a/fluent/test/context_test.js b/fluent/test/context_test.js index 7d4d1823f..9e077ecbd 100644 --- a/fluent/test/context_test.js +++ b/fluent/test/context_test.js @@ -2,7 +2,8 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; +import FluentResource from '../src/resource'; import { ftl } from '../src/util'; suite('Bundle', function() { @@ -70,6 +71,24 @@ suite('Bundle', function() { }); }); + suite('addResource', function(){ + suiteSetup(function() { + bundle = new FluentBundle('en-US', { useIsolating: false }); + let resource = FluentResource.fromString(ftl` + foo = Foo + -bar = Bar + `); + bundle.addResource(resource); + }); + + test('adds messages', function() { + assert.equal(bundle._messages.has('foo'), true); + assert.equal(bundle._terms.has('foo'), false); + assert.equal(bundle._messages.has('-bar'), false); + assert.equal(bundle._terms.has('-bar'), true); + }); + }); + suite('hasMessage', function(){ suiteSetup(function() { bundle = new FluentBundle('en-US', { useIsolating: false }); diff --git a/fluent/test/functions_builtin_test.js b/fluent/test/functions_builtin_test.js index 250f9fc23..b3c84c544 100644 --- a/fluent/test/functions_builtin_test.js +++ b/fluent/test/functions_builtin_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Built-in functions', function() { diff --git a/fluent/test/functions_runtime_test.js b/fluent/test/functions_runtime_test.js index b6bab1a07..f7d64f86c 100644 --- a/fluent/test/functions_runtime_test.js +++ b/fluent/test/functions_runtime_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Runtime-specific functions', function() { diff --git a/fluent/test/functions_test.js b/fluent/test/functions_test.js index c9f826e29..23b7952a8 100644 --- a/fluent/test/functions_test.js +++ b/fluent/test/functions_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Functions', function() { diff --git a/fluent/test/isolating_test.js b/fluent/test/isolating_test.js index 30f6a89eb..eb2c4b114 100644 --- a/fluent/test/isolating_test.js +++ b/fluent/test/isolating_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; // Unicode bidi isolation characters. diff --git a/fluent/test/patterns_test.js b/fluent/test/patterns_test.js index d4fdb984b..575888797 100644 --- a/fluent/test/patterns_test.js +++ b/fluent/test/patterns_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Patterns', function(){ diff --git a/fluent/test/primitives_test.js b/fluent/test/primitives_test.js index fa42ddbbf..9c263a736 100644 --- a/fluent/test/primitives_test.js +++ b/fluent/test/primitives_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Primitives', function() { diff --git a/fluent/test/select_expressions_test.js b/fluent/test/select_expressions_test.js index b95c55f50..be78907b8 100644 --- a/fluent/test/select_expressions_test.js +++ b/fluent/test/select_expressions_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Select expressions', function() { diff --git a/fluent/test/transform_test.js b/fluent/test/transform_test.js index bf5e6b33a..6e795cb9c 100644 --- a/fluent/test/transform_test.js +++ b/fluent/test/transform_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Transformations', function(){ diff --git a/fluent/test/values_format_test.js b/fluent/test/values_format_test.js index 9f54d52f3..8d30224ab 100644 --- a/fluent/test/values_format_test.js +++ b/fluent/test/values_format_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Formatting values', function(){ diff --git a/fluent/test/values_ref_test.js b/fluent/test/values_ref_test.js index 44d18bc8d..dbe8af9cd 100644 --- a/fluent/test/values_ref_test.js +++ b/fluent/test/values_ref_test.js @@ -2,7 +2,7 @@ import assert from 'assert'; -import { FluentBundle } from '../src/context'; +import FluentBundle from '../src/context'; import { ftl } from '../src/util'; suite('Referencing values', function(){ From 499c367185bd1368bd243aebcaa2cd8cb71eeba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sta=C5=9B=20Ma=C5=82olepszy?= Date: Wed, 26 Sep 2018 12:09:50 +0200 Subject: [PATCH 2/2] Remove the _parse export from fluent --- fluent/src/index.js | 2 -- tools/perf/benchmark.d8.js | 2 +- tools/perf/benchmark.jsshell.js | 2 +- tools/perf/benchmark.node.js | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/fluent/src/index.js b/fluent/src/index.js index ad41f3c5e..ca96f4530 100644 --- a/fluent/src/index.js +++ b/fluent/src/index.js @@ -7,8 +7,6 @@ * */ -export { default as _parse } from "./parser"; - export { default as FluentBundle } from "./context"; export { default as FluentResource } from "./resource"; export { FluentType, FluentNumber, FluentDateTime } from "./types"; diff --git a/tools/perf/benchmark.d8.js b/tools/perf/benchmark.d8.js index 9c9bc7cf6..d213d28f7 100644 --- a/tools/perf/benchmark.d8.js +++ b/tools/perf/benchmark.d8.js @@ -16,7 +16,7 @@ var resource = FluentSyntax.parse(ftlCode); times.ftlParseEnd = Date.now(); times.ftlEntriesParseStart = Date.now(); -var [entries] = Fluent._parse(ftlCode); +var resource = Fluent.FluentResource.fromString(ftlCode); times.ftlEntriesParseEnd = Date.now(); var bundle = new Fluent.FluentBundle('en-US'); diff --git a/tools/perf/benchmark.jsshell.js b/tools/perf/benchmark.jsshell.js index 034eff2e0..c492641c3 100644 --- a/tools/perf/benchmark.jsshell.js +++ b/tools/perf/benchmark.jsshell.js @@ -16,7 +16,7 @@ var resource = FluentSyntax.parse(ftlCode); times.ftlParseEnd = dateNow(); times.ftlEntriesParseStart = dateNow(); -var [entries] = Fluent._parse(ftlCode); +var resource = Fluent.FluentResource.fromString(ftlCode); times.ftlEntriesParseEnd = dateNow(); var bundle = new Fluent.FluentBundle('en-US'); diff --git a/tools/perf/benchmark.node.js b/tools/perf/benchmark.node.js index 571020d58..ee367b213 100644 --- a/tools/perf/benchmark.node.js +++ b/tools/perf/benchmark.node.js @@ -20,7 +20,7 @@ var resource = FluentSyntax.parse(ftlCode); cumulative.ftlParseEnd = process.hrtime(start); cumulative.ftlEntriesParseStart = process.hrtime(start); -var [entries] = Fluent._parse(ftlCode); +var resource = Fluent.FluentResource.fromString(ftlCode); cumulative.ftlEntriesParseEnd = process.hrtime(start); var bundle = new Fluent.FluentBundle('en-US');