expressir 0.2.27-arm64-darwin → 1.0.0-arm64-darwin

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +3 -3
  3. data/.gitignore +2 -2
  4. data/demo.rb +5 -5
  5. data/exe/format +8 -8
  6. data/exe/format-test +11 -11
  7. data/expressir.gemspec +0 -1
  8. data/lib/expressir.rb +0 -1
  9. data/lib/expressir/cli.rb +0 -6
  10. data/lib/expressir/{express_exp → express}/2.4/express_parser.bundle +0 -0
  11. data/lib/expressir/{express_exp → express}/2.5/express_parser.bundle +0 -0
  12. data/lib/expressir/{express_exp → express}/2.6/express_parser.bundle +0 -0
  13. data/lib/expressir/{express_exp → express}/2.7/express_parser.bundle +0 -0
  14. data/lib/expressir/{express_exp → express}/3.0/express_parser.bundle +0 -0
  15. data/lib/expressir/{express_exp → express}/cache.rb +3 -6
  16. data/lib/expressir/{express_exp → express}/formatter.rb +72 -66
  17. data/lib/expressir/{express_exp → express}/hyperlink_formatter.rb +1 -1
  18. data/lib/expressir/{express_exp → express}/model_visitor.rb +1 -1
  19. data/lib/expressir/{express_exp → express}/parser.rb +3 -3
  20. data/lib/expressir/{express_exp → express}/resolve_references_model_visitor.rb +2 -2
  21. data/lib/expressir/{express_exp → express}/schema_head_formatter.rb +1 -1
  22. data/lib/expressir/{express_exp → express}/visitor.rb +21 -25
  23. data/lib/expressir/model.rb +2 -2
  24. data/lib/expressir/model/entity.rb +6 -6
  25. data/lib/expressir/model/model_element.rb +1 -1
  26. data/lib/expressir/model/rule.rb +3 -3
  27. data/lib/expressir/model/type.rb +6 -6
  28. data/lib/expressir/model/types/enumeration.rb +2 -4
  29. data/lib/expressir/model/types/select.rb +2 -4
  30. data/lib/expressir/model/{unique.rb → unique_rule.rb} +1 -1
  31. data/lib/expressir/model/{where.rb → where_rule.rb} +1 -1
  32. data/lib/expressir/version.rb +1 -1
  33. data/rakelib/cross-ruby.rake +1 -1
  34. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  35. data/spec/expressir/express/formatter_spec.rb +127 -0
  36. data/spec/expressir/{express_exp → express}/parser_spec.rb +23 -23
  37. data/spec/expressir/model/model_element_spec.rb +45 -45
  38. data/{original/examples → spec}/syntax/multiple.exp +0 -0
  39. data/{original/examples → spec}/syntax/multiple.yaml +4 -4
  40. data/{original/examples → spec}/syntax/multiple_formatted.exp +0 -0
  41. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +0 -0
  42. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +0 -0
  43. data/{original/examples → spec}/syntax/remark.exp +0 -0
  44. data/{original/examples → spec}/syntax/remark.yaml +13 -13
  45. data/{original/examples → spec}/syntax/remark_formatted.exp +0 -0
  46. data/{original/examples → spec}/syntax/single.exp +0 -0
  47. data/{original/examples → spec}/syntax/single.yaml +1 -1
  48. data/{original/examples → spec}/syntax/single_formatted.exp +0 -0
  49. data/{original/examples → spec}/syntax/single_formatted.yaml +1 -1
  50. data/{original/examples → spec}/syntax/syntax.exp +10 -10
  51. data/{original/examples → spec}/syntax/syntax.yaml +106 -106
  52. data/{original/examples → spec}/syntax/syntax_formatted.exp +10 -10
  53. data/{original/examples → spec}/syntax/syntax_hyperlink_formatted.exp +10 -10
  54. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +0 -0
  55. metadata +37 -85
  56. data/lib/expressir/express.rb +0 -11
  57. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  58. data/lib/expressir/express/attribute.rb +0 -15
  59. data/lib/expressir/express/comment.rb +0 -7
  60. data/lib/expressir/express/defined_type.rb +0 -36
  61. data/lib/expressir/express/derived.rb +0 -65
  62. data/lib/expressir/express/derived_aggregate.rb +0 -43
  63. data/lib/expressir/express/entity.rb +0 -137
  64. data/lib/expressir/express/explicit.rb +0 -70
  65. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  66. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  67. data/lib/expressir/express/global_rule.rb +0 -44
  68. data/lib/expressir/express/interface_specification.rb +0 -51
  69. data/lib/expressir/express/interfaced_item.rb +0 -38
  70. data/lib/expressir/express/inverse.rb +0 -46
  71. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  72. data/lib/expressir/express/model_element.rb +0 -7
  73. data/lib/expressir/express/named_type.rb +0 -19
  74. data/lib/expressir/express/remark.rb +0 -8
  75. data/lib/expressir/express/repository.rb +0 -306
  76. data/lib/expressir/express/schema_definition.rb +0 -96
  77. data/lib/expressir/express/subtype_constraint.rb +0 -14
  78. data/lib/expressir/express/type.rb +0 -26
  79. data/lib/expressir/express/type_aggregate.rb +0 -42
  80. data/lib/expressir/express/type_enum.rb +0 -29
  81. data/lib/expressir/express/type_parser.rb +0 -45
  82. data/lib/expressir/express/type_select.rb +0 -82
  83. data/lib/expressir/express/unique_rule.rb +0 -35
  84. data/lib/expressir/express/where_rule.rb +0 -32
  85. data/lib/expressir/express_parser.rb +0 -30
  86. data/lib/expressir/parser.rb +0 -6
  87. data/lib/expressir/parser/owl_parser.rb +0 -8
  88. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  89. data/spec/expressir/express/repository_spec.rb +0 -25
  90. data/spec/expressir/express_exp/formatter_spec.rb +0 -127
@@ -1,5 +1,5 @@
1
1
  module Expressir
2
- module ExpressExp
2
+ module Express
3
3
  module HyperlinkFormatter
4
4
  def format_expressions_simple_reference(node)
5
5
  return node.id unless node.base_path
@@ -1,7 +1,7 @@
1
1
  require "expressir/model"
2
2
 
3
3
  module Expressir
4
- module ExpressExp
4
+ module Express
5
5
  class ModelVisitor
6
6
  def visit(node)
7
7
  node.class.model_attrs.each do |variable|
@@ -4,8 +4,8 @@ begin
4
4
  rescue LoadError
5
5
  require_relative "express_parser"
6
6
  end
7
- require 'expressir/express_exp/visitor'
8
- require 'expressir/express_exp/resolve_references_model_visitor'
7
+ require 'expressir/express/visitor'
8
+ require 'expressir/express/resolve_references_model_visitor'
9
9
 
10
10
  =begin
11
11
  char_stream = Antlr4::Runtime::CharStreams.from_string(input, 'String')
@@ -23,7 +23,7 @@ repo = visitor.visit(parse_tree)
23
23
  =end
24
24
 
25
25
  module Expressir
26
- module ExpressExp
26
+ module Express
27
27
  class Parser
28
28
  def self.from_file(file, options = {})
29
29
  skip_references = options[:skip_references]
@@ -1,8 +1,8 @@
1
- require "expressir/express_exp/model_visitor"
1
+ require "expressir/express/model_visitor"
2
2
  require "expressir/model"
3
3
 
4
4
  module Expressir
5
- module ExpressExp
5
+ module Express
6
6
  class ResolveReferencesModelVisitor < ModelVisitor
7
7
  def visit(node)
8
8
  if node.is_a? Model::Expressions::SimpleReference
@@ -1,5 +1,5 @@
1
1
  module Expressir
2
- module ExpressExp
2
+ module Express
3
3
  module SchemaHeadFormatter
4
4
  def format_schema(node)
5
5
  format_schema_head(node)
@@ -32,7 +32,7 @@ require "set"
32
32
  # - e.g. see visit_schema_decl
33
33
 
34
34
  module Expressir
35
- module ExpressExp
35
+ module Express
36
36
  class Visitor < ::ExpressParser::Visitor
37
37
  REMARK_CHANNEL = 2
38
38
 
@@ -694,7 +694,7 @@ module Expressir
694
694
  id = visit_if(ctx__rule_label_id)
695
695
  expression = visit_if(ctx__expression)
696
696
 
697
- Model::Where.new({
697
+ Model::WhereRule.new({
698
698
  id: id,
699
699
  expression: expression
700
700
  })
@@ -759,8 +759,8 @@ module Expressir
759
759
  *visit_if(ctx__entity_body__derive_clause),
760
760
  *visit_if(ctx__entity_body__inverse_clause)
761
761
  ]
762
- unique = visit_if(ctx__entity_body__unique_clause, [])
763
- where = visit_if(ctx__entity_body__where_clause, [])
762
+ unique_rules = visit_if(ctx__entity_body__unique_clause, [])
763
+ where_rules = visit_if(ctx__entity_body__where_clause, [])
764
764
 
765
765
  Model::Entity.new({
766
766
  id: id,
@@ -768,8 +768,8 @@ module Expressir
768
768
  supertype_expression: supertype_expression,
769
769
  subtype_of: subtype_of,
770
770
  attributes: attributes,
771
- unique: unique,
772
- where: where
771
+ unique_rules: unique_rules,
772
+ where_rules: where_rules
773
773
  })
774
774
  end
775
775
 
@@ -834,15 +834,13 @@ module Expressir
834
834
  ctx__enumeration_extension__enumeration_items = ctx__enumeration_extension&.enumeration_items
835
835
 
836
836
  extensible = ctx__EXTENSIBLE && true
837
- items = visit_if(ctx__enumeration_items, [])
838
- extension_type = visit_if(ctx__enumeration_extension__type_ref)
839
- extension_items = visit_if(ctx__enumeration_extension__enumeration_items, [])
837
+ based_on = visit_if(ctx__enumeration_extension__type_ref)
838
+ items = visit_if(ctx__enumeration_items || ctx__enumeration_extension__enumeration_items, [])
840
839
 
841
840
  Model::Types::Enumeration.new({
842
841
  extensible: extensible,
843
- items: items,
844
- extension_type: extension_type,
845
- extension_items: extension_items
842
+ based_on: based_on,
843
+ items: items
846
844
  })
847
845
  end
848
846
 
@@ -1870,7 +1868,7 @@ module Expressir
1870
1868
  constants = visit_if(ctx__algorithm_head__constant_decl, [])
1871
1869
  variables = visit_if(ctx__algorithm_head__local_decl, [])
1872
1870
  statements = visit_if_map(ctx__stmt)
1873
- where = visit_if(ctx__where_clause, [])
1871
+ where_rules = visit_if(ctx__where_clause, [])
1874
1872
 
1875
1873
  Model::Rule.new({
1876
1874
  id: id,
@@ -1883,7 +1881,7 @@ module Expressir
1883
1881
  constants: constants,
1884
1882
  variables: variables,
1885
1883
  statements: statements,
1886
- where: where
1884
+ where_rules: where_rules
1887
1885
  })
1888
1886
  end
1889
1887
 
@@ -2012,16 +2010,14 @@ module Expressir
2012
2010
 
2013
2011
  extensible = ctx__EXTENSIBLE && true
2014
2012
  generic_entity = ctx__GENERIC_ENTITY && true
2015
- items = visit_if(ctx__select_list, [])
2016
- extension_type = visit_if(ctx__select_extension__type_ref)
2017
- extension_items = visit_if(ctx__select_extension__select_list, [])
2013
+ based_on = visit_if(ctx__select_extension__type_ref)
2014
+ items = visit_if(ctx__select_list || ctx__select_extension__select_list, [])
2018
2015
 
2019
2016
  Model::Types::Select.new({
2020
2017
  extensible: extensible,
2021
2018
  generic_entity: generic_entity,
2022
- items: items,
2023
- extension_type: extension_type,
2024
- extension_items: extension_items
2019
+ based_on: based_on,
2020
+ items: items
2025
2021
  })
2026
2022
  end
2027
2023
 
@@ -2315,13 +2311,13 @@ module Expressir
2315
2311
  ctx__where_clause = ctx.where_clause
2316
2312
 
2317
2313
  id = visit_if(ctx__type_id)
2318
- type = visit_if(ctx__underlying_type)
2319
- where = visit_if(ctx__where_clause, [])
2314
+ underlying_type = visit_if(ctx__underlying_type)
2315
+ where_rules = visit_if(ctx__where_clause, [])
2320
2316
 
2321
2317
  Model::Type.new({
2322
2318
  id: id,
2323
- type: type,
2324
- where: where
2319
+ underlying_type: underlying_type,
2320
+ where_rules: where_rules
2325
2321
  })
2326
2322
  end
2327
2323
 
@@ -2381,7 +2377,7 @@ module Expressir
2381
2377
  id = visit_if(ctx__rule_label_id)
2382
2378
  attributes = visit_if_map(ctx__referenced_attribute)
2383
2379
 
2384
- Model::Unique.new({
2380
+ Model::UniqueRule.new({
2385
2381
  id: id,
2386
2382
  attributes: attributes
2387
2383
  })
@@ -22,9 +22,9 @@ require 'expressir/model/schema_version'
22
22
  require 'expressir/model/schema_version_item'
23
23
  require 'expressir/model/subtype_constraint'
24
24
  require 'expressir/model/type'
25
- require 'expressir/model/unique'
25
+ require 'expressir/model/unique_rule'
26
26
  require 'expressir/model/variable'
27
- require 'expressir/model/where'
27
+ require 'expressir/model/where_rule'
28
28
  require 'expressir/model/expressions/aggregate_initializer'
29
29
  require 'expressir/model/expressions/aggregate_item'
30
30
  require 'expressir/model/expressions/binary_expression'
@@ -7,8 +7,8 @@ module Expressir
7
7
  model_attr_accessor :supertype_expression
8
8
  model_attr_accessor :subtype_of
9
9
  model_attr_accessor :attributes
10
- model_attr_accessor :unique
11
- model_attr_accessor :where
10
+ model_attr_accessor :unique_rules
11
+ model_attr_accessor :where_rules
12
12
  model_attr_accessor :informal_propositions
13
13
 
14
14
  def initialize(options = {})
@@ -21,8 +21,8 @@ module Expressir
21
21
  @supertype_expression = options[:supertype_expression]
22
22
  @subtype_of = options[:subtype_of] || []
23
23
  @attributes = options[:attributes] || []
24
- @unique = options[:unique] || []
25
- @where = options[:where] || []
24
+ @unique_rules = options[:unique_rules] || []
25
+ @where_rules = options[:where_rules] || []
26
26
  @informal_propositions = options[:informal_propositions] || []
27
27
 
28
28
  super
@@ -31,8 +31,8 @@ module Expressir
31
31
  def children
32
32
  [
33
33
  *attributes,
34
- *unique,
35
- *where,
34
+ *unique_rules,
35
+ *where_rules,
36
36
  *informal_propositions,
37
37
  *remark_items
38
38
  ]
@@ -96,7 +96,7 @@ module Expressir
96
96
  def to_hash(options = {})
97
97
  root_path = options[:root_path]
98
98
  formatter = options[:formatter]
99
- include_empty = options[:include_empty] || !options[:skip_empty] # TODO: remove skip_empty
99
+ include_empty = options[:include_empty]
100
100
 
101
101
  hash = {}
102
102
  hash[CLASS_KEY] = self.class.name
@@ -12,7 +12,7 @@ module Expressir
12
12
  model_attr_accessor :constants
13
13
  model_attr_accessor :variables
14
14
  model_attr_accessor :statements
15
- model_attr_accessor :where
15
+ model_attr_accessor :where_rules
16
16
  model_attr_accessor :informal_propositions
17
17
 
18
18
  def initialize(options = {})
@@ -30,7 +30,7 @@ module Expressir
30
30
  @constants = options[:constants] || []
31
31
  @variables = options[:variables] || []
32
32
  @statements = options[:statements] || []
33
- @where = options[:where] || []
33
+ @where_rules = options[:where_rules] || []
34
34
  @informal_propositions = options[:informal_propositions] || []
35
35
 
36
36
  super
@@ -50,7 +50,7 @@ module Expressir
50
50
  *procedures,
51
51
  *constants,
52
52
  *variables,
53
- *where,
53
+ *where_rules,
54
54
  *informal_propositions,
55
55
  *remark_items
56
56
  ]
@@ -3,8 +3,8 @@ module Expressir
3
3
  class Type < ModelElement
4
4
  include Identifier
5
5
 
6
- model_attr_accessor :type
7
- model_attr_accessor :where
6
+ model_attr_accessor :underlying_type
7
+ model_attr_accessor :where_rules
8
8
  model_attr_accessor :informal_propositions
9
9
 
10
10
  def initialize(options = {})
@@ -13,21 +13,21 @@ module Expressir
13
13
  @remark_items = options[:remark_items] || []
14
14
  @source = options[:source]
15
15
 
16
- @type = options[:type]
17
- @where = options[:where] || []
16
+ @underlying_type = options[:underlying_type]
17
+ @where_rules = options[:where_rules] || []
18
18
  @informal_propositions = options[:informal_propositions] || []
19
19
 
20
20
  super
21
21
  end
22
22
 
23
23
  def enumeration_items
24
- type.is_a?(Types::Enumeration) ? type.items : []
24
+ underlying_type.is_a?(Types::Enumeration) ? underlying_type.items : []
25
25
  end
26
26
 
27
27
  def children
28
28
  [
29
29
  *enumeration_items,
30
- *where,
30
+ *where_rules,
31
31
  *informal_propositions,
32
32
  *remark_items
33
33
  ]
@@ -3,15 +3,13 @@ module Expressir
3
3
  module Types
4
4
  class Enumeration < ModelElement
5
5
  model_attr_accessor :extensible
6
+ model_attr_accessor :based_on
6
7
  model_attr_accessor :items
7
- model_attr_accessor :extension_type
8
- model_attr_accessor :extension_items
9
8
 
10
9
  def initialize(options = {})
11
10
  @extensible = options[:extensible]
11
+ @based_on = options[:based_on]
12
12
  @items = options[:items] || []
13
- @extension_type = options[:extension_type]
14
- @extension_items = options[:extension_items] || []
15
13
 
16
14
  super
17
15
  end
@@ -4,16 +4,14 @@ module Expressir
4
4
  class Select < ModelElement
5
5
  model_attr_accessor :extensible
6
6
  model_attr_accessor :generic_entity
7
+ model_attr_accessor :based_on
7
8
  model_attr_accessor :items
8
- model_attr_accessor :extension_type
9
- model_attr_accessor :extension_items
10
9
 
11
10
  def initialize(options = {})
12
11
  @extensible = options[:extensible]
13
12
  @generic_entity = options[:generic_entity]
13
+ @based_on = options[:based_on]
14
14
  @items = options[:items] || []
15
- @extension_type = options[:extension_type]
16
- @extension_items = options[:extension_items] || []
17
15
 
18
16
  super
19
17
  end
@@ -1,6 +1,6 @@
1
1
  module Expressir
2
2
  module Model
3
- class Unique < ModelElement
3
+ class UniqueRule < ModelElement
4
4
  include Identifier
5
5
 
6
6
  model_attr_accessor :attributes
@@ -1,6 +1,6 @@
1
1
  module Expressir
2
2
  module Model
3
- class Where < ModelElement
3
+ class WhereRule < ModelElement
4
4
  include Identifier
5
5
 
6
6
  model_attr_accessor :expression
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "0.2.27".freeze
2
+ VERSION = "1.0.0".freeze
3
3
  end
@@ -296,7 +296,7 @@ require "rake/extensiontask"
296
296
 
297
297
  Rake::ExtensionTask.new("express_parser", GEMSPEC) do |ext|
298
298
  ext.ext_dir = "ext/express-parser"
299
- ext.lib_dir = File.join(*['lib', 'expressir', 'express_exp', ENV['FAT_DIR']].compact)
299
+ ext.lib_dir = File.join(*['lib', 'expressir', 'express', ENV['FAT_DIR']].compact)
300
300
  ext.config_options << ENV['EXTOPTS']
301
301
  ext.cross_compile = true
302
302
  ext.cross_platform = CROSS_RUBIES.map(&:platform).uniq
@@ -1,10 +1,10 @@
1
1
  require "yaml"
2
2
  require "tempfile"
3
3
  require "spec_helper"
4
- require "expressir/express_exp/parser"
5
- require "expressir/express_exp/cache"
4
+ require "expressir/express/parser"
5
+ require "expressir/express/cache"
6
6
 
7
- RSpec.describe Expressir::ExpressExp::Cache do
7
+ RSpec.describe Expressir::Express::Cache do
8
8
  TEST_VERSION = "0.0.0"
9
9
 
10
10
  describe ".to_file" do
@@ -14,7 +14,7 @@ RSpec.describe Expressir::ExpressExp::Cache do
14
14
  repository = Expressir::Model::Repository.new
15
15
 
16
16
  begin
17
- Expressir::ExpressExp::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
17
+ Expressir::Express::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
18
18
 
19
19
  size = File.size(temp_file)
20
20
 
@@ -33,9 +33,9 @@ RSpec.describe Expressir::ExpressExp::Cache do
33
33
  repository = Expressir::Model::Repository.new
34
34
 
35
35
  begin
36
- Expressir::ExpressExp::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
36
+ Expressir::Express::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
37
37
 
38
- result = Expressir::ExpressExp::Cache.from_file(temp_file, test_overwrite_version: TEST_VERSION)
38
+ result = Expressir::Express::Cache.from_file(temp_file, test_overwrite_version: TEST_VERSION)
39
39
 
40
40
  expect(result).to be_instance_of(Expressir::Model::Repository)
41
41
  ensure
@@ -50,11 +50,11 @@ RSpec.describe Expressir::ExpressExp::Cache do
50
50
  repository = Expressir::Model::Repository.new
51
51
 
52
52
  begin
53
- Expressir::ExpressExp::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
53
+ Expressir::Express::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
54
54
 
55
55
  expect do
56
- Expressir::ExpressExp::Cache.from_file(temp_file)
57
- end.to raise_error(Expressir::ExpressExp::CacheLoadError)
56
+ Expressir::Express::Cache.from_file(temp_file)
57
+ end.to raise_error(Expressir::Error)
58
58
  ensure
59
59
  temp_file.close
60
60
  temp_file.unlink
@@ -0,0 +1,127 @@
1
+ require "yaml"
2
+ require "spec_helper"
3
+ require "expressir/express/parser"
4
+ require "expressir/express/formatter"
5
+ require "expressir/express/schema_head_formatter"
6
+ require "expressir/express/hyperlink_formatter"
7
+
8
+ RSpec.describe Expressir::Express::Formatter do
9
+ describe ".format" do
10
+ it "exports an object (single.exp)" do
11
+ exp_file = Expressir.root_path.join("spec", "syntax", "single.exp")
12
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "single_formatted.exp")
13
+
14
+ repo = Expressir::Express::Parser.from_file(exp_file)
15
+
16
+ result = Expressir::Express::Formatter.format(repo)
17
+ # File.write(formatted_exp_file, result)
18
+ expected_result = File.read(formatted_exp_file)
19
+
20
+ expect(result).to eq(expected_result)
21
+ end
22
+
23
+ it "exports an object (multiple.exp)" do
24
+ exp_file = Expressir.root_path.join("spec", "syntax", "multiple.exp")
25
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "multiple_formatted.exp")
26
+
27
+ repo = Expressir::Express::Parser.from_file(exp_file)
28
+
29
+ result = Expressir::Express::Formatter.format(repo)
30
+ # File.write(formatted_exp_file, result)
31
+ expected_result = File.read(formatted_exp_file)
32
+
33
+ expect(result).to eq(expected_result)
34
+ end
35
+
36
+ it "exports an object (remark.exp)" do
37
+ exp_file = Expressir.root_path.join("spec", "syntax", "remark.exp")
38
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "remark_formatted.exp")
39
+
40
+ repo = Expressir::Express::Parser.from_file(exp_file)
41
+
42
+ result = Expressir::Express::Formatter.format(repo)
43
+ # File.write(formatted_exp_file, result)
44
+ expected_result = File.read(formatted_exp_file)
45
+
46
+ expect(result).to eq(expected_result)
47
+ end
48
+
49
+ it "exports an object (syntax.exp)" do
50
+ exp_file = Expressir.root_path.join("spec", "syntax", "syntax.exp")
51
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "syntax_formatted.exp")
52
+
53
+ repo = Expressir::Express::Parser.from_file(exp_file)
54
+
55
+ result = Expressir::Express::Formatter.format(repo)
56
+ # File.write(formatted_exp_file, result)
57
+ expected_result = File.read(formatted_exp_file)
58
+
59
+ expect(result).to eq(expected_result)
60
+ end
61
+
62
+ it "exports an object with schema head formatter (syntax.exp)" do
63
+ exp_file = Expressir.root_path.join("spec", "syntax", "syntax.exp")
64
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "syntax_schema_head_formatted.exp")
65
+
66
+ repo = Expressir::Express::Parser.from_file(exp_file)
67
+
68
+ formatter = Class.new(Expressir::Express::Formatter) do
69
+ include Expressir::Express::SchemaHeadFormatter
70
+ end
71
+ result = formatter.format(repo)
72
+ # File.write(formatted_exp_file, result)
73
+ expected_result = File.read(formatted_exp_file)
74
+
75
+ expect(result).to eq(expected_result)
76
+ end
77
+
78
+ it "exports an object with hyperlink formatter (syntax.exp)" do
79
+ exp_file = Expressir.root_path.join("spec", "syntax", "syntax.exp")
80
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "syntax_hyperlink_formatted.exp")
81
+
82
+ repo = Expressir::Express::Parser.from_file(exp_file)
83
+
84
+ formatter = Class.new(Expressir::Express::Formatter) do
85
+ include Expressir::Express::HyperlinkFormatter
86
+ end
87
+ result = formatter.format(repo)
88
+ # File.write(formatted_exp_file, result)
89
+ expected_result = File.read(formatted_exp_file)
90
+
91
+ expect(result).to eq(expected_result)
92
+ end
93
+
94
+ it "exports an object with hyperlink formatter (multiple.exp)" do
95
+ exp_file = Expressir.root_path.join("spec", "syntax", "multiple.exp")
96
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "multiple_hyperlink_formatted.exp")
97
+
98
+ repo = Expressir::Express::Parser.from_file(exp_file)
99
+
100
+ formatter = Class.new(Expressir::Express::Formatter) do
101
+ include Expressir::Express::HyperlinkFormatter
102
+ end
103
+ result = formatter.format(repo)
104
+ # File.write(formatted_exp_file, result)
105
+ expected_result = File.read(formatted_exp_file)
106
+
107
+ expect(result).to eq(expected_result)
108
+ end
109
+
110
+ it "exports an object with schema head and hyperlink formatter (multiple.exp)" do
111
+ exp_file = Expressir.root_path.join("spec", "syntax", "multiple.exp")
112
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "multiple_schema_head_hyperlink_formatted.exp")
113
+
114
+ repo = Expressir::Express::Parser.from_file(exp_file)
115
+
116
+ formatter = Class.new(Expressir::Express::Formatter) do
117
+ include Expressir::Express::SchemaHeadFormatter
118
+ include Expressir::Express::HyperlinkFormatter
119
+ end
120
+ result = formatter.format(repo)
121
+ # File.write(formatted_exp_file, result)
122
+ expected_result = File.read(formatted_exp_file)
123
+
124
+ expect(result).to eq(expected_result)
125
+ end
126
+ end
127
+ end