summaryrefslogtreecommitdiff
path: root/public/vendor/codemirror/mode/verilog/test.js
diff options
context:
space:
mode:
authorWu Cheng-Han2015-05-04 15:53:29 +0800
committerWu Cheng-Han2015-05-04 15:53:29 +0800
commit4b0ca55eb79e963523eb6c8197825e9e8ae904e2 (patch)
tree574f3923af77b37b41dbf1b00bcd7827ef724a28 /public/vendor/codemirror/mode/verilog/test.js
parent61eb11d23c65c9e5c493c67d055f785cbec139e2 (diff)
First commit, version 0.2.7
Diffstat (limited to 'public/vendor/codemirror/mode/verilog/test.js')
-rwxr-xr-xpublic/vendor/codemirror/mode/verilog/test.js273
1 files changed, 273 insertions, 0 deletions
diff --git a/public/vendor/codemirror/mode/verilog/test.js b/public/vendor/codemirror/mode/verilog/test.js
new file mode 100755
index 00000000..9c8c0949
--- /dev/null
+++ b/public/vendor/codemirror/mode/verilog/test.js
@@ -0,0 +1,273 @@
+// CodeMirror, copyright (c) by Marijn Haverbeke and others
+// Distributed under an MIT license: http://codemirror.net/LICENSE
+
+(function() {
+ var mode = CodeMirror.getMode({indentUnit: 4}, "verilog");
+ function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
+
+ MT("binary_literals",
+ "[number 1'b0]",
+ "[number 1'b1]",
+ "[number 1'bx]",
+ "[number 1'bz]",
+ "[number 1'bX]",
+ "[number 1'bZ]",
+ "[number 1'B0]",
+ "[number 1'B1]",
+ "[number 1'Bx]",
+ "[number 1'Bz]",
+ "[number 1'BX]",
+ "[number 1'BZ]",
+ "[number 1'b0]",
+ "[number 1'b1]",
+ "[number 2'b01]",
+ "[number 2'bxz]",
+ "[number 2'b11]",
+ "[number 2'b10]",
+ "[number 2'b1Z]",
+ "[number 12'b0101_0101_0101]",
+ "[number 1'b 0]",
+ "[number 'b0101]"
+ );
+
+ MT("octal_literals",
+ "[number 3'o7]",
+ "[number 3'O7]",
+ "[number 3'so7]",
+ "[number 3'SO7]"
+ );
+
+ MT("decimal_literals",
+ "[number 0]",
+ "[number 1]",
+ "[number 7]",
+ "[number 123_456]",
+ "[number 'd33]",
+ "[number 8'd255]",
+ "[number 8'D255]",
+ "[number 8'sd255]",
+ "[number 8'SD255]",
+ "[number 32'd123]",
+ "[number 32 'd123]",
+ "[number 32 'd 123]"
+ );
+
+ MT("hex_literals",
+ "[number 4'h0]",
+ "[number 4'ha]",
+ "[number 4'hF]",
+ "[number 4'hx]",
+ "[number 4'hz]",
+ "[number 4'hX]",
+ "[number 4'hZ]",
+ "[number 32'hdc78]",
+ "[number 32'hDC78]",
+ "[number 32 'hDC78]",
+ "[number 32'h DC78]",
+ "[number 32 'h DC78]",
+ "[number 32'h44x7]",
+ "[number 32'hFFF?]"
+ );
+
+ MT("real_number_literals",
+ "[number 1.2]",
+ "[number 0.1]",
+ "[number 2394.26331]",
+ "[number 1.2E12]",
+ "[number 1.2e12]",
+ "[number 1.30e-2]",
+ "[number 0.1e-0]",
+ "[number 23E10]",
+ "[number 29E-2]",
+ "[number 236.123_763_e-12]"
+ );
+
+ MT("operators",
+ "[meta ^]"
+ );
+
+ MT("keywords",
+ "[keyword logic]",
+ "[keyword logic] [variable foo]",
+ "[keyword reg] [variable abc]"
+ );
+
+ MT("variables",
+ "[variable _leading_underscore]",
+ "[variable _if]",
+ "[number 12] [variable foo]",
+ "[variable foo] [number 14]"
+ );
+
+ MT("tick_defines",
+ "[def `FOO]",
+ "[def `foo]",
+ "[def `FOO_bar]"
+ );
+
+ MT("system_calls",
+ "[meta $display]",
+ "[meta $vpi_printf]"
+ );
+
+ MT("line_comment", "[comment // Hello world]");
+
+ // Alignment tests
+ MT("align_port_map_style1",
+ /**
+ * mod mod(.a(a),
+ * .b(b)
+ * );
+ */
+ "[variable mod] [variable mod][bracket (].[variable a][bracket (][variable a][bracket )],",
+ " .[variable b][bracket (][variable b][bracket )]",
+ " [bracket )];",
+ ""
+ );
+
+ MT("align_port_map_style2",
+ /**
+ * mod mod(
+ * .a(a),
+ * .b(b)
+ * );
+ */
+ "[variable mod] [variable mod][bracket (]",
+ " .[variable a][bracket (][variable a][bracket )],",
+ " .[variable b][bracket (][variable b][bracket )]",
+ "[bracket )];",
+ ""
+ );
+
+ // Indentation tests
+ MT("indent_single_statement_if",
+ "[keyword if] [bracket (][variable foo][bracket )]",
+ " [keyword break];",
+ ""
+ );
+
+ MT("no_indent_after_single_line_if",
+ "[keyword if] [bracket (][variable foo][bracket )] [keyword break];",
+ ""
+ );
+
+ MT("indent_after_if_begin_same_line",
+ "[keyword if] [bracket (][variable foo][bracket )] [keyword begin]",
+ " [keyword break];",
+ " [keyword break];",
+ "[keyword end]",
+ ""
+ );
+
+ MT("indent_after_if_begin_next_line",
+ "[keyword if] [bracket (][variable foo][bracket )]",
+ " [keyword begin]",
+ " [keyword break];",
+ " [keyword break];",
+ " [keyword end]",
+ ""
+ );
+
+ MT("indent_single_statement_if_else",
+ "[keyword if] [bracket (][variable foo][bracket )]",
+ " [keyword break];",
+ "[keyword else]",
+ " [keyword break];",
+ ""
+ );
+
+ MT("indent_if_else_begin_same_line",
+ "[keyword if] [bracket (][variable foo][bracket )] [keyword begin]",
+ " [keyword break];",
+ " [keyword break];",
+ "[keyword end] [keyword else] [keyword begin]",
+ " [keyword break];",
+ " [keyword break];",
+ "[keyword end]",
+ ""
+ );
+
+ MT("indent_if_else_begin_next_line",
+ "[keyword if] [bracket (][variable foo][bracket )]",
+ " [keyword begin]",
+ " [keyword break];",
+ " [keyword break];",
+ " [keyword end]",
+ "[keyword else]",
+ " [keyword begin]",
+ " [keyword break];",
+ " [keyword break];",
+ " [keyword end]",
+ ""
+ );
+
+ MT("indent_if_nested_without_begin",
+ "[keyword if] [bracket (][variable foo][bracket )]",
+ " [keyword if] [bracket (][variable foo][bracket )]",
+ " [keyword if] [bracket (][variable foo][bracket )]",
+ " [keyword break];",
+ ""
+ );
+
+ MT("indent_case",
+ "[keyword case] [bracket (][variable state][bracket )]",
+ " [variable FOO]:",
+ " [keyword break];",
+ " [variable BAR]:",
+ " [keyword break];",
+ "[keyword endcase]",
+ ""
+ );
+
+ MT("unindent_after_end_with_preceding_text",
+ "[keyword begin]",
+ " [keyword break]; [keyword end]",
+ ""
+ );
+
+ MT("export_function_one_line_does_not_indent",
+ "[keyword export] [string \"DPI-C\"] [keyword function] [variable helloFromSV];",
+ ""
+ );
+
+ MT("export_task_one_line_does_not_indent",
+ "[keyword export] [string \"DPI-C\"] [keyword task] [variable helloFromSV];",
+ ""
+ );
+
+ MT("export_function_two_lines_indents_properly",
+ "[keyword export]",
+ " [string \"DPI-C\"] [keyword function] [variable helloFromSV];",
+ ""
+ );
+
+ MT("export_task_two_lines_indents_properly",
+ "[keyword export]",
+ " [string \"DPI-C\"] [keyword task] [variable helloFromSV];",
+ ""
+ );
+
+ MT("import_function_one_line_does_not_indent",
+ "[keyword import] [string \"DPI-C\"] [keyword function] [variable helloFromC];",
+ ""
+ );
+
+ MT("import_task_one_line_does_not_indent",
+ "[keyword import] [string \"DPI-C\"] [keyword task] [variable helloFromC];",
+ ""
+ );
+
+ MT("import_package_single_line_does_not_indent",
+ "[keyword import] [variable p]::[variable x];",
+ "[keyword import] [variable p]::[variable y];",
+ ""
+ );
+
+ MT("covergoup_with_function_indents_properly",
+ "[keyword covergroup] [variable cg] [keyword with] [keyword function] [variable sample][bracket (][keyword bit] [variable b][bracket )];",
+ " [variable c] : [keyword coverpoint] [variable c];",
+ "[keyword endgroup]: [variable cg]",
+ ""
+ );
+
+})();