]> git.donarmstrong.com Git - lilypond.git/commitdiff
* input/no-notation/display-lily-tests.ly: moved from
authornsceaux <nsceaux>
Tue, 16 Aug 2005 13:00:23 +0000 (13:00 +0000)
committernsceaux <nsceaux>
Tue, 16 Aug 2005 13:00:23 +0000 (13:00 +0000)
input/regression/ to input/no-notation. Be sure to call
`display-lily-init' before trying to use the display function.

ChangeLog
input/no-notation/display-lily-tests.ly [new file with mode: 0644]
input/regression/display-lily-tests.ly [deleted file]

index 6283b04bb9636cc480bdaaf934e04884248b223e..4a1c8472c151d7e9537ede17ca2fbe91c605cd09 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-08-16  Nicolas Sceaux  <nicolas.sceaux@free.fr>
+
+       * input/no-notation/display-lily-tests.ly: moved from
+       input/regression/ to input/no-notation. Be sure to call
+       `display-lily-init' before trying to use the display function.
+
 2005-08-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
 
        * scripts/lilypond-book.py (option_definitions): Don't localize
diff --git a/input/no-notation/display-lily-tests.ly b/input/no-notation/display-lily-tests.ly
new file mode 100644 (file)
index 0000000..c0372f2
--- /dev/null
@@ -0,0 +1,265 @@
+\version "2.7.2"
+
+#(use-modules (srfi srfi-13)
+              (ice-9 format))
+
+%%%
+%%% Testing utilities
+%%%
+#(define (my-parse-string-result str parser)
+  "Parse `str', which is supposed to contain a music expression."
+  (ly:parser-parse-string parser
+                          (format #f "parseStringResult = \\notemode { ~a }" str))
+  (ly:parser-lookup parser 'parseStringResult))
+
+#(define (my-read-lily-expression chr port)
+  (let ((lily-string (call-with-output-string
+                      (lambda (out)
+                        (do ((c (read-char port) (read-char port)))
+                            ((and (char=? c #\#)
+                                  (char=? (peek-char port) #\]))
+                             (read-char port))
+                          (display c out))))))
+    `(let* ((parser-clone (ly:clone-parser parser))
+            (input-str (string-trim-both ,lily-string))
+            (music (car (ly:music-property (my-parse-string-result input-str parser-clone)
+                                           'elements)))
+            (result-str (string-trim-both (music->lily-string music))))
+       (cons input-str result-str))))
+
+#(read-hash-extend #\[ my-read-lily-expression)
+
+#(define test-number 0)
+  
+#(define (lily-string->markup str)
+   (make-column-markup (string-split str #\NewLine)))
+
+initTest = #(def-music-function (parser location) ()
+             ;; Before using display-lily-music, it must be 
+             ;; inited using display-lily-init
+             (display-lily-init parser)
+             (set! test-number 0)
+             (make-music 'SequentialMusic))
+
+test = #(def-music-function (parser location result-info strings) (string? pair?)
+         (display-lily-init parser)
+          (let ((input (car strings))
+                (output (cdr strings)))
+            (set! test-number (1+ test-number))
+            (if (string=? input output)
+                (make-music 'SequentialMusic)
+                (make-music 'SequentialMusic
+                            'elements
+                            (list (make-music 'EventChord
+                                   'elements (list (make-music 'BreakEvent
+                                                    'page-penalty 0
+                                                    'penalty -10001)))
+                                  (make-music 'EventChord
+                                   'elements (list (make-music 'SkipEvent
+                                                    'duration (ly:make-duration 0 0 1 1))
+                                                   (make-music 'TextScriptEvent
+                                                    'direction -1
+                                                    'text (markup #:column (#:simple (format #f "Test #~a "
+                                                                                      test-number)
+                                                                            (if (string-null? result-info) 
+                                                                                (markup #:bold "BUG") 
+                                                                                (markup #:simple result-info))
+                                                                            #:typewriter (lily-string->markup input)
+                                                                            #:typewriter (lily-string->markup output)))))))))))
+
+%%%
+%%% Tests
+%%%
+\header {
+  texidoc = \markup \column { \line { \typewriter display-lily-music unit tests }
+                              \line { Real bugs (regressions) are marked as \bold BUG. }
+                              \line { Known bugs are marked as TODO. } }
+}
+
+\layout {
+  raggedright = ##t 
+  indent = 0.0\cm
+  \context {
+    \Staff
+    \override StaffSymbol #'line-count = #1
+    %\remove "Staff_symbol_engraver"
+    \remove "Time_signature_engraver"
+    \remove "Clef_engraver"
+  }
+  \context {
+    \Score
+    \remove "Bar_number_engraver"
+  }
+}
+{
+  \initTest
+  %% Sequential music
+  \test #"" ##[ { { a b } { c d } } #]                 % SequentialMusic
+  \test #"" ##[ << { a b } { c d } >> #]               % SimultaneousMusic
+  \test #"" ##[ << { a b } \\ { c d } >> #]            % VoiceSeparator
+  
+  %% Chords and Notes
+  \test #"" ##[ { ceses ces c cis cisis } #]           % NoteEvent
+  \test #"" ##[ { deses des d dis disis } #]
+  \test #"" ##[ { eeses ees e eis eisis } #]
+  \test #"" ##[ { feses fes f fis fisis } #]
+  \test #"" ##[ { geses ges g gis gisis } #]
+  \test #"" ##[ { aeses aes a ais aisis } #]
+  \test #"" ##[ { beses bes b bis bisis } #]
+  \test #"" ##[ { c,, d' } #]
+  \test #"" ##[ { c' d'=' } #]
+  \test #"" ##[ { c! c? } #]
+  \test #"" ##[ r1.*4/3 #]                             % RestEvent
+  \test #"" ##[ c1\rest #]                             % RestEvent
+  \test #"" ##[ s2..*3/4 #]                            % SkipEvent
+  \test #"" ##[ R1.*2/3 #]                             % MultiMeasureRestMusicGroup, MultiMeasureRestEvent
+  \test #"" ##[ \skip 2.*3/4 #]                                % SkipMusic
+  \test #"" ##[ < c\1 e\3 >4.*3/4-. #]                 % EventChord, NoteEvent, StringNumberEvent, ArticulationEvent
+
+  %% tags
+  \test #"" ##[ { \tag #'foo { c4 d } } #]
+  \test #"" ##[ c-\tag #'(foo baz) -^ -. #]
+
+  %% Graces
+  \test #"" ##[ { \grace c8 d2 } #]                    % GraceMusic
+  \test #"" ##[ { \appoggiatura c8 d2 } #]
+  \test #"" ##[ { \acciaccatura c8 d2 } #]
+  \test #"" ##[ { c1 \afterGrace { b,16 c } d2 } #]
+
+  %% Clusters
+  \test #"" ##[ { \makeClusters { c4 g } } #]          % ClusterNoteEvent
+
+  %% Figured bass
+  \test #"" ##[ \figures { < 6 > } #]                  % BassFigureEvent
+  \test #"" ##[ \figuremode { < 1-- 3- > < 2+ 4++ > < _! 7! > } #]
+  \test #"" ##[ \figuremode { < [6 > < 5] > } #]
+
+  %% Lyrics
+  \test #"" ##[ \lyrics { a b } #]
+  \test #"" ##[ \lyricmode { a --  b } #]              % HyphenEvent
+  \test #"" ##[ \lyricmode { a __  b } #]              % ExtenderEvent
+  \test #"" ##[ \lyricmode { "a " } #]                         % LyricEvent
+  \test #"" ##[ \lyricsto "foo" { bla bla } #]         % LyricCombineMusic
+  \test #"" ##[ { { c d }
+  \addlyrics { bla bla } } #]
+  \test #"" ##[ \oldaddlyrics { c d }
+\lyricmode { bla bla } #]                              % OldLyricCombineMusic
+
+  %% Drums
+  \test #"" ##[ \drums { hihat } #]
+  \test #"" ##[ \drummode { hihat4.*3/4 } #]
+
+  %% Expressive marks
+  \test #"" ##[ c4 ~ #]                                        % TieEvent
+  \test #"" ##[ c\noBeam #]                            % BeamForbidEvent
+  \test #"" ##[ c\1 #]                                         % StringNumberEvent
+  \test #"" ##[ { c:  c:1  } #]                                % TremoloEvent
+  \test #"" ##[ { c-^  c^^  c_^  } #]                  % ArticulationEvent
+  \test #"" ##[ { c-+  c^+  c_+  } #]
+  \test #"" ##[ { c--  c^-  c_-  } #]
+  \test #"" ##[ { c-|  c^|  c_|  } #]
+  \test #"" ##[ { c->  c^>  c_>  } #]
+  \test #"" ##[ { c-.  c^.  c_.  } #]
+  \test #"" ##[ { c-_  c^_  c__  } #]
+  \test #"" ##[ { c-\trill  c^\trill  c_\trill  } #]
+  \test #"" ##[ { c-1  c^2  c_3  } #]                  % FingerEvent
+  \test #"" ##[ { c-"foo"  c^"foo"  c_"foo"  } #]      % TextScriptEvent
+  \test #"" ##[ { R1*4 -"foo"  R ^"foo"  R _"foo"  } #]        % MultiMeasureTextEvent
+  \test #"" ##[ { c4-\harmonic  c^\harmonic  c_\harmonic  } #]         % HarmonicEvent
+  \test #"" ##[ { c-\glissando  c^\glissando  c_\glissando  } #] % GlissandoEvent
+  \test #"" ##[ { c-\arpeggio  c^\arpeggio  c_\arpeggio  } #]  % ArpeggioEvent
+  \test #"" ##[ { c\p  c^\ff  c_\sfz  } #]             % AbsoluteDynamicEvent
+  \test #"" ##[ { c[  c]  c^[  c^]  c_[  c_]  } #]     % BeamEvent
+  \test #"" ##[ { c(  c)  c^(  c^)  c_(  c_)  } #]     % SlurEvent
+  \test #"" ##[ { c\<  c\!  c^\<  c^\!  c_\<  c_\!  } #]       % CrescendoEvent
+  \test #"" ##[ { c\>  c\!  c^\>  c^\!  c_\>  c_\!  } #]       % DecrescendoEvent
+  \test #"" ##[ { c\(  c\)  c^\(  c^\)  c_\(  c_\)  } #]       % PhrasingSlurEvent
+  \test #"" ##[ { c\sustainDown  c\sustainUp  } #] % SustainEvent
+  \test #"" ##[ { c\sostenutoDown  c\sostenutoUp  } #] % SostenutoEvent
+  \test #"" ##[ { c\melisma  c\melismaEnd  } #]                % ManualMelismaEvent
+  \test #"" ##[ { c\startTextSpan  c\stopTextSpan  } #] % TextSpanEvent
+  \test #"" ##[ { c\startTrillSpan  c\stopTrillSpan  } #] % TrillSpanEvent
+  \test #"" ##[ { c \startStaff c \stopStaff } #]      % StaffSpanEvent
+  \test #"" ##[ { c\startGroup  c\stopGroup  c^\startGroup  c^\stopGroup  c_\startGroup  c_\stopGroup  } #] % NoteGroupingEvent
+  \test #"" ##[ { c\unaCorda  c\treCorde  } #] % UnaCordaEvent
+  \test #"" ##[ \breathe #]
+  \test #"" ##[ { c \[  c \]  } #]                     % LigatureEvent
+  \test #"" ##[ \~ #]                                  % PesOrFlexaEvent
+
+  \test #"" ##[ \break #]
+
+  %% Checks
+  \test #"" ##[ \octave a' #]                          % RelativeOctaveCheck
+  \test #"" ##[ | #]                                   % BarCheck
+
+  %% Marks
+  \test #"" ##[ \mark \default #]                      % MarkEvent
+  \test #"" ##[ \mark "Allegro" #]
+  \test #"" ##[ \tempo 4 = 120 #]                      % MetronomeChangeEvent
+
+  %% key, time, clef, bar
+  \test #"" ##[ \key \default #]                       % KeyChangeEvent
+  \test #"" ##[ \key e \minor #]
+  \test #"" ##[ \clef "bass" #]
+  \test #"" ##[ \clef "french^2" #]
+  \test #"" ##[ \clef "alto_3" #]
+  \test #"" ##[ \time 2/4 #]
+  \test #"" ##[ #(set-time-signature 5 8 '(3 2)) #]
+  \test #"" ##[ \bar "|." #]
+
+  %% staff switches
+  \test #"" ##[ \autochange { c d } #]                 % AutoChangeMusic
+  \test #"" ##[ { \change Staff = "up" { c d } } #]    % ContextChange
+
+  %% Tuplets
+  \test #"" ##[ \times 2/3 { c8 d e } #]                               % TimeScaledMusic
+  \test #"" ##[ \times 4/6 { c16 d e f g a } #]
+
+  %% \relative and \tranpose
+  \test #"NOT A BUG" ##[ \relative c' { c b } #]       % RelativeOctaveMusic
+  \test #"NOT A BUG" ##[ \transpose c d { c d } #]     % TransposedMusic
+  
+  %% Repeats
+  \test #"" ##[ \repeat volta 2 { c d } #]             % VoltaRepeatedMusic
+  \test #"" ##[ \repeat unfold 2 { c d } #]            % UnfoldedRepeatedMusic
+  \test #"" ##[ \repeat fold 2 { c d } #]              % FoldedRepeatedMusic
+  \test #"" ##[ \repeat percent 2 { c d } #]           % PercentRepeatedMusic
+  \test #"" ##[ \repeat tremolo 4 { c16 d } #]         % TremoloRepeatedMusic
+  \test #"" ##[ \repeat volta 2 { c4 d } \alternative { { c d } { e f } } #] % 
+
+  %% Context creation
+  \test #"" ##[ \new Staff { c d } #]                  % ContextSpeccedMusic
+  \test #"" ##[ \context Staff { c d } #]
+  \test #"" ##[ \context Staff = "up" { c d } #]
+  \test #"" ##[
+\new Staff \with {
+  \consists "Timing_engraver"
+  \remove "Clef_engraver"
+} { c d } #]
+  %% Context properties
+  \test #"" ##[ \once \set Score . skipBars = ##t #]   % PropertySet
+  \test #"" ##[ \set autoBeaming = ##f #]
+  \test #"" ##[ \unset Score . skipBars #]             % PropertyUnset
+  \test #"" ##[ \unset autoBeaming #]
+  %% Layout properties
+  \test #"" ##[ \override Staff . Stem #'thickness = #4.0 #]   % OverrideProperty
+  \test #"" ##[ \once \override Beam #'thickness = #0.6 #]
+  \test #"" ##[ \revert Staff . Stem #'thickness #]    % RevertProperty
+  \test #"" ##[ \revert Beam #'thickness #]
+
+  %% \partial
+
+
+  \test #"" ##[ \partial 2 #]
+  \test #"" ##[ \partial 8. #]
+  \test #"TODO? exotic durations in \\partial" ##[ \partial 4*2/3 #]
+
+  %% \partcombine
+  \test #"" ##[ \partcombine { c e }
+{ d f } #]                                             % PartCombineMusic UnrelativableMusic
+
+  %% Cue notes
+  \test #"" ##[ \cueDuring #"foo" #1 { c d } #]
+  \test #"" ##[ \quoteDuring #"foo" { c d } #]
+}
+
diff --git a/input/regression/display-lily-tests.ly b/input/regression/display-lily-tests.ly
deleted file mode 100644 (file)
index 81f72cf..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-\version "2.7.2"
-
-#(use-modules (srfi srfi-13)
-              (ice-9 format))
-
-%%%
-%%% Testing utilities
-%%%
-#(define (my-parse-string-result str parser)
-  "Parse `str', which is supposed to contain a music expression."
-  (ly:parser-parse-string parser
-                          (format #f "parseStringResult = \\notemode { ~a }" str))
-  (ly:parser-lookup parser 'parseStringResult))
-
-#(define (my-read-lily-expression chr port)
-  (let ((lily-string (call-with-output-string
-                      (lambda (out)
-                        (do ((c (read-char port) (read-char port)))
-                            ((and (char=? c #\#)
-                                  (char=? (peek-char port) #\]))
-                             (read-char port))
-                          (display c out))))))
-    `(let* ((parser-clone (ly:clone-parser parser))
-            (input-str (string-trim-both ,lily-string))
-            (music (car (ly:music-property (my-parse-string-result input-str parser-clone)
-                                           'elements)))
-            (result-str (string-trim-both (music->lily-string music))))
-       (cons input-str result-str))))
-
-#(read-hash-extend #\[ my-read-lily-expression)
-
-#(define test-number 0)
-  
-#(define (lily-string->markup str)
-   (make-column-markup (string-split str #\NewLine)))
-
-test = #(def-music-function (parser location result-info strings) (string? pair?)
-          (let ((input (car strings))
-                (output (cdr strings)))
-            (set! test-number (1+ test-number))
-            (if (string=? input output)
-                (make-music 'SequentialMusic)
-                (make-music 'SequentialMusic
-                            'elements
-                            (list (make-music 'EventChord
-                                   'elements (list (make-music 'BreakEvent
-                                                    'page-penalty 0
-                                                    'penalty -10001)))
-                                  (make-music 'EventChord
-                                   'elements (list (make-music 'SkipEvent
-                                                    'duration (ly:make-duration 0 0 1 1))
-                                                   (make-music 'TextScriptEvent
-                                                    'direction -1
-                                                    'text (markup #:column (#:simple (format #f "Test #~a "
-                                                                                      test-number)
-                                                                            (if (string-null? result-info) 
-                                                                                (markup #:bold "BUG") 
-                                                                                (markup #:simple result-info))
-                                                                            #:typewriter (lily-string->markup input)
-                                                                            #:typewriter (lily-string->markup output)))))))))))
-
-%%%
-%%% Tests
-%%%
-\header {
-  texidoc = \markup \column { \line { \typewriter display-lily-music unit tests }
-                              \line { Real bugs (regressions) are marked as \bold BUG. }
-                              \line { Known bugs are marked as TODO. } }
-}
-
-\layout {
-  raggedright = ##t 
-  indent = 0.0\cm
-  \context {
-    \Staff
-    \override StaffSymbol #'line-count = #1
-    %\remove "Staff_symbol_engraver"
-    \remove "Time_signature_engraver"
-    \remove "Clef_engraver"
-  }
-  \context {
-    \Score
-    \remove "Bar_number_engraver"
-  }
-}
-{
-  %% Sequential music
-  \test #"" ##[ { { a b } { c d } } #]                 % SequentialMusic
-  \test #"" ##[ << { a b } { c d } >> #]               % SimultaneousMusic
-  \test #"" ##[ << { a b } \\ { c d } >> #]            % VoiceSeparator
-  
-  %% Chords and Notes
-  \test #"" ##[ { ceses ces c cis cisis } #]           % NoteEvent
-  \test #"" ##[ { deses des d dis disis } #]
-  \test #"" ##[ { eeses ees e eis eisis } #]
-  \test #"" ##[ { feses fes f fis fisis } #]
-  \test #"" ##[ { geses ges g gis gisis } #]
-  \test #"" ##[ { aeses aes a ais aisis } #]
-  \test #"" ##[ { beses bes b bis bisis } #]
-  \test #"" ##[ { c,, d' } #]
-  \test #"" ##[ { c' d'=' } #]
-  \test #"" ##[ { c! c? } #]
-  \test #"" ##[ r1.*4/3 #]                             % RestEvent
-  \test #"" ##[ c1\rest #]                             % RestEvent
-  \test #"" ##[ s2..*3/4 #]                            % SkipEvent
-  \test #"" ##[ R1.*2/3 #]                             % MultiMeasureRestMusicGroup, MultiMeasureRestEvent
-  \test #"" ##[ \skip 2.*3/4 #]                                % SkipMusic
-  \test #"" ##[ < c\1 e\3 >4.*3/4-. #]                 % EventChord, NoteEvent, StringNumberEvent, ArticulationEvent
-
-  %% tags
-  \test #"" ##[ { \tag #'foo { c4 d } } #]
-  \test #"" ##[ c-\tag #'(foo baz) -^ -. #]
-
-  %% Graces
-  \test #"" ##[ { \grace c8 d2 } #]                    % GraceMusic
-  \test #"" ##[ { \appoggiatura c8 d2 } #]
-  \test #"" ##[ { \acciaccatura c8 d2 } #]
-  \test #"" ##[ { c1 \afterGrace { b,16 c } d2 } #]
-
-  %% Clusters
-  \test #"" ##[ { \makeClusters { c4 g } } #]          % ClusterNoteEvent
-
-  %% Figured bass
-  \test #"" ##[ \figures { < 6 > } #]                  % BassFigureEvent
-  \test #"" ##[ \figuremode { < 1-- 3- > < 2+ 4++ > < _! 7! > } #]
-  \test #"" ##[ \figuremode { < [6 > < 5] > } #]
-
-  %% Lyrics
-  \test #"" ##[ \lyrics { a b } #]
-  \test #"" ##[ \lyricmode { a --  b } #]              % HyphenEvent
-  \test #"" ##[ \lyricmode { a __  b } #]              % ExtenderEvent
-  \test #"" ##[ \lyricmode { "a " } #]                         % LyricEvent
-  \test #"" ##[ \lyricsto "foo" { bla bla } #]         % LyricCombineMusic
-  \test #"" ##[ { { c d }
-  \addlyrics { bla bla } } #]
-  \test #"" ##[ \oldaddlyrics { c d }
-\lyricmode { bla bla } #]                              % OldLyricCombineMusic
-
-  %% Drums
-  \test #"" ##[ \drums { hihat } #]
-  \test #"" ##[ \drummode { hihat4.*3/4 } #]
-
-  %% Expressive marks
-  \test #"" ##[ c4 ~ #]                                        % TieEvent
-  \test #"" ##[ c\noBeam #]                            % BeamForbidEvent
-  \test #"" ##[ c\1 #]                                         % StringNumberEvent
-  \test #"" ##[ { c:  c:1  } #]                                % TremoloEvent
-  \test #"" ##[ { c-^  c^^  c_^  } #]                  % ArticulationEvent
-  \test #"" ##[ { c-+  c^+  c_+  } #]
-  \test #"" ##[ { c--  c^-  c_-  } #]
-  \test #"" ##[ { c-|  c^|  c_|  } #]
-  \test #"" ##[ { c->  c^>  c_>  } #]
-  \test #"" ##[ { c-.  c^.  c_.  } #]
-  \test #"" ##[ { c-_  c^_  c__  } #]
-  \test #"" ##[ { c-\trill  c^\trill  c_\trill  } #]
-  \test #"" ##[ { c-1  c^2  c_3  } #]                  % FingerEvent
-  \test #"" ##[ { c-"foo"  c^"foo"  c_"foo"  } #]      % TextScriptEvent
-  \test #"" ##[ { R1*4 -"foo"  R ^"foo"  R _"foo"  } #]        % MultiMeasureTextEvent
-  \test #"" ##[ { c4-\harmonic  c^\harmonic  c_\harmonic  } #]         % HarmonicEvent
-  \test #"" ##[ { c-\glissando  c^\glissando  c_\glissando  } #] % GlissandoEvent
-  \test #"" ##[ { c-\arpeggio  c^\arpeggio  c_\arpeggio  } #]  % ArpeggioEvent
-  \test #"" ##[ { c\p  c^\ff  c_\sfz  } #]             % AbsoluteDynamicEvent
-  \test #"" ##[ { c[  c]  c^[  c^]  c_[  c_]  } #]     % BeamEvent
-  \test #"" ##[ { c(  c)  c^(  c^)  c_(  c_)  } #]     % SlurEvent
-  \test #"" ##[ { c\<  c\!  c^\<  c^\!  c_\<  c_\!  } #]       % CrescendoEvent
-  \test #"" ##[ { c\>  c\!  c^\>  c^\!  c_\>  c_\!  } #]       % DecrescendoEvent
-  \test #"" ##[ { c\(  c\)  c^\(  c^\)  c_\(  c_\)  } #]       % PhrasingSlurEvent
-  \test #"" ##[ { c\sustainDown  c\sustainUp  } #] % SustainEvent
-  \test #"" ##[ { c\sostenutoDown  c\sostenutoUp  } #] % SostenutoEvent
-  \test #"" ##[ { c\melisma  c\melismaEnd  } #]                % ManualMelismaEvent
-  \test #"" ##[ { c\startTextSpan  c\stopTextSpan  } #] % TextSpanEvent
-  \test #"" ##[ { c\startTrillSpan  c\stopTrillSpan  } #] % TrillSpanEvent
-  \test #"" ##[ { c \startStaff c \stopStaff } #]      % StaffSpanEvent
-  \test #"" ##[ { c\startGroup  c\stopGroup  c^\startGroup  c^\stopGroup  c_\startGroup  c_\stopGroup  } #] % NoteGroupingEvent
-  \test #"" ##[ { c\unaCorda  c\treCorde  } #] % UnaCordaEvent
-  \test #"" ##[ \breathe #]
-  \test #"" ##[ { c \[  c \]  } #]                     % LigatureEvent
-  \test #"" ##[ \~ #]                                  % PesOrFlexaEvent
-
-  \test #"" ##[ \break #]
-
-  %% Checks
-  \test #"" ##[ \octave a' #]                          % RelativeOctaveCheck
-  \test #"" ##[ | #]                                   % BarCheck
-
-  %% Marks
-  \test #"" ##[ \mark \default #]                      % MarkEvent
-  \test #"" ##[ \mark "Allegro" #]
-  \test #"" ##[ \tempo 4 = 120 #]                      % MetronomeChangeEvent
-
-  %% key, time, clef, bar
-  \test #"" ##[ \key \default #]                       % KeyChangeEvent
-  \test #"" ##[ \key e \minor #]
-  \test #"" ##[ \clef "bass" #]
-  \test #"" ##[ \clef "french^2" #]
-  \test #"" ##[ \clef "alto_3" #]
-  \test #"" ##[ \time 2/4 #]
-  \test #"" ##[ #(set-time-signature 5 8 '(3 2)) #]
-  \test #"" ##[ \bar "|." #]
-
-  %% staff switches
-  \test #"" ##[ \autochange { c d } #]                 % AutoChangeMusic
-  \test #"" ##[ { \change Staff = "up" { c d } } #]    % ContextChange
-
-  %% Tuplets
-  \test #"" ##[ \times 2/3 { c8 d e } #]                               % TimeScaledMusic
-  \test #"" ##[ \times 4/6 { c16 d e f g a } #]
-
-  %% \relative and \tranpose
-  \test #"NOT A BUG" ##[ \relative c' { c b } #]       % RelativeOctaveMusic
-  \test #"NOT A BUG" ##[ \transpose c d { c d } #]     % TransposedMusic
-  
-  %% Repeats
-  \test #"" ##[ \repeat volta 2 { c d } #]             % VoltaRepeatedMusic
-  \test #"" ##[ \repeat unfold 2 { c d } #]            % UnfoldedRepeatedMusic
-  \test #"" ##[ \repeat fold 2 { c d } #]              % FoldedRepeatedMusic
-  \test #"" ##[ \repeat percent 2 { c d } #]           % PercentRepeatedMusic
-  \test #"" ##[ \repeat tremolo 4 { c16 d } #]         % TremoloRepeatedMusic
-  \test #"" ##[ \repeat volta 2 { c4 d } \alternative { { c d } { e f } } #] % 
-
-  %% Context creation
-  \test #"" ##[ \new Staff { c d } #]                  % ContextSpeccedMusic
-  \test #"" ##[ \context Staff { c d } #]
-  \test #"" ##[ \context Staff = "up" { c d } #]
-  \test #"" ##[
-\new Staff \with {
-  \consists "Timing_engraver"
-  \remove "Clef_engraver"
-} { c d } #]
-  %% Context properties
-  \test #"" ##[ \once \set Score . skipBars = ##t #]   % PropertySet
-  \test #"" ##[ \set autoBeaming = ##f #]
-  \test #"" ##[ \unset Score . skipBars #]             % PropertyUnset
-  \test #"" ##[ \unset autoBeaming #]
-  %% Layout properties
-  \test #"" ##[ \override Staff . Stem #'thickness = #4.0 #]   % OverrideProperty
-  \test #"" ##[ \once \override Beam #'thickness = #0.6 #]
-  \test #"" ##[ \revert Staff . Stem #'thickness #]    % RevertProperty
-  \test #"" ##[ \revert Beam #'thickness #]
-
-  %% \partial
-
-
-  \test #"" ##[ \partial 2 #]
-  \test #"" ##[ \partial 8. #]
-  \test #"TODO? exotic durations in \\partial" ##[ \partial 4*2/3 #]
-
-  %% \partcombine
-  \test #"" ##[ \partcombine { c e }
-{ d f } #]                                             % PartCombineMusic UnrelativableMusic
-
-  %% Cue notes
-  \test #"" ##[ \cueDuring #"foo" #1 { c d } #]
-  \test #"" ##[ \quoteDuring #"foo" { c d } #]
-}
-