fluentnode
Version:
Fluent apis for node (based on the concepts used in C#'s FluentSharp
565 lines (416 loc) • 32.1 kB
HTML
<html>
<head>
<title>String.test.coffee</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
<link rel="stylesheet" media="all" href="docco.css" />
</head>
<body>
<div id="container">
<div id="background"></div>
<ul id="jump_to">
<li>
<a class="large" href="javascript:void(0);">Jump To …</a>
<a class="small" href="javascript:void(0);">+</a>
<div id="jump_wrapper">
<div id="jump_page">
<a class="source" href="assert_Array.html">
assert_Array.litcoffee
</a>
<a class="source" href="assert_Boolean.html">
assert_Boolean.litcoffee
</a>
<a class="source" href="assert_Function.html">
assert_Function.litcoffee
</a>
<a class="source" href="assert_Number.html">
assert_Number.litcoffee
</a>
<a class="source" href="assert_Object.html">
assert_Object.litcoffee
</a>
<a class="source" href="assert_String.html">
assert_String.litcoffee
</a>
<a class="source" href="fluentnode.html">
fluentnode.coffee
</a>
<a class="source" href="index.html">
index.md
</a>
<a class="source" href="Array.html">
Array.litcoffee
</a>
<a class="source" href="Boolean.html">
Boolean.litcoffee
</a>
<a class="source" href="Function.html">
Function.litcoffee
</a>
<a class="source" href="Number.html">
Number.litcoffee
</a>
<a class="source" href="Object.html">
Object.litcoffee
</a>
<a class="source" href="String.html">
String.litcoffee
</a>
<a class="source" href="console.html">
console.litcoffee
</a>
<a class="source" href="crypto.html">
crypto.litcoffee
</a>
<a class="source" href="fs.html">
fs.litcoffee
</a>
<a class="source" href="http.GET.html">
http.GET.litcoffee
</a>
<a class="source" href="http.POST.html">
http.POST.litcoffee
</a>
<a class="source" href="http.Server.html">
http.Server.litcoffee
</a>
<a class="source" href="http.html">
http.litcoffee
</a>
<a class="source" href="path.html">
path.litcoffee
</a>
<a class="source" href="process.html">
process.litcoffee
</a>
<a class="source" href="encoding.html">
encoding.litcoffee
</a>
<a class="source" href="globals.html">
globals.litcoffee
</a>
<a class="source" href="assert_Array.test.html">
assert_Array.test.coffee
</a>
<a class="source" href="assert_Boolean.test.html">
assert_Boolean.test.coffee
</a>
<a class="source" href="assert_Function.test.html">
assert_Function.test.coffee
</a>
<a class="source" href="assert_Number.test.html">
assert_Number.test.coffee
</a>
<a class="source" href="assert_Object.test.html">
assert_Object.test.coffee
</a>
<a class="source" href="assert_String.test.html">
assert_String.test.coffee
</a>
<a class="source" href="fluentnode.test.html">
fluentnode.test.coffee
</a>
<a class="source" href="Array.test.html">
Array.test.coffee
</a>
<a class="source" href="Boolean.test.html">
Boolean.test.coffee
</a>
<a class="source" href="Function.test.html">
Function.test.coffee
</a>
<a class="source" href="Number.test.html">
Number.test.coffee
</a>
<a class="source" href="Object.test.html">
Object.test.coffee
</a>
<a class="source" href="String.test.html">
String.test.coffee
</a>
<a class="source" href="console.test.html">
console.test.coffee
</a>
<a class="source" href="crypto.test.html">
crypto.test.coffee
</a>
<a class="source" href="fs.test.html">
fs.test.coffee
</a>
<a class="source" href="http.GET.test.html">
http.GET.test.coffee
</a>
<a class="source" href="http.POST.test.html">
http.POST.test.coffee
</a>
<a class="source" href="http.Server.test.html">
http.Server.test.coffee
</a>
<a class="source" href="http.test.html">
http.test.coffee
</a>
<a class="source" href="path.test.html">
path.test.coffee
</a>
<a class="source" href="process.test.html">
process.test.coffee
</a>
<a class="source" href="encoding.test.html">
encoding.test.coffee
</a>
<a class="source" href="globals.test.html">
globals.test.coffee
</a>
</div>
</li>
</ul>
<ul class="sections">
<li id="title">
<div class="annotation">
<h1>String.test.coffee</h1>
</div>
</li>
<li id="section-1">
<div class="annotation">
<div class="pilwrap ">
<a class="pilcrow" href="#section-1">¶</a>
</div>
</div>
<div class="content"><div class='highlight'><pre><span class="hljs-built_in">require</span>(<span class="hljs-string">'../../src/fluentnode'</span>)
expect = <span class="hljs-built_in">require</span>(<span class="hljs-string">'chai'</span>).expect
describe <span class="hljs-string">'| js-native | String'</span>,<span class="hljs-function">-></span>
value = <span class="hljs-string">"abc123"</span>
it <span class="hljs-string">'append'</span>, <span class="hljs-function">-></span>
using value,<span class="hljs-function">-></span>
@.append( ).assert_Is(value)
@.append(<span class="hljs-string">''</span> ).assert_Is(value)
@.append(<span class="hljs-literal">null</span> ).assert_Is(value)
@.append(<span class="hljs-string">'a'</span> ).assert_Is(value + <span class="hljs-string">'a'</span>)
@.append(<span class="hljs-string">'abc'</span> ).assert_Is(value + <span class="hljs-string">'abc'</span>)
@.append(<span class="hljs-string">'abc123'</span>).assert_Is(value + <span class="hljs-string">'abc123'</span>)
@.append.assert_Is @.add
it <span class="hljs-string">'after'</span>,<span class="hljs-function">-></span>
value.after.assert_Is_Function()
value.after(<span class="hljs-string">'3'</span> ).assert_Is(<span class="hljs-string">''</span> )
value.after(<span class="hljs-string">'2'</span> ).assert_Is(<span class="hljs-string">'3'</span> )
value.after(<span class="hljs-string">'123'</span>).assert_Is(<span class="hljs-string">''</span> )
value.after(<span class="hljs-string">'b'</span> ).assert_Is(<span class="hljs-string">'c123'</span> )
value.after(<span class="hljs-string">'bc1'</span>).assert_Is(<span class="hljs-string">'23'</span> )
value.after(<span class="hljs-string">'xxx'</span>).assert_Is(<span class="hljs-string">''</span> )
value.after(<span class="hljs-literal">null</span> ).assert_Is(<span class="hljs-string">''</span> )
value.after(<span class="hljs-string">''</span> ).assert_Is(<span class="hljs-string">'abc123'</span>)
<span class="hljs-string">'abb'</span>.after(<span class="hljs-string">'b'</span> ).assert_Is(<span class="hljs-string">'b'</span> )
<span class="hljs-string">'a.b'</span>.after(<span class="hljs-string">'.'</span> ).assert_Is(<span class="hljs-string">'b'</span> )
<span class="hljs-string">'a.b.c'</span>.after(<span class="hljs-string">'.'</span>).assert_Is(<span class="hljs-string">'b.c'</span> )
it <span class="hljs-string">'after_Last'</span>,<span class="hljs-function">-></span>
value.after_Last.assert_Is_Function()
value.after_Last(<span class="hljs-string">'3'</span> ).assert_Is(<span class="hljs-string">''</span> )
value.after_Last(<span class="hljs-string">'2'</span> ).assert_Is(<span class="hljs-string">'3'</span> )
value.after_Last(<span class="hljs-string">'123'</span>).assert_Is(<span class="hljs-string">''</span> )
value.after_Last(<span class="hljs-string">'b'</span> ).assert_Is(<span class="hljs-string">'c123'</span> )
value.after_Last(<span class="hljs-string">'bc1'</span>).assert_Is(<span class="hljs-string">'23'</span> )
value.after_Last(<span class="hljs-string">'xxx'</span>).assert_Is(<span class="hljs-string">''</span> )
value.after_Last(<span class="hljs-literal">null</span> ).assert_Is(<span class="hljs-string">''</span> )
value.after_Last(<span class="hljs-string">''</span> ).assert_Is(<span class="hljs-string">''</span> )
<span class="hljs-string">'abb'</span>.after_Last(<span class="hljs-string">'b'</span> ).assert_Is(<span class="hljs-string">''</span> )
<span class="hljs-string">'a.b'</span>.after_Last(<span class="hljs-string">'.'</span> ).assert_Is(<span class="hljs-string">'b'</span> )
<span class="hljs-string">'a.b.c'</span>.after_Last(<span class="hljs-string">'.'</span>).assert_Is(<span class="hljs-string">'c'</span> )
it <span class="hljs-string">'before'</span>,<span class="hljs-function">-></span>
value.before.assert_Is_Function()
value.before(<span class="hljs-string">'3'</span> ).assert_Is(<span class="hljs-string">'abc12'</span>)
value.before(<span class="hljs-string">'2'</span> ).assert_Is(<span class="hljs-string">'abc1'</span> )
value.before(<span class="hljs-string">'123'</span>).assert_Is(<span class="hljs-string">'abc'</span> )
value.before(<span class="hljs-string">'b'</span> ).assert_Is(<span class="hljs-string">'a'</span> )
value.before(<span class="hljs-string">'bc1'</span>).assert_Is(<span class="hljs-string">'a'</span> )
value.before(<span class="hljs-string">'xxx'</span>).assert_Is(<span class="hljs-string">''</span> )
value.before(<span class="hljs-string">''</span> ).assert_Is(<span class="hljs-string">''</span> )
value.before(<span class="hljs-literal">null</span> ).assert_Is(<span class="hljs-string">''</span> )
<span class="hljs-string">'abb'</span>.before(<span class="hljs-string">'b'</span> ).assert_Is(<span class="hljs-string">'a'</span> )
<span class="hljs-string">'a.b'</span>.before(<span class="hljs-string">'.'</span> ).assert_Is(<span class="hljs-string">'a'</span> )
<span class="hljs-string">'a.b.c'</span>.before(<span class="hljs-string">'.'</span>).assert_Is(<span class="hljs-string">'a'</span> )
it <span class="hljs-string">'before_Last'</span>,<span class="hljs-function">-></span>
value.before_Last.assert_Is_Function()
value.before_Last(<span class="hljs-string">'3'</span> ).assert_Is(<span class="hljs-string">'abc12'</span> )
value.before_Last(<span class="hljs-string">'2'</span> ).assert_Is(<span class="hljs-string">'abc1'</span> )
value.before_Last(<span class="hljs-string">'123'</span>).assert_Is(<span class="hljs-string">'abc'</span> )
value.before_Last(<span class="hljs-string">'b'</span> ).assert_Is(<span class="hljs-string">'a'</span> )
value.before_Last(<span class="hljs-string">'bc1'</span>).assert_Is(<span class="hljs-string">'a'</span> )
value.before_Last(<span class="hljs-string">'xxx'</span>).assert_Is(<span class="hljs-string">''</span> )
value.before_Last(<span class="hljs-literal">null</span> ).assert_Is(<span class="hljs-string">''</span> )
value.before_Last(<span class="hljs-string">''</span> ).assert_Is(<span class="hljs-string">'abc123'</span>)
<span class="hljs-string">'abb'</span>.before_Last(<span class="hljs-string">'b'</span> ).assert_Is(<span class="hljs-string">'ab'</span> )
<span class="hljs-string">'a.b'</span>.before_Last(<span class="hljs-string">'.'</span> ).assert_Is(<span class="hljs-string">'a'</span> )
<span class="hljs-string">'a.b.c'</span>.before_Last(<span class="hljs-string">'.'</span>).assert_Is(<span class="hljs-string">'a.b'</span> )
it <span class="hljs-string">'contains'</span>,<span class="hljs-function">-></span>
value.contains.assert_Is_Function()
value.contains(<span class="hljs-string">'3'</span> ).assert_Is_True()
value.contains(<span class="hljs-string">'2'</span> ).assert_Is_True()
value.contains(<span class="hljs-string">'123'</span> ).assert_Is_True()
value.contains(value ).assert_Is_True()
value.contains(value + <span class="hljs-string">'1'</span> ).assert_Is_False()
value.contains(<span class="hljs-string">'1'</span> + value ).assert_Is_False()
value.contains([<span class="hljs-string">'1'</span>] ).assert_Is_True()
value.contains([<span class="hljs-string">'1'</span>,<span class="hljs-string">'2'</span>] ).assert_Is_True()
value.contains([<span class="hljs-string">'1'</span>,<span class="hljs-string">'abc1'</span>]).assert_Is_True()
value.contains([<span class="hljs-string">'d'</span>,<span class="hljs-string">'abc1'</span>]).assert_Is_False()
value.contains(<span class="hljs-regexp">/a.c/</span> ).assert_Is_True()
value.contains(<span class="hljs-regexp">/1.3/</span> ).assert_Is_True()
value.contains(<span class="hljs-regexp">/a.*3/</span>).assert_Is_True()
value.contains(<span class="hljs-regexp">/ab.1/</span>).assert_Is_True()
value.contains(<span class="hljs-regexp">/ac.2/</span>).assert_Is_False()
it <span class="hljs-string">'ends_With'</span>,<span class="hljs-function">-></span>
using value, <span class="hljs-function">-></span>
@.ends_With.assert_Is_Function()
@.ends_With(<span class="hljs-string">'3'</span> ).assert_Is_True()
@.ends_With(<span class="hljs-string">'2'</span> ).assert_Is_False()
@.ends_With(<span class="hljs-string">'123'</span> ).assert_Is_True()
@.ends_With(value ).assert_Is_True()
@.ends_With(value + <span class="hljs-string">'1'</span> ).assert_Is_False()
@.ends_With(<span class="hljs-string">'1'</span> + value ).assert_Is_False()
@.ends_With(<span class="hljs-string">''</span> ).assert_Is_False()
@.ends_With(<span class="hljs-literal">null</span> ).assert_Is_False()
@.ends_With(<span class="hljs-literal">undefined</span> ).assert_Is_False()
@.assert_Is(value)
it <span class="hljs-string">'is'</span>, <span class="hljs-function">-></span>
<span class="hljs-string">'a'</span>.<span class="hljs-keyword">is</span>(<span class="hljs-string">'a'</span>).assert_True()
<span class="hljs-string">'a'</span>.<span class="hljs-keyword">is</span>(<span class="hljs-string">'b'</span>).assert_False()
<span class="hljs-string">'b'</span>.<span class="hljs-keyword">is</span>(<span class="hljs-string">'a'</span>).assert_False()
<span class="hljs-string">''</span> .<span class="hljs-keyword">is</span>(<span class="hljs-string">''</span> ).assert_True()
<span class="hljs-string">''</span> .<span class="hljs-keyword">is</span>(<span class="hljs-string">'a'</span>).assert_False()
it <span class="hljs-string">'isnt, is_Not'</span>, <span class="hljs-function">-></span>
<span class="hljs-string">'a'</span>.is_Not(<span class="hljs-string">'a'</span>).assert_False()
<span class="hljs-string">'a'</span>.is_Not(<span class="hljs-string">'b'</span>).assert_True()
<span class="hljs-string">'b'</span>.is_Not(<span class="hljs-string">'a'</span>).assert_True()
<span class="hljs-string">''</span> .is_Not(<span class="hljs-string">''</span> ).assert_False()
<span class="hljs-string">''</span> .is_Not(<span class="hljs-string">'a'</span>).assert_True()
<span class="hljs-string">''</span> .is_Not.assert_Is <span class="hljs-string">''</span>.<span class="hljs-keyword">isnt</span>
it <span class="hljs-string">'lines'</span>, <span class="hljs-function">-></span>
<span class="hljs-string">"abcdefgf"</span>.lines().assert_Is [<span class="hljs-string">'abcdefgf'</span>]
<span class="hljs-string">"a\nd\ngf"</span>.lines().assert_Is [<span class="hljs-string">'a'</span>,<span class="hljs-string">'d'</span>,<span class="hljs-string">'gf'</span>]
<span class="hljs-string">"a\r\n_gf"</span>.lines().assert_Is [<span class="hljs-string">'a'</span>,<span class="hljs-string">'_gf'</span>]
<span class="hljs-string">"a\n\r_gf"</span>.lines().assert_Is [<span class="hljs-string">'a'</span>,<span class="hljs-string">''</span>,<span class="hljs-string">'_gf'</span>]
<span class="hljs-string">"a\u2028f"</span>.lines().assert_Is [<span class="hljs-string">'a'</span>,<span class="hljs-string">'f'</span>]
<span class="hljs-string">"a\u2029f"</span>.lines().assert_Is [<span class="hljs-string">'a'</span>,<span class="hljs-string">'f'</span>]
<span class="hljs-string">""</span> .lines().assert_Is [<span class="hljs-string">''</span>]
<span class="hljs-string">"\r\n\n\r\u2028\u2029"</span>.lines().assert_Is [<span class="hljs-string">''</span>,<span class="hljs-string">''</span>,<span class="hljs-string">''</span>,<span class="hljs-string">''</span>,<span class="hljs-string">''</span>,<span class="hljs-string">''</span>]
<span class="hljs-string">"1\r\n2\n3\r4\u20285\u20296"</span>.lines().assert_Is [<span class="hljs-string">'1'</span>,<span class="hljs-string">'2'</span>,<span class="hljs-string">'3'</span>,<span class="hljs-string">'4'</span>,<span class="hljs-string">'5'</span>,<span class="hljs-string">'6'</span>]
<span class="hljs-string">''</span>.lines.assert_Is <span class="hljs-string">''</span>.split_Lines
it <span class="hljs-string">'lower'</span>, <span class="hljs-function">-></span>
expect(value.lower).to.be.an(<span class="hljs-string">'Function'</span>)
expect(value.lower() ).to.equal(value.toLowerCase())
expect(value.lower().upper()).to.equal(value.toUpperCase())
it <span class="hljs-string">'not_Contains'</span>,<span class="hljs-function">-></span>
value.not_Contains.assert_Is_Function()
value.not_Contains(<span class="hljs-string">'3'</span> ).assert_Is_False()
value.not_Contains(<span class="hljs-string">'2'</span> ).assert_Is_False()
value.not_Contains(<span class="hljs-string">'123'</span> ).assert_Is_False()
value.not_Contains(value ).assert_Is_False()
value.not_Contains(value + <span class="hljs-string">'1'</span> ).assert_Is_True()
value.not_Contains(<span class="hljs-string">'1'</span> + value ).assert_Is_True()
it <span class="hljs-string">'only_Letters'</span>, <span class="hljs-function">-></span>
<span class="hljs-string">'aaa'</span>.only_Letters().assert_Is <span class="hljs-string">'aaa'</span>
<span class="hljs-string">'aAa'</span>.only_Letters().assert_Is <span class="hljs-string">'aAa'</span>
<span class="hljs-string">'aaa'</span>.only_Letters().assert_Is_Not <span class="hljs-string">'bbb'</span>
<span class="hljs-string">'a 1'</span>.only_Letters().assert_Is <span class="hljs-string">'a--'</span>
<span class="hljs-string">'A!"'</span>.only_Letters().assert_Is <span class="hljs-string">'A--'</span>
<span class="hljs-string">'/<>'</span>.only_Letters().assert_Is <span class="hljs-string">'---'</span>
<span class="hljs-string">'abcd-ABCD_1234.<h1>*!@{}[]'</span>.only_Letters().assert_Is <span class="hljs-string">'abcd-ABCD-------h---------'</span>
<span class="hljs-string">'!@£$%^&*(){}:"|<>?[];\'\,/'</span>.only_Letters().assert_Is <span class="hljs-string">'-'</span>.repeat(<span class="hljs-number">24</span>)
it <span class="hljs-string">'only_Numbers'</span>, <span class="hljs-function">-></span>
<span class="hljs-string">'1aa'</span>.only_Numbers().assert_Is <span class="hljs-string">'1--'</span>
<span class="hljs-string">'2Aa'</span>.only_Numbers().assert_Is <span class="hljs-string">'2--'</span>
<span class="hljs-string">'123'</span>.only_Numbers().assert_Is <span class="hljs-string">'123'</span>
<span class="hljs-string">'aaa'</span>.only_Numbers().assert_Is_Not <span class="hljs-string">'bbb'</span>
<span class="hljs-string">'1 '</span>.only_Numbers().assert_Is <span class="hljs-string">'1--'</span>
<span class="hljs-string">'A1"'</span>.only_Numbers().assert_Is <span class="hljs-string">'-1-'</span>
<span class="hljs-string">'/<>'</span>.only_Numbers().assert_Is <span class="hljs-string">'---'</span>
<span class="hljs-string">'abcd-ABCD_1234.<h1>*!@{}[]'</span>.only_Numbers().assert_Is <span class="hljs-string">'----------1234---1--------'</span>
<span class="hljs-string">'!@£$%^&*(){}:"|<>?[];\'\,/'</span>.only_Numbers().assert_Is <span class="hljs-string">'-'</span>.repeat(<span class="hljs-number">24</span>)
it <span class="hljs-string">'remove'</span>, <span class="hljs-function">-></span>
using value,<span class="hljs-function">-></span>
@.remove(<span class="hljs-string">'a'</span> ).assert_Is <span class="hljs-string">'bc123'</span>
@.remove(<span class="hljs-string">'b'</span> ).assert_Is <span class="hljs-string">'ac123'</span>
@.remove(<span class="hljs-string">'abc'</span>).assert_Is <span class="hljs-string">'123'</span>
@.remove(<span class="hljs-string">'123'</span>).assert_Is <span class="hljs-string">'abc'</span>
(@+@).remove(<span class="hljs-string">'a'</span> ).assert_Is <span class="hljs-string">'bc123'</span>.twice()
(@+@).remove(<span class="hljs-string">'bc12'</span>).assert_Is <span class="hljs-string">'a3'</span> .twice()
it <span class="hljs-string">'repeat'</span>, <span class="hljs-function">-></span>
<span class="hljs-string">'a'</span> .repeat(<span class="hljs-number">0</span>).assert_Is <span class="hljs-string">''</span>
<span class="hljs-string">'a'</span> .repeat(<span class="hljs-number">1</span>).assert_Is <span class="hljs-string">'a'</span>
<span class="hljs-string">'a'</span> .repeat(<span class="hljs-number">2</span>).assert_Is <span class="hljs-string">'aa'</span>
<span class="hljs-string">'a'</span> .repeat(<span class="hljs-number">5</span>).assert_Is <span class="hljs-string">'aaaaa'</span>
<span class="hljs-string">'ab'</span>.repeat(<span class="hljs-number">5</span>).assert_Is <span class="hljs-string">'ababababab'</span>
<span class="hljs-string">''</span> .repeat(<span class="hljs-number">5</span> ).assert_Is <span class="hljs-string">''</span>
<span class="hljs-string">'a'</span> .repeat(<span class="hljs-string">'a'</span> ).assert_Is <span class="hljs-string">''</span>
<span class="hljs-string">'a'</span> .repeat(<span class="hljs-literal">null</span>).assert_Is <span class="hljs-string">''</span>
it <span class="hljs-string">'size'</span>, <span class="hljs-function">-></span>
expect(value.size).to.be.an(<span class="hljs-string">'Function'</span>)
expect(<span class="hljs-string">''</span>.size() ).to.equal(<span class="hljs-number">0</span>)
expect(value.size() ).to.equal(<span class="hljs-number">6</span>)
expect(value.append(<span class="hljs-string">'abc'</span>).size()).to.equal(<span class="hljs-number">9</span>)
it <span class="hljs-string">'starts_With'</span>,<span class="hljs-function">-></span>
using value,<span class="hljs-function">-></span>
@.starts_With.assert_Is_Function()
@.starts_With(<span class="hljs-string">'a'</span> ).assert_Is_True()
@.starts_With(<span class="hljs-string">'b'</span> ).assert_Is_False()
@.starts_With(<span class="hljs-string">'abc'</span> ).assert_Is_True()
@.starts_With(value ).assert_Is_True()
@.starts_With(@ + <span class="hljs-string">'a'</span> ).assert_Is_False()
@.starts_With( <span class="hljs-string">'a'</span> + @).assert_Is_False()
@.starts_With(<span class="hljs-string">''</span> ).assert_Is_False()
@.assert_Is(@)
it <span class="hljs-string">'to_Safe_String'</span>, <span class="hljs-function">-></span>
<span class="hljs-string">'aaa'</span>.to_Safe_String().assert_Is <span class="hljs-string">'aaa'</span>
<span class="hljs-string">'aaa'</span>.to_Safe_String().assert_Is_Not <span class="hljs-string">'bbb'</span>
<span class="hljs-string">'a '</span>.to_Safe_String().assert_Is <span class="hljs-string">'a--'</span>
<span class="hljs-string">'a!"'</span>.to_Safe_String().assert_Is <span class="hljs-string">'a--'</span>
<span class="hljs-string">'/<>'</span>.to_Safe_String().assert_Is <span class="hljs-string">'---'</span>
<span class="hljs-string">'abcd-ABCD_1234.<h1>*!@{}[]'</span>.to_Safe_String().assert_Is <span class="hljs-string">'abcd-abcd_1234.-h1--------'</span>
<span class="hljs-string">'!@£$%^&*(){}:"|<>?[];\'\,/'</span>.to_Safe_String().assert_Is <span class="hljs-string">'-'</span>.repeat(<span class="hljs-number">24</span>)
it <span class="hljs-string">'trim'</span>, <span class="hljs-function">-></span>
value.trim.assert_Is_Function()
value.trim().assert_Is (value)
<span class="hljs-string">'a 1'</span>.trim().assert_Is (<span class="hljs-string">'a 1'</span>)
<span class="hljs-string">'a1 '</span>.trim().assert_Is (<span class="hljs-string">'a1'</span> )
<span class="hljs-string">' 1 '</span>.trim().assert_Is (<span class="hljs-string">'1'</span> )
<span class="hljs-string">' '</span>.trim().assert_Is (<span class="hljs-string">''</span> )
<span class="hljs-string">'a1 '</span>.trim().assert_Is_Not(<span class="hljs-string">'a 1'</span>)
<span class="hljs-string">' 1 '</span>.trim().assert_Is_Not(<span class="hljs-string">'a 1'</span>)
<span class="hljs-string">' '</span>.trim().assert_Is_Not(<span class="hljs-string">'a 1'</span>)
it <span class="hljs-string">'twice'</span>, <span class="hljs-function">-></span>
using value,<span class="hljs-function">-></span>
@ .twice().assert_Is @ + @
<span class="hljs-string">'a'</span>.twice().assert_Is <span class="hljs-string">'aa'</span>
<span class="hljs-string">''</span> .twice().assert_Is <span class="hljs-string">''</span>
it <span class="hljs-string">'json_Parse'</span>,<span class="hljs-function">-></span>
<span class="hljs-string">'{ "a" : 42 }'</span>.json_Parse().assert_Is { a : <span class="hljs-string">'42'</span> }
<span class="hljs-string">"{}"</span> .json_Parse().assert_Is {}
<span class="hljs-string">''</span> .json_Parse().assert_Is {}
<span class="hljs-string">'aaaa'</span> .json_Parse().assert_Is {}
<span class="hljs-string">'{a:12}'</span> .json_Parse().assert_Is {}
it <span class="hljs-string">'json_Valid'</span>,<span class="hljs-function">-></span>
<span class="hljs-string">'{ "a" : 42 }'</span>.json_Valid().assert_True
<span class="hljs-string">"{}"</span> .json_Valid().assert_True
<span class="hljs-string">''</span> .json_Valid().assert_False
<span class="hljs-string">'aaaa'</span> .json_Valid().assert_False
<span class="hljs-string">'{a:12}'</span> .json_Valid().assert_False
it <span class="hljs-string">'is_Local_Url'</span>,<span class="hljs-function">-></span>
<span class="hljs-string">''</span> .is_Local_Url().assert_Is_False()
<span class="hljs-string">'//a/..'</span> .is_Local_Url().assert_Is_False() <span class="hljs-comment">#//a/..</span>
<span class="hljs-string">'//a'</span> .is_Local_Url().assert_Is_False() <span class="hljs-comment">#//a</span>
<span class="hljs-string">'/\\abc'</span> .is_Local_Url().assert_Is_False() <span class="hljs-comment">#/\abc</span>
<span class="hljs-string">'https://foo/bar'</span> .is_Local_Url().assert_Is_False()
<span class="hljs-string">'http://foo/bar'</span> .is_Local_Url().assert_Is_False()
<span class="hljs-string">'foo/bar'</span> .is_Local_Url().assert_Is_False()
<span class="hljs-string">'file:///c:/path/to/the%20f.txt'</span>.is_Local_Url().assert_Is_False()
<span class="hljs-string">'////host/share/dir/file.txt'</span> .is_Local_Url().assert_Is_False()
<span class="hljs-string">'null'</span> .is_Local_Url().assert_Is_False()
<span class="hljs-string">'%2fAccount%2fChangePassword%2f'</span>.is_Local_Url().assert_Is_True()
<span class="hljs-string">'~/foo/bar'</span> .is_Local_Url().assert_Is_True()
<span class="hljs-string">'/foo/bar'</span> .is_Local_Url().assert_Is_True()</pre></div></div>
</li>
</ul>
</div>
</body>
</html>