Десето предизвикателство

  1. Ето малко тестове:

    describe "String.longest_sequence" do
      it "works with repeated sequence" do
        'aaaaabbbbbddacccc'.longest_sequence.should =~ ['b', 'a']
      end
    
      it "works with special symbol that needs to be escaped" do
        "\"".longest_sequence.should eq ["\""]
        '\''.longest_sequence.should eq ["'"]
        '\\'.longest_sequence.should eq ['\\']
      end
    
      it "works when there's not any longest sequence" do
        'asdfgh'.longest_sequence.should =~ ['a', 's', 'd', 'g', 'f', 'h']
      end
    
      it "works with empty string" do
        ''.longest_sequence.should eq []
      end
    
      it "works with utf-8 symbols" do
        'بسم'.longest_sequence.should =~ ['ب','س','م']
        '✓✓✓بسم'.longest_sequence.should eq ["\u2713".encode('utf-8')]
      end
    
      it "works with unprintable symbols" do
        ("дадада" + "\u2029".encode('utf-8') + "\u2029".encode('utf-8')).longest_sequence.should eq ["\u2029".encode('utf-8')]
        # U+2029 is the paragraph separator
      end
    end
    

    ПП не знам дали това е очакваното поведение при празен низ, но да връща празен списък ми се струва най-логичното.

Трябва да сте влезли в системата, за да може да отговаряте на теми.