[[
   "start",
  ["keyword","public"],
  ["text"," "],
  ["keyword","class"],
  ["text"," "],
  ["identifier","testBlockDuplicatesLeadTrigger"],
  ["text"," "],
  ["paren.lparen","{"]
],[
   "start",
  ["text","\t"]
],[
   "start",
  ["text","\t"],
  ["keyword","static"],
  ["text"," "],
  ["keyword","testMethod"],
  ["text"," "],
  ["storage.type","void"],
  ["text"," "],
  ["identifier","testDuplicateTrigger"],
  ["paren.lparen","("],
  ["paren.rparen",")"],
  ["paren.lparen","{"],
  ["text","  "]
],[
   "start",
  ["text","\t"]
],[
   "start",
  ["text","\t\t"],
  ["identifier","Lead"],
  ["paren.lparen","["],
  ["paren.rparen","]"],
  ["text"," "],
  ["identifier","l1"],
  ["text"," "],
  ["keyword.operator","="],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Lead"],
  ["paren.lparen","["],
  ["paren.rparen","]"],
  ["paren.lparen","{"]
],[
   "start",
  ["text","\t\t\t"],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Lead"],
  ["paren.lparen","("],
  ["text","  "],
  ["identifier","Email"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","homer@fox.tv"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text"," "],
  ["identifier","LastName"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","Simpson"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text"," "],
  ["identifier","Company"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","fox"],
  ["string.end","'"],
  ["text"," "],
  ["paren.rparen",")"]
],[
   "start",
  ["text","\t\t"],
  ["paren.rparen","}"],
  ["punctuation.operator",";"]
],[
   "start",
  ["text","\t\t"],
  ["keyword","insert"],
  ["text"," "],
  ["identifier","l1"],
  ["punctuation.operator",";"],
  ["text","\t\t"],
  ["comment","// add a known lead"]
],[
   "start",
  ["text","\t\t"]
],[
   "start",
  ["text","\t\t"],
  ["identifier","Lead"],
  ["paren.lparen","["],
  ["paren.rparen","]"],
  ["text"," "],
  ["identifier","l2"],
  ["text"," "],
  ["keyword.operator","="],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Lead"],
  ["paren.lparen","["],
  ["paren.rparen","]"],
  ["paren.lparen","{"]
],[
   "start",
  ["text","\t\t\t"],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Lead"],
  ["paren.lparen","("],
  ["text","  "],
  ["identifier","Email"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","homer@fox.tv"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text"," "],
  ["identifier","LastName"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","Simpson"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text"," "],
  ["identifier","Company"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","fox"],
  ["string.end","'"],
  ["text"," "],
  ["paren.rparen",")"]
],[
   "start",
  ["text","\t\t"],
  ["paren.rparen","}"],
  ["punctuation.operator",";"]
],[
   "start",
  ["text","\t\t"],
  ["comment","// try to add a matching lead"]
],[
   "start",
  ["text","\t\t"],
  ["keyword","try"],
  ["text"," "],
  ["paren.lparen","{"],
  ["text","\t"],
  ["keyword","insert"],
  ["text"," "],
  ["identifier","l2"],
  ["punctuation.operator",";"],
  ["text","\t"],
  ["paren.rparen","}"],
  ["text"," "],
  ["keyword","catch"],
  ["text"," "],
  ["paren.lparen","("],
  ["text"," "],
  ["support.function","System"],
  ["punctuation.operator","."],
  ["identifier","DmlException"],
  ["text"," "],
  ["identifier","e"],
  ["paren.rparen",")"],
  ["text"," "],
  ["paren.lparen","{"],
  ["text"," "]
],[
   "start",
  ["text","\t\t\t"],
  ["support.function","system"],
  ["punctuation.operator","."],
  ["identifier","assert"],
  ["paren.lparen","("],
  ["identifier","e"],
  ["punctuation.operator","."],
  ["identifier","getMessage"],
  ["paren.lparen","("],
  ["paren.rparen",")"],
  ["punctuation.operator","."],
  ["identifier","contains"],
  ["paren.lparen","("],
  ["string.start","'"],
  ["string","first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, A lead with this email address already exists"],
  ["string.end","'"],
  ["paren.rparen",")"],
  ["punctuation.operator",","]
],[
   "start",
  ["text","\t\t\t "],
  ["identifier","e"],
  ["punctuation.operator","."],
  ["identifier","getMessage"],
  ["paren.lparen","("],
  ["paren.rparen",")"],
  ["paren.rparen",")"],
  ["punctuation.operator",";"]
],[
   "start",
  ["text","\t\t"],
  ["paren.rparen","}"]
],[
   "start",
  ["text","\t\t"]
],[
   "start",
  ["text","\t\t"],
  ["comment","// test duplicates in the same batch"]
],[
   "start",
  ["text","\t\t"],
  ["identifier","Lead"],
  ["paren.lparen","["],
  ["paren.rparen","]"],
  ["text"," "],
  ["identifier","l3"],
  ["text"," "],
  ["keyword.operator","="],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Lead"],
  ["paren.lparen","["],
  ["paren.rparen","]"],
  ["paren.lparen","{"]
],[
   "start",
  ["text","\t\t\t"],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Lead"],
  ["paren.lparen","("],
  ["text","  "],
  ["identifier","Email"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","marge@fox.tv"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text"," "],
  ["identifier","LastName"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","Simpson"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text"," "],
  ["identifier","Company"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","fox"],
  ["string.end","'"],
  ["text"," "],
  ["paren.rparen",")"],
  ["punctuation.operator",","]
],[
   "start",
  ["text","\t\t\t"],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Lead"],
  ["paren.lparen","("],
  ["text","  "],
  ["identifier","Email"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","marge@fox.tv"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text"," "],
  ["identifier","LastName"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","Simpson"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text"," "],
  ["identifier","Company"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","fox"],
  ["string.end","'"],
  ["text"," "],
  ["paren.rparen",")"]
],[
   "start",
  ["text","\t\t"],
  ["paren.rparen","}"],
  ["punctuation.operator",";"],
  ["text","\t\t"]
],[
   "start",
  ["text","\t\t"],
  ["keyword","try"],
  ["text"," "],
  ["paren.lparen","{"],
  ["text"," "],
  ["keyword","insert"],
  ["text"," "],
  ["identifier","l3"],
  ["punctuation.operator",";"],
  ["text","\t"],
  ["paren.rparen","}"],
  ["text"," "],
  ["keyword","catch"],
  ["text"," "],
  ["paren.lparen","("],
  ["text"," "],
  ["support.function","System"],
  ["punctuation.operator","."],
  ["identifier","DmlException"],
  ["text"," "],
  ["identifier","e"],
  ["paren.rparen",")"],
  ["text"," "],
  ["paren.lparen","{"],
  ["text"," "]
],[
   "start",
  ["text","\t\t\t"],
  ["support.function","system"],
  ["punctuation.operator","."],
  ["identifier","assert"],
  ["paren.lparen","("],
  ["identifier","e"],
  ["punctuation.operator","."],
  ["identifier","getMessage"],
  ["paren.lparen","("],
  ["paren.rparen",")"],
  ["punctuation.operator","."],
  ["identifier","contains"],
  ["paren.lparen","("],
  ["string.start","'"],
  ["string","first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, Another new lead has the same email"],
  ["string.end","'"],
  ["paren.rparen",")"],
  ["punctuation.operator",","]
],[
   "start",
  ["text","\t\t\t\t"],
  ["identifier","e"],
  ["punctuation.operator","."],
  ["identifier","getMessage"],
  ["paren.lparen","("],
  ["paren.rparen",")"],
  ["paren.rparen",")"],
  ["punctuation.operator",";"]
],[
   "start",
  ["text","\t\t\t"]
],[
   "start",
  ["text","\t\t"],
  ["paren.rparen","}"]
],[
   "start",
  ["text","\t\t"]
],[
   "start",
  ["text","\t\t"],
  ["comment","// test update also"]
],[
   "start",
  ["text","\t\t"],
  ["identifier","Lead"],
  ["paren.lparen","["],
  ["paren.rparen","]"],
  ["text"," "],
  ["identifier","lup"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Lead"],
  ["paren.lparen","["],
  ["paren.rparen","]"],
  ["paren.lparen","{"]
],[
   "start",
  ["text","\t\t\t"],
  ["keyword","new"],
  ["text"," "],
  ["identifier","Lead"],
  ["paren.lparen","("],
  ["text","  "],
  ["identifier","Email"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","marge@fox.tv"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text","  "],
  ["identifier","LastName"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","Simpson"],
  ["string.end","'"],
  ["punctuation.operator",","],
  ["text"," "],
  ["identifier","Company"],
  ["keyword.operator","="],
  ["string.start","'"],
  ["string","fox"],
  ["string.end","'"],
  ["text"," "],
  ["paren.rparen",")"]
],[
   "start",
  ["text","\t\t"],
  ["paren.rparen","}"],
  ["punctuation.operator",";"]
],[
   "start",
  ["text","\t\t"],
  ["keyword","insert"],
  ["text"," "],
  ["identifier","lup"],
  ["punctuation.operator",";"]
],[
   "start",
  ["text","\t\t"],
  ["identifier","Lead"],
  ["text"," "],
  ["identifier","marge"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["paren.lparen","["],
  ["text"," "],
  ["keyword","select"],
  ["text"," id"],
  ["keyword.operator",","],
  ["text","Email "],
  ["keyword","from"],
  ["text"," lead "],
  ["keyword","where"],
  ["text"," Email "],
  ["keyword.operator","="],
  ["text"," "],
  ["string.start","'"],
  ["string","marge@fox.tv"],
  ["string.end","'"],
  ["text"," "],
  ["keyword","limit"],
  ["text"," 1"],
  ["paren.rparen","]"],
  ["punctuation.operator",";"]
],[
   "start",
  ["text","\t\t"],
  ["support.function","system"],
  ["punctuation.operator","."],
  ["identifier","assert"],
  ["paren.lparen","("],
  ["identifier","marge"],
  ["keyword.operator","!="],
  ["constant.language","null"],
  ["paren.rparen",")"],
  ["punctuation.operator",";"]
],[
   "start",
  ["text","\t\t"],
  ["identifier","marge"],
  ["punctuation.operator","."],
  ["identifier","Email"],
  ["text"," "],
  ["keyword.operator","="],
  ["text"," "],
  ["string.start","'"],
  ["string","homer@fox.tv"],
  ["string.end","'"],
  ["punctuation.operator",";"],
  ["text"," "]
],[
   "start",
  ["text","\t\t"]
],[
   "start",
  ["text","\t\t"],
  ["keyword","try"],
  ["text"," "],
  ["paren.lparen","{"],
  ["text"," "],
  ["keyword","update"],
  ["text"," "],
  ["identifier","marge"],
  ["punctuation.operator",";"],
  ["text"," "],
  ["paren.rparen","}"],
  ["text"," "],
  ["keyword","catch"],
  ["text"," "],
  ["paren.lparen","("],
  ["text"," "],
  ["support.function","System"],
  ["punctuation.operator","."],
  ["identifier","DmlException"],
  ["text"," "],
  ["identifier","e"],
  ["paren.rparen",")"],
  ["text"," "],
  ["paren.lparen","{"],
  ["text"," "]
],[
   "start",
  ["text","\t\t\t"],
  ["support.function","system"],
  ["punctuation.operator","."],
  ["identifier","assert"],
  ["paren.lparen","("],
  ["identifier","e"],
  ["punctuation.operator","."],
  ["identifier","getMessage"],
  ["paren.lparen","("],
  ["paren.rparen",")"],
  ["punctuation.operator","."],
  ["identifier","contains"],
  ["paren.lparen","("],
  ["string.start","'"],
  ["string","irst error: FIELD_CUSTOM_VALIDATION_EXCEPTION, A lead with this email address already exists"],
  ["string.end","'"],
  ["paren.rparen",")"],
  ["punctuation.operator",","]
],[
   "start",
  ["text","\t\t\t\t"],
  ["identifier","e"],
  ["punctuation.operator","."],
  ["identifier","getMessage"],
  ["paren.lparen","("],
  ["paren.rparen",")"],
  ["paren.rparen",")"],
  ["punctuation.operator",";"],
  ["text","\t"]
],[
   "start",
  ["text","\t\t"],
  ["paren.rparen","}"]
],[
   "start",
  ["text","\t"],
  ["paren.rparen","}"]
],[
   "start",
  ["paren.rparen","}"]
]]