File: string_spec.rb

package info (click to toggle)
ruby-nori 2.6.0-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid, trixie
  • size: 252 kB
  • sloc: ruby: 1,155; xml: 266; makefile: 2
file content (33 lines) | stat: -rw-r--r-- 909 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
require "spec_helper"

describe String do

  describe "#snakecase" do
    it "lowercases one word CamelCase" do
      expect("Merb".snakecase).to eq("merb")
    end

    it "makes one underscore snakecase two word CamelCase" do
      expect("MerbCore".snakecase).to eq("merb_core")
    end

    it "handles CamelCase with more than 2 words" do
      expect("SoYouWantContributeToMerbCore".snakecase).to eq("so_you_want_contribute_to_merb_core")
    end

    it "handles CamelCase with more than 2 capital letter in a row" do
      expect("CNN".snakecase).to eq("cnn")
      expect("CNNNews".snakecase).to eq("cnn_news")
      expect("HeadlineCNNNews".snakecase).to eq("headline_cnn_news")
    end

    it "does NOT change one word lowercase" do
      expect("merb".snakecase).to eq("merb")
    end

    it "leaves snake_case as is" do
      expect("merb_core".snakecase).to eq("merb_core")
    end
  end

end