Sha256: 519c0b2c14409b1693ebd37093aab770bf33975b94198bcc1a03c3730dbda45f
Contents?: true
Size: 1.28 KB
Versions: 2
Compression:
Stored size: 1.28 KB
Contents
# frozen_string_literal: true require "spec_helper" describe Wasabi::CoreExt::String do describe ".snakecase" do it "lowercases one word CamelCase" do expect(Wasabi::CoreExt::String.snakecase("Merb")).to eq("merb") end it "makes one underscore snakecase two word CamelCase" do expect(Wasabi::CoreExt::String.snakecase("MerbCore")).to eq("merb_core") end it "handles CamelCase with more than 2 words" do expect(Wasabi::CoreExt::String.snakecase("SoYouWantContributeToMerbCore")).to eq("so_you_want_contribute_to_merb_core") end it "handles CamelCase with more than 2 capital letter in a row" do expect(Wasabi::CoreExt::String.snakecase("CNN")).to eq("cnn") expect(Wasabi::CoreExt::String.snakecase("CNNNews")).to eq("cnn_news") expect(Wasabi::CoreExt::String.snakecase("HeadlineCNNNews")).to eq("headline_cnn_news") end it "does NOT change one word lowercase" do expect(Wasabi::CoreExt::String.snakecase("merb")).to eq("merb") end it "leaves snake_case as is" do expect(Wasabi::CoreExt::String.snakecase("merb_core")).to eq("merb_core") end it "converts period characters to underscores" do expect(Wasabi::CoreExt::String.snakecase("User.GetEmail")).to eq("user_get_email") end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
wasabi-3.6.1 | spec/wasabi/core_ext/string_spec.rb |
wasabi-3.6.0 | spec/wasabi/core_ext/string_spec.rb |