General.Web/wwwroot/lib/codemirror-5.31.0/test/comment_test.js

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

namespace = "comment_";

(function() {
  function test(name, mode, run, before, after) {
    return testCM(name, function(cm) {
      run(cm);
      eq(cm.getValue(), after);
    }, {value: before, mode: mode});
  }

  var simpleProg = "function foo() {\n  return bar;\n}";
  var inlineBlock = "foo(/* bar */ true);";
  var inlineBlocks = "foo(/* bar */ true, /* baz */ false);";
  var multiLineInlineBlock = ["above();", "foo(/* bar */ true);", "below();"];

  test("block", "javascript", function(cm) {
    cm.blockComment(Pos(0, 3), Pos(3, 0), {blockCommentLead: " *"});
  }, simpleProg + "\n", "/* function foo() {\n *   return bar;\n * }\n */");

  test("blockToggle", "javascript", function(cm) {
    cm.blockComment(Pos(0, 3), Pos(2, 0), {blockCommentLead: " *"});
    cm.uncomment(Pos(0, 3), Pos(2, 0), {blockCommentLead: " *"});
  }, simpleProg, simpleProg);

  test("blockToggle2", "javascript", function(cm) {
    cm.setCursor({line: 0, ch: 7 /* inside the block comment */});
    cm.execCommand("toggleComment");
  }, inlineBlock, "foo(bar true);");

  // This test should work but currently fails.
  // test("blockToggle3", "javascript", function(cm) {
  //   cm.setCursor({line: 0, ch: 7 /* inside the first block comment */});
  //   cm.execCommand("toggleComment");
  // }, inlineBlocks, "foo(bar true, /* baz */ false);");

  test("line", "javascript", function(cm) {
    cm.lineComment(Pos(1, 1), Pos(1, 1));
  }, simpleProg, "function foo() {\n//   return bar;\n}");

  test("lineToggle", "javascript", function(cm) {
    cm.lineComment(Pos(0, 0), Pos(2, 1));
    cm.uncomment(Pos(0, 0), Pos(2, 1));
  }, simpleProg, simpleProg);

  test("fallbackToBlock", "css", function(cm) {
    cm.lineComment(Pos(0, 0), Pos(2, 1));
  }, "html {\n  border: none;\n}", "/* html {\n  border: none;\n} */");

  test("fallbackToLine", "ruby", function(cm) {
    cm.blockComment(Pos(0, 0), Pos(1));
  }, "def blah()\n  return hah\n", "# def blah()\n#   return hah\n");

  test("ignoreExternalBlockComments", "javascript", function(cm) {
    cm.execCommand("toggleComment");
  }, inlineBlocks, "// " + inlineBlocks);

  test("ignoreExternalBlockComments2", "javascript", function(cm) {
    cm.setCursor({line: 0, ch: null /* eol */});
    cm.execCommand("toggleComment");
  }, inlineBlocks, "// " + inlineBlocks);
后面还有 54 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。