import {IXmlElement} from "../../../../src/Common/FileIO/Xml";
import {MusicSheet} from "../../../../src/MusicalScore/MusicSheet";
import {MusicSheetReader} from "../../../../src/MusicalScore/ScoreIO/MusicSheetReader";
/* tslint:disable:no-unused-expression */
describe("Clef Converter MusicXML to VexFlow", () => {
    let reader: MusicSheetReader;
    let parser: DOMParser;
    before((): void => {
      reader = new MusicSheetReader();
      parser = new DOMParser();
    });
    it("reads treble key", (done: MochaDone) => {
      getMusicSheetWithClef("G").getStaffFromIndex(0);
      done();
    });
    /**
     * Simulates loading a [[MusicSheet]] with the specified clef.
     *
     * @see https://usermanuals.musicxml.com/MusicXML/Content/EL-MusicXML-clef.htm
     */
    function getMusicSheetWithClef(sign: string, line?: number, clefOcatveChange?: number, additional?: string, size?: string): MusicSheet {
      const doc: Document = parser.parseFromString(getMusicXmlWithClef(sign, line, clefOcatveChange, additional, size), "text/xml");
      chai.expect(doc).to.not.be.undefined;
      const score: IXmlElement = new IXmlElement(doc.getElementsByTagName("score-partwise")[0]);
      chai.expect(score).to.not.be.undefined;
      return reader.createMusicSheet(score, "template.xml");
    }
    function getMusicXmlWithClef(sign: string, line?: number, clefOcatveChange?: number, additional?: string, size?: string): string {
      // let modeElement: string = mode ? `${mode}` : "";
      // let fifthsElement: string = fifths ? `${fifths}` : "";
      return `
              
              
                
                  
                    Music
                  
                
                
                  
                    
                      1
                      
                      
                      
                      
                        G
                        2
                      
                    
                    
                      
                        C
                        4
                      
                      4
                      whole
                    
                  
                
              `;
    }
});