diff options
Diffstat (limited to 'scripts/migrate_ref_tests.rb')
-rwxr-xr-x | scripts/migrate_ref_tests.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/migrate_ref_tests.rb b/scripts/migrate_ref_tests.rb new file mode 100755 index 00000000..5ed02893 --- /dev/null +++ b/scripts/migrate_ref_tests.rb @@ -0,0 +1,34 @@ +#!/usr/bin/env ruby + +require 'json' + +Dir.glob('./tests/ref/**/grid.json').each do |path| + puts "Migrating #{path}" + + # Read contents + s = File.open(path) { |f| f.read } + + # Parse + grid = JSON.parse(s) + + # Normalize Storage serialization + if grid['raw'].is_a? Array + grid['raw'] = { + 'inner' => grid['raw'][0], + 'zero' => grid['raw'][1], + 'visible_lines' => grid['raw'][2] + } + end + + # Migrate Row serialization + grid['raw']['inner'].map! do |row| + if row.is_a? Hash + row + else + { inner: row, occ: row.length } + end + end + + # Write updated grid + File.open(path, 'w') { |f| f << JSON.generate(grid) } +end |