summaryrefslogtreecommitdiffhomepage
path: root/test/t/literals.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/t/literals.rb')
-rw-r--r--test/t/literals.rb67
1 files changed, 67 insertions, 0 deletions
diff --git a/test/t/literals.rb b/test/t/literals.rb
new file mode 100644
index 000000000..700c4c846
--- /dev/null
+++ b/test/t/literals.rb
@@ -0,0 +1,67 @@
+##
+# Literals ISO Test
+
+assert('Literals Numerical', '8.7.6.2') do
+ # signed and unsigned integer
+ 1 == 1 and -1 == -1 and +1 == +1 and
+ # signed and unsigned float
+ 1.0 == 1.0 and -1.0 == -1.0 and
+ # binary
+ 0b10000000 == 128 and 0B10000000 == 128
+ # octal
+ 0o10 == 8 and 0O10 == 8 and 0_10 == 8
+ # hex
+ 0xff == 255 and 0Xff == 255 and
+ # decimal
+ 0d999 == 999 and 0D999 == 999 and
+ # decimal seperator
+ 10_000_000 == 10000000 and 1_0 == 10 and
+ # integer with exponent
+ 1e1 == 10.0 and 1e-1 == 0.1 and 1e+1 == 10.0
+ # float with exponent
+ 1.0e1 == 10.0 and 1.0e-1 == 0.1 and 1.0e+1 == 10.0
+end
+
+assert('Literals Strings Single Quoted', '8.7.6.3.2') do
+ 'abc' == 'abc' and '\'' == '\'' and '\\' == '\\'
+end
+
+assert('Literals Strings Double Quoted', '8.7.6.3.3') do
+ a = "abc"
+
+ "abc" == "abc" and "\"" == "\"" and "\\" == "\\" and
+ "#{a}" == "abc"
+end
+
+assert('Literals Strings Quoted Non-Expanded', '8.7.6.3.4') do
+ a = %q{abc}
+ b = %q(abc)
+ c = %q[abc]
+ d = %q<abc>
+ e = %q/abc/
+ f = %q/ab\/c/
+
+ a == 'abc' and b == 'abc' and c == 'abc' and d == 'abc' and
+ e == 'abc' and f == 'ab/c'
+end
+
+assert('Literals Strings Quoted Expanded', '8.7.6.3.5') do
+ a = %Q{abc}
+ b = %Q(abc)
+ c = %Q[abc]
+ d = %Q<abc>
+ e = %Q/abc/
+ f = %Q/ab\/c/
+ g = %Q{#{a}}
+
+ a == 'abc' and b == 'abc' and c == 'abc' and d == 'abc' and
+ e == 'abc' and f == 'ab/c' and g == 'abc'
+end
+
+# Not Implemented ATM assert('Literals Strings Here documents', '8.7.6.3.6') do
+
+# Not Implemented ATM assert('Literals Array', '8.7.6.4') do
+
+# Not Implemented ATM assert('Literals Regular expression', '8.7.6.5') do
+
+# Not Implemented ATM assert('Literals Symbol', '8.7.6.6') do