trackler 2.0.6.10 → 2.0.6.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/common/exercises/circular-buffer/canonical-data.json +343 -0
  3. data/common/exercises/luhn/description.md +4 -1
  4. data/common/exercises/secret-handshake/canonical-data.json +67 -0
  5. data/common/exercises/secret-handshake/description.md +6 -8
  6. data/common/exercises/variable-length-quantity/canonical-data.json +147 -0
  7. data/lib/trackler/version.rb +1 -1
  8. data/tracks/ceylon/.gitignore +1 -0
  9. data/tracks/ceylon/.travis.yml +6 -1
  10. data/tracks/ceylon/README.md +143 -4
  11. data/tracks/ceylon/bin/test-all-exercises +13 -0
  12. data/tracks/ceylon/bin/test-exercise +30 -0
  13. data/tracks/ceylon/config.json +33 -3
  14. data/tracks/ceylon/{SETUP.md → exercises/TRACK_HINTS.md} +0 -0
  15. data/tracks/ceylon/exercises/anagram/example/Anagram.ceylon +8 -0
  16. data/tracks/ceylon/exercises/anagram/source/anagram/Anagram.ceylon +3 -0
  17. data/tracks/ceylon/exercises/anagram/source/anagram/AnagramTest.ceylon +47 -0
  18. data/tracks/ceylon/exercises/anagram/source/anagram/module.ceylon +3 -0
  19. data/tracks/ceylon/exercises/bracket-push/example/Brackets.ceylon +18 -0
  20. data/tracks/ceylon/exercises/bracket-push/example/module.ceylon +4 -0
  21. data/tracks/ceylon/exercises/bracket-push/source/bracketpush/Brackets.ceylon +3 -0
  22. data/tracks/ceylon/exercises/bracket-push/source/bracketpush/BracketsTest.ceylon +37 -0
  23. data/tracks/ceylon/exercises/bracket-push/source/bracketpush/module.ceylon +3 -0
  24. data/tracks/ceylon/exercises/leap/example/Leap.ceylon +3 -0
  25. data/tracks/ceylon/exercises/leap/source/leap/Leap.ceylon +3 -0
  26. data/tracks/ceylon/exercises/leap/source/leap/LeapTest.ceylon +10 -0
  27. data/tracks/ceylon/exercises/leap/source/leap/module.ceylon +3 -0
  28. data/tracks/ceylon/exercises/sieve/example/Sieve.ceylon +24 -0
  29. data/tracks/ceylon/exercises/sieve/example/module.ceylon +4 -0
  30. data/tracks/ceylon/exercises/sieve/source/sieve/Sieve.ceylon +3 -0
  31. data/tracks/ceylon/exercises/sieve/source/sieve/SieveTest.ceylon +23 -0
  32. data/tracks/ceylon/exercises/sieve/source/sieve/module.ceylon +3 -0
  33. data/tracks/csharp/.travis.yml +4 -0
  34. data/tracks/elm/SETUP.md +5 -4
  35. data/tracks/fsharp/.travis.yml +4 -0
  36. data/tracks/go/config.json +6 -2
  37. data/tracks/go/exercises/luhn/example.go +5 -4
  38. data/tracks/go/exercises/luhn/luhn_test.go +18 -34
  39. data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +10 -13
  40. data/tracks/lua/docs/ABOUT.md +1 -1
  41. data/tracks/lua/docs/LEARNING.md +1 -0
  42. data/tracks/lua/docs/RESOURCES.md +6 -1
  43. data/tracks/lua/exercises/flatten-array/flatten-array_spec.lua +11 -0
  44. data/tracks/lua/exercises/luhn/example.lua +11 -27
  45. data/tracks/lua/exercises/luhn/luhn_spec.lua +12 -39
  46. data/tracks/ocaml/exercises/all-your-base/all_your_base.mli +0 -2
  47. data/tracks/ocaml/exercises/bracket-push/bracket_push.mli +0 -2
  48. data/tracks/ocaml/exercises/luhn/example.ml +12 -16
  49. data/tracks/ocaml/exercises/luhn/luhn.mli +1 -2
  50. data/tracks/ocaml/exercises/luhn/test.ml +15 -12
  51. data/tracks/php/config.json +8 -0
  52. data/tracks/php/exercises/grains/example.php +63 -0
  53. data/tracks/php/exercises/grains/grains_test.php +82 -0
  54. data/tracks/pony/config.json +26 -14
  55. data/tracks/pony/exercises/anagram/example.pony +17 -73
  56. data/tracks/pony/exercises/anagram/test.pony +6 -13
  57. data/tracks/pony/exercises/bob/example.pony +24 -24
  58. data/tracks/pony/exercises/bob/test.pony +16 -34
  59. data/tracks/pony/exercises/difference-of-squares/example.pony +13 -25
  60. data/tracks/pony/exercises/difference-of-squares/test.pony +9 -16
  61. data/tracks/pony/exercises/hamming/example.pony +8 -23
  62. data/tracks/pony/exercises/hamming/test.pony +16 -30
  63. data/tracks/pony/exercises/hello-world/example.pony +3 -9
  64. data/tracks/pony/exercises/hello-world/test.pony +2 -11
  65. data/tracks/pony/exercises/leap/example.pony +4 -10
  66. data/tracks/pony/exercises/leap/test.pony +2 -11
  67. data/tracks/ruby/lib/generator/command_line.rb +5 -6
  68. data/tracks/ruby/lib/generator/repository.rb +13 -13
  69. data/tracks/ruby/lib/tasks/exercise_test_tasks.rb +2 -4
  70. data/tracks/ruby/lib/tasks/exercise_tests_runner.rb +6 -8
  71. data/tracks/ruby/test/generator/repository_test.rb +26 -34
  72. data/tracks/rust/README.md +1 -1
  73. data/tracks/scheme/config.json +5 -0
  74. data/tracks/scheme/docs/ABOUT.md +7 -0
  75. data/tracks/scheme/exercises/scrabble-score/example.scm +16 -0
  76. data/tracks/scheme/exercises/scrabble-score/scrabble-score-test.scm +57 -0
  77. data/tracks/scheme/exercises/scrabble-score/scrabble-score.scm +2 -0
  78. metadata +33 -5
  79. data/tracks/ceylon/exercises/.keep +0 -0
  80. data/tracks/ceylon/img/.keep +0 -0
@@ -33,30 +33,30 @@ module Generator
33
33
  end
34
34
  end
35
35
 
36
+ # This exists to give us a clue as to what we are delegating to.
37
+ class RepositoryDelegator < SimpleDelegator
38
+ end
39
+
36
40
  # A repository that also logs its progress.
37
- class LoggingRepository < Repository
38
- def initialize(paths:, exercise_name:, logger:)
39
- super(paths: paths, exercise_name: exercise_name)
41
+ class LoggingRepository < RepositoryDelegator
42
+ def initialize(repository:, logger:)
43
+ __setobj__ @repository = repository
40
44
  @logger = logger
41
45
  end
42
46
 
43
47
  def update_tests_version
44
- super
45
- @logger.info "Incremented tests version to #{version}"
48
+ @repository.update_tests_version
49
+ @logger.debug "Incremented tests version to #{version}"
46
50
  end
47
51
 
48
52
  def update_example_solution
49
- super
50
- @logger.info "Updated version in example solution to #{version}"
53
+ @repository.update_example_solution
54
+ @logger.debug "Updated version in example solution to #{version}"
51
55
  end
52
56
 
53
57
  def create_tests_file
54
- super
55
- @logger.info "Generated tests for #{exercise_name}"
58
+ @repository.create_tests_file
59
+ @logger.info "Generated #{exercise_name} tests version #{version}"
56
60
  end
57
61
  end
58
-
59
- # This exists to give us a clue as to what we are delegating to.
60
- class RepositoryDelegator < SimpleDelegator
61
- end
62
62
  end
@@ -21,10 +21,8 @@ class ExerciseTestTasks
21
21
 
22
22
  private
23
23
 
24
- attr_reader :options, :test_runner
25
-
26
24
  def exercises
27
- @_exercises ||= Exercise.all
25
+ @exercises ||= Exercise.all
28
26
  end
29
27
 
30
28
  def define_task_for_all_exercises
@@ -34,7 +32,7 @@ class ExerciseTestTasks
34
32
 
35
33
  def define_task_for(exercise)
36
34
  task exercise do
37
- test_runner.new(exercise: exercise, test_options: options).run
35
+ @test_runner.new(exercise: exercise, test_options: @options).run
38
36
  end
39
37
  end
40
38
  end
@@ -1,4 +1,4 @@
1
- require "rake/file_utils_ext"
1
+ require 'rake/file_utils_ext'
2
2
  require 'tmpdir'
3
3
 
4
4
  class ExerciseTestsRunner
@@ -10,9 +10,9 @@ class ExerciseTestsRunner
10
10
  end
11
11
 
12
12
  def run
13
- puts "\n\n#{'-'*64}\nrunning tests for: #{exercise}"
13
+ puts "\n\n#{'-' * 64}\nrunning tests for: #{@exercise}"
14
14
 
15
- Dir.mktmpdir(exercise.name) do |dir|
15
+ Dir.mktmpdir(@exercise.name) do |dir|
16
16
  setup_exercise_files_in(dir)
17
17
  run_exercise_tests_in(dir)
18
18
  end
@@ -20,14 +20,12 @@ class ExerciseTestsRunner
20
20
 
21
21
  private
22
22
 
23
- attr_reader :exercise, :test_options
24
-
25
23
  def setup_exercise_files_in(dir)
26
- FileUtils.cp_r exercise.directory, dir
27
- FileUtils.mv "#{dir}/#{exercise.example_file}", "#{dir}/#{exercise.testable_example_file}"
24
+ FileUtils.cp_r @exercise.directory, dir
25
+ FileUtils.mv "#{dir}/#{@exercise.example_file}", "#{dir}/#{@exercise.testable_example_file}"
28
26
  end
29
27
 
30
28
  def run_exercise_tests_in(dir)
31
- ruby "-I lib -r disable_skip.rb #{dir}/#{exercise.test_file} #{test_options}"
29
+ ruby "-I lib -r disable_skip.rb #{dir}/#{@exercise.test_file} #{@test_options}"
32
30
  end
33
31
  end
@@ -47,52 +47,44 @@ module Generator
47
47
  end
48
48
 
49
49
  class LoggingRepositoryTest < Minitest::Test
50
- FixturePaths = Paths.new(
51
- metadata: 'test/fixtures/metadata',
52
- track: 'test/fixtures/xruby'
53
- )
50
+ def test_create_tests_file
51
+ mock_repository = Minitest::Mock.new
52
+ mock_repository.expect :create_tests_file, nil
53
+ mock_repository.expect :exercise_name, 'alpha'
54
+ mock_repository.expect :version, 2
55
+ mock_logger = Minitest::Mock.new
56
+ mock_logger.expect :info, nil, ['Generated alpha tests version 2']
54
57
 
55
- def test_update_tests_version
56
- fake_version = 2
58
+ subject = LoggingRepository.new(repository: mock_repository, logger: mock_logger)
59
+ subject.create_tests_file
60
+
61
+ mock_repository.verify
62
+ end
57
63
 
64
+ def test_update_tests_version
65
+ mock_repository = Minitest::Mock.new
66
+ mock_repository.expect :update_tests_version, nil
67
+ mock_repository.expect :version, 2
58
68
  mock_logger = Minitest::Mock.new
59
- mock_logger.expect :info, nil, ["Incremented tests version to #{fake_version}"]
69
+ mock_logger.expect :debug, nil, ['Incremented tests version to 2']
60
70
 
61
- mock_tests_version = Minitest::Mock.new.expect :increment, fake_version
62
- subject = LoggingRepository.new(paths: FixturePaths, exercise_name: 'alpha', logger: mock_logger)
63
- subject.define_singleton_method(:tests_version) { mock_tests_version }
64
- subject.define_singleton_method(:version) { fake_version }
71
+ subject = LoggingRepository.new(repository: mock_repository, logger: mock_logger)
65
72
  subject.update_tests_version
66
- mock_logger.verify
73
+
74
+ mock_repository.verify
67
75
  end
68
76
 
69
77
  def test_update_example_solution
70
- fake_version = 2
78
+ mock_repository = Minitest::Mock.new
79
+ mock_repository.expect :update_example_solution, nil
80
+ mock_repository.expect :version, 2
71
81
  mock_logger = Minitest::Mock.new
72
- mock_logger.expect :info, nil, ["Updated version in example solution to #{fake_version}"]
73
-
74
- mock_example_solution = Minitest::Mock.new.expect :update_version, nil, [2]
75
- subject = LoggingRepository.new(paths: FixturePaths, exercise_name: 'alpha', logger: mock_logger)
76
- subject.define_singleton_method(:example_solution) { mock_example_solution }
77
- subject.define_singleton_method(:version) { fake_version }
82
+ mock_logger.expect :debug, nil, ['Updated version in example solution to 2']
78
83
 
84
+ subject = LoggingRepository.new(repository: mock_repository, logger: mock_logger)
79
85
  subject.update_example_solution
80
- mock_logger.verify
81
- end
82
86
 
83
- # Too much to set up here :(
84
- def test_create_tests_file
85
- mock_logger = Minitest::Mock.new.expect :info, nil, ['Generated tests for alpha']
86
-
87
- mock_tests_template = Minitest::Mock.new.expect :to_s, 'template'
88
- mock_template_values = Minitest::Mock.new
89
- mock_minitest_tests = Minitest::Mock.new.expect :generate, nil, [{ template: 'template', values: mock_template_values }]
90
- subject = LoggingRepository.new(paths: FixturePaths, exercise_name: 'alpha', logger: mock_logger)
91
- subject.define_singleton_method(:minitest_tests) { mock_minitest_tests }
92
- subject.define_singleton_method(:tests_template) { mock_tests_template }
93
- subject.define_singleton_method(:template_values) { mock_template_values }
94
- subject.create_tests_file
95
- mock_logger.verify
87
+ mock_repository.verify
96
88
  end
97
89
  end
98
90
  end
@@ -6,7 +6,7 @@ Exercism exercises in Rust
6
6
 
7
7
  ## Contributing Guide
8
8
 
9
- Please see the [contributing guide](https://github.com/exercism/x-api/blob/master/CONTRIBUTING.md#the-exercise-data)
9
+ Please see the [contributing guide](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md)
10
10
 
11
11
  ## License
12
12
 
@@ -68,6 +68,11 @@
68
68
  "slug": "list-ops",
69
69
  "difficulty": 1,
70
70
  "topics": []
71
+ },
72
+ {
73
+ "slug": "scrabble-score",
74
+ "difficulty": 1,
75
+ "topics": []
71
76
  }
72
77
 
73
78
  ],
@@ -0,0 +1,7 @@
1
+ Scheme is a tail-recursive and statically scoped dialect of the Lisp programming language.
2
+ It was built to have uncomplicated semantics and several different ways to form
3
+ expressions. Multiple programming paradigms, including functional, message,
4
+ and imperative, find easy expression in Scheme.
5
+
6
+ Scheme was invented by Guy Lewis Steele Jr. and Gerald Jay Sussman.
7
+ To learn more about Scheme, take a look at [MIT's Scheme page](https://groups.csail.mit.edu/mac/projects/scheme/index.html).
@@ -0,0 +1,16 @@
1
+ (define-module (scrabble-score)
2
+ #:export (score))
3
+
4
+ (define (letter-score letter)
5
+ (case (char-downcase letter)
6
+ [(#\a #\e #\i #\o #\u #\l #\n #\r #\s #\t) 1]
7
+ [(#\d #\g) 2]
8
+ [(#\b #\c #\m #\p) 3]
9
+ [(#\f #\h #\v #\w #\y) 4]
10
+ [(#\k) 5]
11
+ [(#\j #\x) 8]
12
+ [(#\q #\z) 10]
13
+ [else 0]))
14
+
15
+ (define (score word)
16
+ (string-fold (lambda (letter acc) (+ acc (letter-score letter))) 0 word))
@@ -0,0 +1,57 @@
1
+ ;; Load SRFI-64 lightweight testing specification
2
+ (use-modules (srfi srfi-64))
3
+
4
+ ;; Suppress log file output. To write logs, comment out the following line:
5
+ (module-define! (resolve-module '(srfi srfi-64)) 'test-log-to-file #f)
6
+
7
+ ;; Require module
8
+ (add-to-load-path (dirname (current-filename)))
9
+ (use-modules (scrabble-score))
10
+
11
+ (test-begin "hello-world")
12
+
13
+ (test-assert "a is worth one point"
14
+ (equal? (score "a")
15
+ 1))
16
+
17
+ (test-assert "scoring is case insensitive"
18
+ (equal? (score "A")
19
+ 1))
20
+
21
+ (test-assert "f is worth four"
22
+ (equal? (score "f")
23
+ 4))
24
+
25
+ (test-assert "two one point letters make a two point word"
26
+ (equal? (score "at")
27
+ 2))
28
+
29
+ (test-assert "three letter word"
30
+ (equal? (score "zoo")
31
+ 12))
32
+
33
+ (test-assert "medium word"
34
+ (equal? (score "street")
35
+ 6))
36
+
37
+ (test-assert "longer words with valuable letters"
38
+ (equal? (score "quirky")
39
+ 22))
40
+
41
+ (test-assert "long mixed case word"
42
+ (equal? (score "OxyphenButazone")
43
+ 41))
44
+
45
+ (test-assert "english scrabble letters score"
46
+ (equal? (score "pinata")
47
+ 8))
48
+
49
+ (test-assert "non english scrabble letters do not score"
50
+ (equal? (score "piñata")
51
+ 7))
52
+
53
+ (test-assert "empty words are worth zero"
54
+ (equal? (score "")
55
+ 0))
56
+
57
+ (test-end "hello-world")
@@ -0,0 +1,2 @@
1
+ (define-module (scrabble-score)
2
+ #:export (score))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6.10
4
+ version: 2.0.6.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-12 00:00:00.000000000 Z
11
+ date: 2017-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -160,6 +160,7 @@ files:
160
160
  - common/exercises/change/canonical-data.json
161
161
  - common/exercises/change/description.md
162
162
  - common/exercises/change/metadata.yml
163
+ - common/exercises/circular-buffer/canonical-data.json
163
164
  - common/exercises/circular-buffer/description.md
164
165
  - common/exercises/circular-buffer/metadata.yml
165
166
  - common/exercises/clock/canonical-data.json
@@ -347,6 +348,7 @@ files:
347
348
  - common/exercises/scrabble-score/canonical-data.json
348
349
  - common/exercises/scrabble-score/description.md
349
350
  - common/exercises/scrabble-score/metadata.yml
351
+ - common/exercises/secret-handshake/canonical-data.json
350
352
  - common/exercises/secret-handshake/description.md
351
353
  - common/exercises/secret-handshake/metadata.yml
352
354
  - common/exercises/series/description.md
@@ -389,6 +391,7 @@ files:
389
391
  - common/exercises/two-bucket/canonical-data.json
390
392
  - common/exercises/two-bucket/description.md
391
393
  - common/exercises/two-bucket/metadata.yml
394
+ - common/exercises/variable-length-quantity/canonical-data.json
392
395
  - common/exercises/variable-length-quantity/description.md
393
396
  - common/exercises/variable-length-quantity/metadata.yml
394
397
  - common/exercises/word-count/canonical-data.json
@@ -729,16 +732,34 @@ files:
729
732
  - tracks/ceylon/.travis.yml
730
733
  - tracks/ceylon/LICENSE
731
734
  - tracks/ceylon/README.md
732
- - tracks/ceylon/SETUP.md
733
735
  - tracks/ceylon/bin/fetch-configlet
736
+ - tracks/ceylon/bin/test-all-exercises
737
+ - tracks/ceylon/bin/test-exercise
734
738
  - tracks/ceylon/config.json
735
739
  - tracks/ceylon/docs/ABOUT.md
736
740
  - tracks/ceylon/docs/INSTALLATION.md
737
741
  - tracks/ceylon/docs/LEARNING.md
738
742
  - tracks/ceylon/docs/RESOURCES.md
739
743
  - tracks/ceylon/docs/TESTS.md
740
- - tracks/ceylon/exercises/.keep
741
- - tracks/ceylon/img/.keep
744
+ - tracks/ceylon/exercises/TRACK_HINTS.md
745
+ - tracks/ceylon/exercises/anagram/example/Anagram.ceylon
746
+ - tracks/ceylon/exercises/anagram/source/anagram/Anagram.ceylon
747
+ - tracks/ceylon/exercises/anagram/source/anagram/AnagramTest.ceylon
748
+ - tracks/ceylon/exercises/anagram/source/anagram/module.ceylon
749
+ - tracks/ceylon/exercises/bracket-push/example/Brackets.ceylon
750
+ - tracks/ceylon/exercises/bracket-push/example/module.ceylon
751
+ - tracks/ceylon/exercises/bracket-push/source/bracketpush/Brackets.ceylon
752
+ - tracks/ceylon/exercises/bracket-push/source/bracketpush/BracketsTest.ceylon
753
+ - tracks/ceylon/exercises/bracket-push/source/bracketpush/module.ceylon
754
+ - tracks/ceylon/exercises/leap/example/Leap.ceylon
755
+ - tracks/ceylon/exercises/leap/source/leap/Leap.ceylon
756
+ - tracks/ceylon/exercises/leap/source/leap/LeapTest.ceylon
757
+ - tracks/ceylon/exercises/leap/source/leap/module.ceylon
758
+ - tracks/ceylon/exercises/sieve/example/Sieve.ceylon
759
+ - tracks/ceylon/exercises/sieve/example/module.ceylon
760
+ - tracks/ceylon/exercises/sieve/source/sieve/Sieve.ceylon
761
+ - tracks/ceylon/exercises/sieve/source/sieve/SieveTest.ceylon
762
+ - tracks/ceylon/exercises/sieve/source/sieve/module.ceylon
742
763
  - tracks/ceylon/img/icon.png
743
764
  - tracks/clojure/.git
744
765
  - tracks/clojure/.gitignore
@@ -4496,6 +4517,7 @@ files:
4496
4517
  - tracks/lua/config.json
4497
4518
  - tracks/lua/docs/ABOUT.md
4498
4519
  - tracks/lua/docs/INSTALLATION.md
4520
+ - tracks/lua/docs/LEARNING.md
4499
4521
  - tracks/lua/docs/RESOURCES.md
4500
4522
  - tracks/lua/docs/TESTS.md
4501
4523
  - tracks/lua/exercises/accumulate/accumulate_spec.lua
@@ -5416,6 +5438,8 @@ files:
5416
5438
  - tracks/php/exercises/etl/example.php
5417
5439
  - tracks/php/exercises/gigasecond/example.php
5418
5440
  - tracks/php/exercises/gigasecond/gigasecond_test.php
5441
+ - tracks/php/exercises/grains/example.php
5442
+ - tracks/php/exercises/grains/grains_test.php
5419
5443
  - tracks/php/exercises/hamming/example.php
5420
5444
  - tracks/php/exercises/hamming/hamming.php
5421
5445
  - tracks/php/exercises/hamming/hamming_test.php
@@ -6894,6 +6918,7 @@ files:
6894
6918
  - tracks/scheme/bin/fetch-configlet
6895
6919
  - tracks/scheme/bin/stub.sh
6896
6920
  - tracks/scheme/config.json
6921
+ - tracks/scheme/docs/ABOUT.md
6897
6922
  - tracks/scheme/docs/INSTALLATION.md
6898
6923
  - tracks/scheme/docs/RESOURCES.md
6899
6924
  - tracks/scheme/docs/TESTS.md
@@ -6936,6 +6961,9 @@ files:
6936
6961
  - tracks/scheme/exercises/robot-name/example.scm
6937
6962
  - tracks/scheme/exercises/robot-name/robot-name-test.scm
6938
6963
  - tracks/scheme/exercises/robot-name/robot.scm
6964
+ - tracks/scheme/exercises/scrabble-score/example.scm
6965
+ - tracks/scheme/exercises/scrabble-score/scrabble-score-test.scm
6966
+ - tracks/scheme/exercises/scrabble-score/scrabble-score.scm
6939
6967
  - tracks/scheme/img/icon.png
6940
6968
  - tracks/sml/.git
6941
6969
  - tracks/sml/.gitignore
File without changes
File without changes